1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_GTEST_PROD_UTIL_H_ 6 #define BASE_GTEST_PROD_UTIL_H_ 7 #pragma once 8 9 #include "testing/gtest/include/gtest/gtest_prod.h" 10 11 // This is a wrapper for gtest's FRIEND_TEST macro that friends 12 // test with all possible prefixes. This is very helpful when changing the test 13 // prefix, because the friend declarations don't need to be updated. 14 // 15 // Example usage: 16 // 17 // class MyClass { 18 // private: 19 // void MyMethod(); 20 // FRIEND_TEST_ALL_PREFIXES(MyClassTest, MyMethod); 21 // }; 22 #define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name) \ 23 FRIEND_TEST(test_case_name, test_name); \ 24 FRIEND_TEST(test_case_name, DISABLED_##test_name); \ 25 FRIEND_TEST(test_case_name, FLAKY_##test_name); \ 26 FRIEND_TEST(test_case_name, FAILS_##test_name) 27 28 #endif // BASE_GTEST_PROD_UTIL_H_ 29