• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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