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