Commit e589a337 by vslashg

Merge pull request #2751 from calumr:quiet-flag

PiperOrigin-RevId: 309958629
parents 1a9c3e44 189299e9
...@@ -2261,6 +2261,12 @@ disable colors, or let googletest decide. When the value is `auto`, googletest ...@@ -2261,6 +2261,12 @@ disable colors, or let googletest decide. When the value is `auto`, googletest
will use colors if and only if the output goes to a terminal and (on non-Windows will use colors if and only if the output goes to a terminal and (on non-Windows
platforms) the `TERM` environment variable is set to `xterm` or `xterm-color`. platforms) the `TERM` environment variable is set to `xterm` or `xterm-color`.
#### Suppressing test passes
By default, googletest prints 1 line of output for each test, indicating if it
passed or failed. To show only test failures, run the test program with
`--gtest_brief=1`, or set the GTEST_BRIEF environment variable to `1`.
#### Suppressing the Elapsed Time #### Suppressing the Elapsed Time
By default, googletest prints the time it takes to run each test. To disable By default, googletest prints the time it takes to run each test. To disable
......
...@@ -121,6 +121,9 @@ GTEST_DECLARE_bool_(list_tests); ...@@ -121,6 +121,9 @@ GTEST_DECLARE_bool_(list_tests);
// in addition to its normal textual output. // in addition to its normal textual output.
GTEST_DECLARE_string_(output); GTEST_DECLARE_string_(output);
// This flags control whether Google Test prints only test failures.
GTEST_DECLARE_bool_(brief);
// This flags control whether Google Test prints the elapsed time for each // This flags control whether Google Test prints the elapsed time for each
// test. // test.
GTEST_DECLARE_bool_(print_time); GTEST_DECLARE_bool_(print_time);
......
...@@ -88,6 +88,7 @@ const char kFailFast[] = "fail_fast"; ...@@ -88,6 +88,7 @@ const char kFailFast[] = "fail_fast";
const char kFilterFlag[] = "filter"; const char kFilterFlag[] = "filter";
const char kListTestsFlag[] = "list_tests"; const char kListTestsFlag[] = "list_tests";
const char kOutputFlag[] = "output"; const char kOutputFlag[] = "output";
const char kBriefFlag[] = "brief";
const char kPrintTimeFlag[] = "print_time"; const char kPrintTimeFlag[] = "print_time";
const char kPrintUTF8Flag[] = "print_utf8"; const char kPrintUTF8Flag[] = "print_utf8";
const char kRandomSeedFlag[] = "random_seed"; const char kRandomSeedFlag[] = "random_seed";
...@@ -170,6 +171,7 @@ class GTestFlagSaver { ...@@ -170,6 +171,7 @@ class GTestFlagSaver {
internal_run_death_test_ = GTEST_FLAG(internal_run_death_test); internal_run_death_test_ = GTEST_FLAG(internal_run_death_test);
list_tests_ = GTEST_FLAG(list_tests); list_tests_ = GTEST_FLAG(list_tests);
output_ = GTEST_FLAG(output); output_ = GTEST_FLAG(output);
brief_ = GTEST_FLAG(brief);
print_time_ = GTEST_FLAG(print_time); print_time_ = GTEST_FLAG(print_time);
print_utf8_ = GTEST_FLAG(print_utf8); print_utf8_ = GTEST_FLAG(print_utf8);
random_seed_ = GTEST_FLAG(random_seed); random_seed_ = GTEST_FLAG(random_seed);
...@@ -193,6 +195,7 @@ class GTestFlagSaver { ...@@ -193,6 +195,7 @@ class GTestFlagSaver {
GTEST_FLAG(internal_run_death_test) = internal_run_death_test_; GTEST_FLAG(internal_run_death_test) = internal_run_death_test_;
GTEST_FLAG(list_tests) = list_tests_; GTEST_FLAG(list_tests) = list_tests_;
GTEST_FLAG(output) = output_; GTEST_FLAG(output) = output_;
GTEST_FLAG(brief) = brief_;
GTEST_FLAG(print_time) = print_time_; GTEST_FLAG(print_time) = print_time_;
GTEST_FLAG(print_utf8) = print_utf8_; GTEST_FLAG(print_utf8) = print_utf8_;
GTEST_FLAG(random_seed) = random_seed_; GTEST_FLAG(random_seed) = random_seed_;
...@@ -216,6 +219,7 @@ class GTestFlagSaver { ...@@ -216,6 +219,7 @@ class GTestFlagSaver {
std::string internal_run_death_test_; std::string internal_run_death_test_;
bool list_tests_; bool list_tests_;
std::string output_; std::string output_;
bool brief_;
bool print_time_; bool print_time_;
bool print_utf8_; bool print_utf8_;
int32_t random_seed_; int32_t random_seed_;
......
...@@ -90,6 +90,7 @@ class GTestEnvVarTest(gtest_test_utils.TestCase): ...@@ -90,6 +90,7 @@ class GTestEnvVarTest(gtest_test_utils.TestCase):
TestFlag('filter', 'FooTest.Bar', '*') TestFlag('filter', 'FooTest.Bar', '*')
SetEnvVar('XML_OUTPUT_FILE', None) # For 'output' test SetEnvVar('XML_OUTPUT_FILE', None) # For 'output' test
TestFlag('output', 'xml:tmp/foo.xml', '') TestFlag('output', 'xml:tmp/foo.xml', '')
TestFlag('brief', '1', '0')
TestFlag('print_time', '0', '1') TestFlag('print_time', '0', '1')
TestFlag('repeat', '999', '1') TestFlag('repeat', '999', '1')
TestFlag('throw_on_failure', '1', '0') TestFlag('throw_on_failure', '1', '0')
......
...@@ -87,6 +87,11 @@ void PrintFlag(const char* flag) { ...@@ -87,6 +87,11 @@ void PrintFlag(const char* flag) {
return; return;
} }
if (strcmp(flag, "brief") == 0) {
cout << GTEST_FLAG(brief);
return;
}
if (strcmp(flag, "print_time") == 0) { if (strcmp(flag, "print_time") == 0) {
cout << GTEST_FLAG(print_time); cout << GTEST_FLAG(print_time);
return; return;
......
...@@ -68,6 +68,7 @@ HELP_REGEX = re.compile( ...@@ -68,6 +68,7 @@ HELP_REGEX = re.compile(
FLAG_PREFIX + r'shuffle.*' + FLAG_PREFIX + r'shuffle.*' +
FLAG_PREFIX + r'random_seed=.*' + FLAG_PREFIX + r'random_seed=.*' +
FLAG_PREFIX + r'color=.*' + FLAG_PREFIX + r'color=.*' +
FLAG_PREFIX + r'brief.*' +
FLAG_PREFIX + r'print_time.*' + FLAG_PREFIX + r'print_time.*' +
FLAG_PREFIX + r'output=.*' + FLAG_PREFIX + r'output=.*' +
FLAG_PREFIX + r'break_on_failure.*' + FLAG_PREFIX + r'break_on_failure.*' +
......
...@@ -45,7 +45,7 @@ TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) { ...@@ -45,7 +45,7 @@ TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) {
testing::GTEST_FLAG(filter) != "unknown" || testing::GTEST_FLAG(filter) != "unknown" ||
testing::GTEST_FLAG(list_tests) || testing::GTEST_FLAG(list_tests) ||
testing::GTEST_FLAG(output) != "unknown" || testing::GTEST_FLAG(output) != "unknown" ||
testing::GTEST_FLAG(print_time) || testing::GTEST_FLAG(brief) || testing::GTEST_FLAG(print_time) ||
testing::GTEST_FLAG(random_seed) || testing::GTEST_FLAG(random_seed) ||
testing::GTEST_FLAG(repeat) > 0 || testing::GTEST_FLAG(repeat) > 0 ||
testing::GTEST_FLAG(show_internal_stack_frames) || testing::GTEST_FLAG(show_internal_stack_frames) ||
...@@ -207,6 +207,7 @@ using testing::GTEST_FLAG(fail_fast); ...@@ -207,6 +207,7 @@ using testing::GTEST_FLAG(fail_fast);
using testing::GTEST_FLAG(filter); using testing::GTEST_FLAG(filter);
using testing::GTEST_FLAG(list_tests); using testing::GTEST_FLAG(list_tests);
using testing::GTEST_FLAG(output); using testing::GTEST_FLAG(output);
using testing::GTEST_FLAG(brief);
using testing::GTEST_FLAG(print_time); using testing::GTEST_FLAG(print_time);
using testing::GTEST_FLAG(random_seed); using testing::GTEST_FLAG(random_seed);
using testing::GTEST_FLAG(repeat); using testing::GTEST_FLAG(repeat);
...@@ -1604,6 +1605,7 @@ class GTestFlagSaverTest : public Test { ...@@ -1604,6 +1605,7 @@ class GTestFlagSaverTest : public Test {
GTEST_FLAG(filter) = ""; GTEST_FLAG(filter) = "";
GTEST_FLAG(list_tests) = false; GTEST_FLAG(list_tests) = false;
GTEST_FLAG(output) = ""; GTEST_FLAG(output) = "";
GTEST_FLAG(brief) = false;
GTEST_FLAG(print_time) = true; GTEST_FLAG(print_time) = true;
GTEST_FLAG(random_seed) = 0; GTEST_FLAG(random_seed) = 0;
GTEST_FLAG(repeat) = 1; GTEST_FLAG(repeat) = 1;
...@@ -1632,6 +1634,7 @@ class GTestFlagSaverTest : public Test { ...@@ -1632,6 +1634,7 @@ class GTestFlagSaverTest : public Test {
EXPECT_STREQ("", GTEST_FLAG(filter).c_str()); EXPECT_STREQ("", GTEST_FLAG(filter).c_str());
EXPECT_FALSE(GTEST_FLAG(list_tests)); EXPECT_FALSE(GTEST_FLAG(list_tests));
EXPECT_STREQ("", GTEST_FLAG(output).c_str()); EXPECT_STREQ("", GTEST_FLAG(output).c_str());
EXPECT_FALSE(GTEST_FLAG(brief));
EXPECT_TRUE(GTEST_FLAG(print_time)); EXPECT_TRUE(GTEST_FLAG(print_time));
EXPECT_EQ(0, GTEST_FLAG(random_seed)); EXPECT_EQ(0, GTEST_FLAG(random_seed));
EXPECT_EQ(1, GTEST_FLAG(repeat)); EXPECT_EQ(1, GTEST_FLAG(repeat));
...@@ -1649,6 +1652,7 @@ class GTestFlagSaverTest : public Test { ...@@ -1649,6 +1652,7 @@ class GTestFlagSaverTest : public Test {
GTEST_FLAG(filter) = "abc"; GTEST_FLAG(filter) = "abc";
GTEST_FLAG(list_tests) = true; GTEST_FLAG(list_tests) = true;
GTEST_FLAG(output) = "xml:foo.xml"; GTEST_FLAG(output) = "xml:foo.xml";
GTEST_FLAG(brief) = true;
GTEST_FLAG(print_time) = false; GTEST_FLAG(print_time) = false;
GTEST_FLAG(random_seed) = 1; GTEST_FLAG(random_seed) = 1;
GTEST_FLAG(repeat) = 100; GTEST_FLAG(repeat) = 100;
...@@ -5509,6 +5513,7 @@ struct Flags { ...@@ -5509,6 +5513,7 @@ struct Flags {
filter(""), filter(""),
list_tests(false), list_tests(false),
output(""), output(""),
brief(false),
print_time(true), print_time(true),
random_seed(0), random_seed(0),
repeat(1), repeat(1),
...@@ -5583,6 +5588,14 @@ struct Flags { ...@@ -5583,6 +5588,14 @@ struct Flags {
return flags; return flags;
} }
// Creates a Flags struct where the gtest_brief flag has the given
// value.
static Flags Brief(bool brief) {
Flags flags;
flags.brief = brief;
return flags;
}
// Creates a Flags struct where the gtest_print_time flag has the given // Creates a Flags struct where the gtest_print_time flag has the given
// value. // value.
static Flags PrintTime(bool print_time) { static Flags PrintTime(bool print_time) {
...@@ -5648,6 +5661,7 @@ struct Flags { ...@@ -5648,6 +5661,7 @@ struct Flags {
const char* filter; const char* filter;
bool list_tests; bool list_tests;
const char* output; const char* output;
bool brief;
bool print_time; bool print_time;
int32_t random_seed; int32_t random_seed;
int32_t repeat; int32_t repeat;
...@@ -5670,6 +5684,7 @@ class ParseFlagsTest : public Test { ...@@ -5670,6 +5684,7 @@ class ParseFlagsTest : public Test {
GTEST_FLAG(filter) = ""; GTEST_FLAG(filter) = "";
GTEST_FLAG(list_tests) = false; GTEST_FLAG(list_tests) = false;
GTEST_FLAG(output) = ""; GTEST_FLAG(output) = "";
GTEST_FLAG(brief) = false;
GTEST_FLAG(print_time) = true; GTEST_FLAG(print_time) = true;
GTEST_FLAG(random_seed) = 0; GTEST_FLAG(random_seed) = 0;
GTEST_FLAG(repeat) = 1; GTEST_FLAG(repeat) = 1;
...@@ -5701,6 +5716,7 @@ class ParseFlagsTest : public Test { ...@@ -5701,6 +5716,7 @@ class ParseFlagsTest : public Test {
EXPECT_STREQ(expected.filter, GTEST_FLAG(filter).c_str()); EXPECT_STREQ(expected.filter, GTEST_FLAG(filter).c_str());
EXPECT_EQ(expected.list_tests, GTEST_FLAG(list_tests)); EXPECT_EQ(expected.list_tests, GTEST_FLAG(list_tests));
EXPECT_STREQ(expected.output, GTEST_FLAG(output).c_str()); EXPECT_STREQ(expected.output, GTEST_FLAG(output).c_str());
EXPECT_EQ(expected.brief, GTEST_FLAG(brief));
EXPECT_EQ(expected.print_time, GTEST_FLAG(print_time)); EXPECT_EQ(expected.print_time, GTEST_FLAG(print_time));
EXPECT_EQ(expected.random_seed, GTEST_FLAG(random_seed)); EXPECT_EQ(expected.random_seed, GTEST_FLAG(random_seed));
EXPECT_EQ(expected.repeat, GTEST_FLAG(repeat)); EXPECT_EQ(expected.repeat, GTEST_FLAG(repeat));
...@@ -5992,6 +6008,33 @@ TEST_F(ParseFlagsTest, OutputXmlDirectory) { ...@@ -5992,6 +6008,33 @@ TEST_F(ParseFlagsTest, OutputXmlDirectory) {
Flags::Output("xml:directory/path/"), false); Flags::Output("xml:directory/path/"), false);
} }
// Tests having a --gtest_brief flag
TEST_F(ParseFlagsTest, BriefFlag) {
const char* argv[] = {"foo.exe", "--gtest_brief", nullptr};
const char* argv2[] = {"foo.exe", nullptr};
GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Brief(true), false);
}
// Tests having a --gtest_brief flag with a "true" value
TEST_F(ParseFlagsTest, BriefFlagTrue) {
const char* argv[] = {"foo.exe", "--gtest_brief=1", nullptr};
const char* argv2[] = {"foo.exe", nullptr};
GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Brief(true), false);
}
// Tests having a --gtest_brief flag with a "false" value
TEST_F(ParseFlagsTest, BriefFlagFalse) {
const char* argv[] = {"foo.exe", "--gtest_brief=0", nullptr};
const char* argv2[] = {"foo.exe", nullptr};
GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Brief(false), false);
}
// Tests having a --gtest_print_time flag // Tests having a --gtest_print_time flag
TEST_F(ParseFlagsTest, PrintTimeFlag) { TEST_F(ParseFlagsTest, PrintTimeFlag) {
const char* argv[] = {"foo.exe", "--gtest_print_time", nullptr}; const char* argv[] = {"foo.exe", "--gtest_print_time", nullptr};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment