aboutsummaryrefslogtreecommitdiff
path: root/googletest/test/gtest_repeat_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'googletest/test/gtest_repeat_test.cc')
-rw-r--r--googletest/test/gtest_repeat_test.cc69
1 files changed, 29 insertions, 40 deletions
diff --git a/googletest/test/gtest_repeat_test.cc b/googletest/test/gtest_repeat_test.cc
index 7da4a15e..f67b7886 100644
--- a/googletest/test/gtest_repeat_test.cc
+++ b/googletest/test/gtest_repeat_test.cc
@@ -27,44 +27,32 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
// Tests the --gtest_repeat=number flag.
#include <stdlib.h>
+
#include <iostream>
+
#include "gtest/gtest.h"
#include "src/gtest-internal-inl.h"
-namespace testing {
-
-GTEST_DECLARE_string_(death_test_style);
-GTEST_DECLARE_string_(filter);
-GTEST_DECLARE_int32_(repeat);
-
-} // namespace testing
-
-using testing::GTEST_FLAG(death_test_style);
-using testing::GTEST_FLAG(filter);
-using testing::GTEST_FLAG(repeat);
-
namespace {
// We need this when we are testing Google Test itself and therefore
// cannot use Google Test assertions.
-#define GTEST_CHECK_INT_EQ_(expected, actual) \
- do {\
- const int expected_val = (expected);\
- const int actual_val = (actual);\
- if (::testing::internal::IsTrue(expected_val != actual_val)) {\
- ::std::cout << "Value of: " #actual "\n"\
- << " Actual: " << actual_val << "\n"\
- << "Expected: " #expected "\n"\
- << "Which is: " << expected_val << "\n";\
- ::testing::internal::posix::Abort();\
- }\
+#define GTEST_CHECK_INT_EQ_(expected, actual) \
+ do { \
+ const int expected_val = (expected); \
+ const int actual_val = (actual); \
+ if (::testing::internal::IsTrue(expected_val != actual_val)) { \
+ ::std::cout << "Value of: " #actual "\n" \
+ << " Actual: " << actual_val << "\n" \
+ << "Expected: " #expected "\n" \
+ << "Which is: " << expected_val << "\n"; \
+ ::testing::internal::posix::Abort(); \
+ } \
} while (::testing::internal::AlwaysFalse())
-
// Used for verifying that global environment set-up and tear-down are
// inside the --gtest_repeat loop.
@@ -73,7 +61,7 @@ int g_environment_tear_down_count = 0;
class MyEnvironment : public testing::Environment {
public:
- MyEnvironment() {}
+ MyEnvironment() = default;
void SetUp() override { g_environment_set_up_count++; }
void TearDown() override { g_environment_tear_down_count++; }
};
@@ -91,9 +79,7 @@ TEST(FooTest, ShouldFail) {
int g_should_pass_count = 0;
-TEST(FooTest, ShouldPass) {
- g_should_pass_count++;
-}
+TEST(FooTest, ShouldPass) { g_should_pass_count++; }
// A test that contains a thread-safe death test and a fast death
// test. It should pass.
@@ -103,10 +89,10 @@ int g_death_test_count = 0;
TEST(BarDeathTest, ThreadSafeAndFast) {
g_death_test_count++;
- GTEST_FLAG(death_test_style) = "threadsafe";
+ GTEST_FLAG_SET(death_test_style, "threadsafe");
EXPECT_DEATH_IF_SUPPORTED(::testing::internal::posix::Abort(), "");
- GTEST_FLAG(death_test_style) = "fast";
+ GTEST_FLAG_SET(death_test_style, "fast");
EXPECT_DEATH_IF_SUPPORTED(::testing::internal::posix::Abort(), "");
}
@@ -120,8 +106,7 @@ TEST_P(MyParamTest, ShouldPass) {
GTEST_CHECK_INT_EQ_(g_param_test_count % kNumberOfParamTests, GetParam());
g_param_test_count++;
}
-INSTANTIATE_TEST_SUITE_P(MyParamSequence,
- MyParamTest,
+INSTANTIATE_TEST_SUITE_P(MyParamSequence, MyParamTest,
testing::Range(0, kNumberOfParamTests));
// Resets the count for each test.
@@ -153,7 +138,8 @@ void TestRepeatUnspecified() {
// Tests the behavior of Google Test when --gtest_repeat has the given value.
void TestRepeat(int repeat) {
- GTEST_FLAG(repeat) = repeat;
+ GTEST_FLAG_SET(repeat, repeat);
+ GTEST_FLAG_SET(recreate_environments_when_repeating, true);
ResetCounts();
GTEST_CHECK_INT_EQ_(repeat > 0 ? 1 : 0, RUN_ALL_TESTS());
@@ -163,8 +149,9 @@ void TestRepeat(int repeat) {
// Tests using --gtest_repeat when --gtest_filter specifies an empty
// set of tests.
void TestRepeatWithEmptyFilter(int repeat) {
- GTEST_FLAG(repeat) = repeat;
- GTEST_FLAG(filter) = "None";
+ GTEST_FLAG_SET(repeat, repeat);
+ GTEST_FLAG_SET(recreate_environments_when_repeating, true);
+ GTEST_FLAG_SET(filter, "None");
ResetCounts();
GTEST_CHECK_INT_EQ_(0, RUN_ALL_TESTS());
@@ -174,8 +161,9 @@ void TestRepeatWithEmptyFilter(int repeat) {
// Tests using --gtest_repeat when --gtest_filter specifies a set of
// successful tests.
void TestRepeatWithFilterForSuccessfulTests(int repeat) {
- GTEST_FLAG(repeat) = repeat;
- GTEST_FLAG(filter) = "*-*ShouldFail";
+ GTEST_FLAG_SET(repeat, repeat);
+ GTEST_FLAG_SET(recreate_environments_when_repeating, true);
+ GTEST_FLAG_SET(filter, "*-*ShouldFail");
ResetCounts();
GTEST_CHECK_INT_EQ_(0, RUN_ALL_TESTS());
@@ -190,8 +178,9 @@ void TestRepeatWithFilterForSuccessfulTests(int repeat) {
// Tests using --gtest_repeat when --gtest_filter specifies a set of
// failed tests.
void TestRepeatWithFilterForFailedTests(int repeat) {
- GTEST_FLAG(repeat) = repeat;
- GTEST_FLAG(filter) = "*ShouldFail";
+ GTEST_FLAG_SET(repeat, repeat);
+ GTEST_FLAG_SET(recreate_environments_when_repeating, true);
+ GTEST_FLAG_SET(filter, "*ShouldFail");
ResetCounts();
GTEST_CHECK_INT_EQ_(1, RUN_ALL_TESTS());