Allow constructing aos::UUID from a span.

Change-Id: Ia676f0051841ffe2cc9441ef8aeed7a8f5bb0a85
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/uuid_test.cc b/aos/uuid_test.cc
index 33ec6ef..74e7935 100644
--- a/aos/uuid_test.cc
+++ b/aos/uuid_test.cc
@@ -25,16 +25,19 @@
 }
 
 // Tests that converting to and from various formats produces the same UUID.
-TEST(UUIDTest, FromString) {
+TEST(UUIDTest, FromStringOrSpan) {
   std::string_view str = "4b88ab00-556a-455b-a395-17d1a0c6f906";
   std::array<uint8_t, UUID::kDataSize> data = {
       0x4b, 0x88, 0xab, 0x00, 0x55, 0x6a, 0x45, 0x5b,
       0xa3, 0x95, 0x17, 0xd1, 0xa0, 0xc6, 0xf9, 0x06};
 
-  const UUID u = UUID::FromString(str);
+  const UUID u_str = UUID::FromString(str);
+  const UUID u_span = UUID::FromSpan({data.data(), data.size()});
 
-  EXPECT_EQ(u.span(), absl::Span<uint8_t>(data.data(), data.size()));
-  EXPECT_EQ(u.ToString(), str);
+  EXPECT_EQ(u_str.span(), absl::Span<uint8_t>(data.data(), data.size()));
+  EXPECT_EQ(u_span.span(), absl::Span<uint8_t>(data.data(), data.size()));
+  EXPECT_EQ(u_str.ToString(), str);
+  EXPECT_EQ(u_span.ToString(), str);
 
   flatbuffers::FlatBufferBuilder fbb;
   flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data_offset =
@@ -45,7 +48,8 @@
 
   const UUID u2 = UUID::FromVector(data_vector);
 
-  EXPECT_EQ(u, u2);
+  EXPECT_EQ(u_str, u2);
+  EXPECT_EQ(u_span, u2);
 }
 
 }  // namespace testing