Removed Common
Change-Id: I01ea8f07220375c2ad9bc0092281d4f27c642303
diff --git a/aos/gtest_prod.h b/aos/gtest_prod.h
new file mode 100644
index 0000000..3050ae7
--- /dev/null
+++ b/aos/gtest_prod.h
@@ -0,0 +1,39 @@
+#ifndef AOS_GTEST_PROD_H_
+#define AOS_GTEST_PROD_H_
+
+// These macros replace gtest's FRIEND_TEST if the test is in a different
+// namespace than the code that needs to make it a friend.
+// Example:
+// foo.h:
+// namespace bla {
+// namespace testing {
+//
+// FORWARD_DECLARE_TEST_CASE(FooTest, Bar);
+//
+// } // namespace testing
+//
+// class Foo {
+// FRIEND_TEST_NAMESPACE(FooTest, Bar, testing);
+// };
+//
+// } // namespace bla
+// foo_test.cc:
+// namespace bla {
+// namespace testing {
+//
+// TEST(FooTest, Bar) {
+// access private members of Foo
+// }
+//
+// } // namespace testing
+// } // namespace bla
+#define FORWARD_DECLARE_TEST_CASE(test_case_name, test_name) \
+ class test_case_name##_##test_name##_Test;
+#define FRIEND_TEST_NAMESPACE(test_case_name, test_name, namespace_name) \
+ friend class namespace_name::test_case_name##_##test_name##_Test
+
+// Copied from googletest's gtest_prod.h. See that file for documentation.
+#define FRIEND_TEST(test_case_name, test_name) \
+ friend class test_case_name##_##test_name##_Test
+
+#endif // AOS_GTEST_PROD_H_