Home | History | Annotate | Download | only in base
      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