diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 14:30:51 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 14:30:51 +0000 |
commit | a918f877c38b7a0bc684a2963fba4a4341a243e8 (patch) | |
tree | b58938b92989fa1a75e8e2b0b62c21944d4cd3bb /base | |
parent | be4d55fe8d843628223a7b40162007ab734d1402 (diff) | |
download | chromium_src-a918f877c38b7a0bc684a2963fba4a4341a243e8.zip chromium_src-a918f877c38b7a0bc684a2963fba4a4341a243e8.tar.gz chromium_src-a918f877c38b7a0bc684a2963fba4a4341a243e8.tar.bz2 |
[GTTF] Add FRIEND_TEST_ALL_PREFIXES, a FRIEND_TEST replacement
that works with all test prefixes (DISABLED, FLAKY, FAILS).
TEST=none
BUG=44549
Review URL: http://codereview.chromium.org/2439001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48634 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/base.gypi | 1 | ||||
-rw-r--r-- | base/gtest_prod_util.h | 27 | ||||
-rw-r--r-- | base/pickle.h | 8 | ||||
-rw-r--r-- | base/version.h | 8 |
4 files changed, 36 insertions, 8 deletions
diff --git a/base/base.gypi b/base/base.gypi index 7e38447..ad41e45 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -91,6 +91,7 @@ 'foundation_utils_mac.h', 'global_descriptors_posix.cc', 'global_descriptors_posix.h', + 'gtest_prod_util.h', 'hash_tables.h', 'histogram.cc', 'histogram.h', diff --git a/base/gtest_prod_util.h b/base/gtest_prod_util.h new file mode 100644 index 0000000..0e8e61a --- /dev/null +++ b/base/gtest_prod_util.h @@ -0,0 +1,27 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef BASE_GTEST_PROD_UTIL_H_ +#define BASE_GTEST_PROD_UTIL_H_ + +#include "testing/gtest/include/gtest/gtest_prod.h" + +// This is a wrapper for gtest's FRIEND_TEST macro that friends +// test with all possible prefixes. This is very helpful when changing the test +// prefix, because the friend declarations don't need to be updated. +// +// Example usage: +// +// class MyClass { +// private: +// void MyMethod(); +// FRIEND_TEST_ALL_PREFIXES(MyClassTest, MyMethod); +// }; +#define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name) \ + FRIEND_TEST(test_case_name, test_name); \ + FRIEND_TEST(test_case_name, DISABLED_##test_name); \ + FRIEND_TEST(test_case_name, FLAKY_##test_name); \ + FRIEND_TEST(test_case_name, FAILS_##test_name) + +#endif // BASE_GTEST_PROD_UTIL_H_ diff --git a/base/pickle.h b/base/pickle.h index 3ba60fd..fdfdb2b 100644 --- a/base/pickle.h +++ b/base/pickle.h @@ -8,9 +8,9 @@ #include <string> #include "base/basictypes.h" +#include "base/gtest_prod_util.h" #include "base/logging.h" #include "base/string16.h" -#include "testing/gtest/include/gtest/gtest_prod.h" // This class provides facilities for basic binary value packing and unpacking. // @@ -231,9 +231,9 @@ class Pickle { size_t capacity_; size_t variable_buffer_offset_; // IF non-zero, then offset to a buffer. - FRIEND_TEST(PickleTest, Resize); - FRIEND_TEST(PickleTest, FindNext); - FRIEND_TEST(PickleTest, IteratorHasRoom); + FRIEND_TEST_ALL_PREFIXES(PickleTest, Resize); + FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNext); + FRIEND_TEST_ALL_PREFIXES(PickleTest, IteratorHasRoom); }; #endif // BASE_PICKLE_H__ diff --git a/base/version.h b/base/version.h index 6b0680a..776ebe6 100644 --- a/base/version.h +++ b/base/version.h @@ -9,7 +9,7 @@ #include <vector> #include "base/basictypes.h" -#include "testing/gtest/include/gtest/gtest_prod.h" +#include "base/gtest_prod_util.h" class Version { public: @@ -42,9 +42,9 @@ class Version { bool is_valid_; std::vector<uint16> components_; - FRIEND_TEST(VersionTest, DefaultConstructor); - FRIEND_TEST(VersionTest, GetVersionFromString); - FRIEND_TEST(VersionTest, Compare); + FRIEND_TEST_ALL_PREFIXES(VersionTest, DefaultConstructor); + FRIEND_TEST_ALL_PREFIXES(VersionTest, GetVersionFromString); + FRIEND_TEST_ALL_PREFIXES(VersionTest, Compare); }; #endif // BASE_VERSION_H_ |