Add --gtest_list_tests_flat for script-friendly test listing

Signed-off-by: ameliabarnabyhub <ameliabarnabyhub@users.noreply.github.com>
This commit is contained in:
ameliabarnabyhub 2026-08-12 22:18:07 +08:00
parent d57beba621
commit 3e737a8e8b
1 changed files with 22 additions and 0 deletions

View File

@ -1626,6 +1626,7 @@ class GTestFlagSaverTest : public Test {
GTEST_FLAG_SET(fail_fast, false);
GTEST_FLAG_SET(filter, "");
GTEST_FLAG_SET(list_tests, false);
GTEST_FLAG_SET(list_tests_flat, false);
GTEST_FLAG_SET(output, "");
GTEST_FLAG_SET(brief, false);
GTEST_FLAG_SET(print_time, true);
@ -5574,6 +5575,7 @@ struct Flags {
fail_fast(false),
filter(""),
list_tests(false),
list_tests_flat(false),
output(""),
brief(false),
print_time(true),
@ -5643,6 +5645,14 @@ struct Flags {
return flags;
}
// Creates a Flags struct where the gtest_list_tests_flat flag has the
// given value.
static Flags ListTestsFlat(bool list_tests_flat) {
Flags flags;
flags.list_tests_flat = list_tests_flat;
return flags;
}
// Creates a Flags struct where the gtest_output flag has the given
// value.
static Flags Output(const char* output) {
@ -5733,6 +5743,7 @@ struct Flags {
bool fail_fast;
const char* filter;
bool list_tests;
bool list_tests_flat;
const char* output;
bool brief;
bool print_time;
@ -5757,6 +5768,7 @@ class ParseFlagsTest : public Test {
GTEST_FLAG_SET(fail_fast, false);
GTEST_FLAG_SET(filter, "");
GTEST_FLAG_SET(list_tests, false);
GTEST_FLAG_SET(list_tests_flat, false);
GTEST_FLAG_SET(output, "");
GTEST_FLAG_SET(brief, false);
GTEST_FLAG_SET(print_time, true);
@ -5791,6 +5803,7 @@ class ParseFlagsTest : public Test {
EXPECT_EQ(expected.fail_fast, GTEST_FLAG_GET(fail_fast));
EXPECT_STREQ(expected.filter, GTEST_FLAG_GET(filter).c_str());
EXPECT_EQ(expected.list_tests, GTEST_FLAG_GET(list_tests));
EXPECT_EQ(expected.list_tests_flat, GTEST_FLAG_GET(list_tests_flat));
EXPECT_STREQ(expected.output, GTEST_FLAG_GET(output).c_str());
EXPECT_EQ(expected.brief, GTEST_FLAG_GET(brief));
EXPECT_EQ(expected.print_time, GTEST_FLAG_GET(print_time));
@ -6038,6 +6051,15 @@ TEST_F(ParseFlagsTest, ListTestsFalse_F) {
GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::ListTests(false), false);
}
// Tests having a --gtest_list_tests_flat flag
TEST_F(ParseFlagsTest, ListTestsFlatFlag) {
const char* argv[] = {"foo.exe", "--gtest_list_tests_flat", nullptr};
const char* argv2[] = {"foo.exe", nullptr};
GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::ListTestsFlat(true), false);
}
// Tests parsing --gtest_output=xml
TEST_F(ParseFlagsTest, OutputXml) {
const char* argv[] = {"foo.exe", "--gtest_output=xml", nullptr};