Skip to content

Commit

Permalink
Add some more SetupEnvironment failure/skip demos
Browse files Browse the repository at this point in the history
These were used in illustrating the issue discussed in:
google/googletest#2189 .

While here, remove a duplicate "#define" for `GTEST_THREADSAFE` and move
setup_environment_fail_demo.cc to
setup_environment_nonfatal_fail_demo.cc, since I now know that I was
testing for non-fatal failures (which don't cause the test to abort).

Contributed (in part) by @asomers.
  • Loading branch information
ngie-eign committed Mar 30, 2019
1 parent f5d6039 commit 80602c5
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 20 deletions.
6 changes: 4 additions & 2 deletions programming/c++/gtest/Makefile
Expand Up @@ -2,13 +2,15 @@ PROGS+= disabled_demo
PROGS+= expect_nonfatal_failure_demo
PROGS+= fixture_fail_demo
PROGS+= pass_fail_demo
PROGS+= setup_environment_fail_demo
PROGS+= setup_environment_fatal_fail_demo
PROGS+= setup_environment_nonfatal_fail_demo
PROGS+= setup_environment_skip_demo
PROGS+= skip_demo
PROGS+= teardown_environment_fail_demo

CXXFLAGS+= -Werror -W -Wall -Wunused
CXXFLAGS+= -std=c++11
CXXFLAGS+= -DGTEST_HAS_PTHREAD=1 -DGTEST_IS_THREADSAFE=1
CXXFLAGS+= -DGTEST_HAS_PTHREAD=1
CXXFLAGS+= -DGTEST_LINKED_AS_SHARED_LIBRARY=1

ifdef GITDIR
Expand Down
18 changes: 0 additions & 18 deletions programming/c++/gtest/setup_environment_fail_demo.cc

This file was deleted.

24 changes: 24 additions & 0 deletions programming/c++/gtest/setup_environment_fatal_fail_demo.cc
@@ -0,0 +1,24 @@
#include <gtest/gtest.h>

class SetupEnvironment : public testing::Environment {
public:
void SetUp() override {
GTEST_FAIL() << "Calling a fatal failure";
}
};

TEST(Test, AlwaysPasses) {
EXPECT_EQ(true, true);
}

TEST(Test, AlwaysFails) {
EXPECT_EQ(true, false);
}

int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);

testing::AddGlobalTestEnvironment(new SetupEnvironment());

return (RUN_ALL_TESTS());
}
24 changes: 24 additions & 0 deletions programming/c++/gtest/setup_environment_nonfatal_fail_demo.cc
@@ -0,0 +1,24 @@
#include <gtest/gtest.h>

class SetupEnvironment : public ::testing::Environment {
public:
void SetUp() override {
EXPECT_EQ(false, true);
}
};

TEST(Test, AlwaysPasses) {
EXPECT_EQ(true, true);
}

TEST(Test, AlwaysFails) {
EXPECT_EQ(true, false);
}

int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);

testing::AddGlobalTestEnvironment(new SetupEnvironment());

return RUN_ALL_TESTS();
}
24 changes: 24 additions & 0 deletions programming/c++/gtest/setup_environment_skip_demo.cc
@@ -0,0 +1,24 @@
#include <gtest/gtest.h>

class SetupEnvironment : public testing::Environment {
public:
void SetUp() override {
GTEST_SKIP() << "Skipping the entire environment";
}
};

TEST(Test, AlwaysPasses) {
EXPECT_EQ(true, true);
}

TEST(Test, AlwaysFails) {
EXPECT_EQ(true, false);
}

int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);

testing::AddGlobalTestEnvironment(new SetupEnvironment());

return (RUN_ALL_TESTS());
}

0 comments on commit 80602c5

Please sign in to comment.