Index: base/metrics/field_trial_unittest.cc |
diff --git a/base/metrics/field_trial_unittest.cc b/base/metrics/field_trial_unittest.cc |
index 54672e63d5266893cde3f1457557d05cc97e59c9..4ca5c1103a88da897c8ada39fc521d4e39aad020 100644 |
--- a/base/metrics/field_trial_unittest.cc |
+++ b/base/metrics/field_trial_unittest.cc |
@@ -1369,4 +1369,23 @@ TEST(FieldTrialListTest, DumpAndFetchFromSharedMemory) { |
EXPECT_EQ("value2", shm_params["key2"]); |
} |
+#if !defined(OS_NACL) |
+TEST(FieldTrialListTest, SerializeSharedMemoryHandleMetadata) { |
+ std::unique_ptr<base::SharedMemory> shm(new SharedMemory()); |
+ shm->CreateAndMapAnonymous(4 << 10); |
+ |
+ std::string serialized = |
+ FieldTrialList::SerializeSharedMemoryHandleMetadata(shm->handle()); |
+#if defined(OS_WIN) |
+ SharedMemoryHandle deserialized = |
+ FieldTrialList::DeserializeSharedMemoryHandleMetadata(serialized); |
+#else |
+ SharedMemoryHandle deserialized = |
+ FieldTrialList::DeserializeSharedMemoryHandleMetadata(-1, serialized); |
+#endif |
+ EXPECT_EQ(deserialized.GetGUID(), shm->handle().GetGUID()); |
+ EXPECT_FALSE(deserialized.GetGUID().is_empty()); |
+} |
+#endif // !defined(OS_NACL) |
+ |
} // namespace base |