GTEST_USE_OWN_FLAGFILE support
This commit is contained in:
parent
e7dbfde8ce
commit
4d69b1607a
|
@ -32,6 +32,8 @@
|
||||||
//
|
//
|
||||||
// Flag related macros:
|
// Flag related macros:
|
||||||
// GTEST_FLAG(flag_name)
|
// GTEST_FLAG(flag_name)
|
||||||
|
// GTEST_USE_OWN_FLAGFILE_FLAG_ - Define to 0 when the system provides its
|
||||||
|
// own flagfile flag parsing.
|
||||||
// GTEST_DECLARE_bool_(name)
|
// GTEST_DECLARE_bool_(name)
|
||||||
// GTEST_DECLARE_int32_(name)
|
// GTEST_DECLARE_int32_(name)
|
||||||
// GTEST_DECLARE_string_(name)
|
// GTEST_DECLARE_string_(name)
|
||||||
|
|
|
@ -2434,6 +2434,10 @@ typedef TypeWithSize<8>::Int TimeInMillis; // Represents time in milliseconds.
|
||||||
# define GTEST_FLAG(name) FLAGS_gtest_##name
|
# define GTEST_FLAG(name) FLAGS_gtest_##name
|
||||||
#endif // !defined(GTEST_FLAG)
|
#endif // !defined(GTEST_FLAG)
|
||||||
|
|
||||||
|
#if !defined(GTEST_USE_OWN_FLAGFILE_FLAG_)
|
||||||
|
# define GTEST_USE_OWN_FLAGFILE_FLAG_ 1
|
||||||
|
#endif // !defined(GTEST_USE_OWN_FLAGFILE_FLAG_)
|
||||||
|
|
||||||
#if !defined(GTEST_DECLARE_bool_)
|
#if !defined(GTEST_DECLARE_bool_)
|
||||||
# define GTEST_FLAG_SAVER_ ::testing::internal::GTestFlagSaver
|
# define GTEST_FLAG_SAVER_ ::testing::internal::GTestFlagSaver
|
||||||
|
|
||||||
|
|
|
@ -296,10 +296,12 @@ GTEST_DEFINE_bool_(
|
||||||
"if exceptions are enabled or exit the program with a non-zero code "
|
"if exceptions are enabled or exit the program with a non-zero code "
|
||||||
"otherwise.");
|
"otherwise.");
|
||||||
|
|
||||||
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
GTEST_DEFINE_string_(
|
GTEST_DEFINE_string_(
|
||||||
flagfile,
|
flagfile,
|
||||||
internal::StringFromGTestEnv("flagfile", ""),
|
internal::StringFromGTestEnv("flagfile", ""),
|
||||||
"This flag specifies the flagfile to read command-line flags from.");
|
"This flag specifies the flagfile to read command-line flags from.");
|
||||||
|
#endif // GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
|
@ -5233,6 +5235,7 @@ bool ParseGoogleTestFlag(const char* const arg) {
|
||||||
>EST_FLAG(throw_on_failure));
|
>EST_FLAG(throw_on_failure));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
void LoadFlagsFromFile(const std::string& path) {
|
void LoadFlagsFromFile(const std::string& path) {
|
||||||
FILE* flagfile = posix::FOpen(path.c_str(), "r");
|
FILE* flagfile = posix::FOpen(path.c_str(), "r");
|
||||||
if (!flagfile) {
|
if (!flagfile) {
|
||||||
|
@ -5253,6 +5256,7 @@ void LoadFlagsFromFile(const std::string& path) {
|
||||||
g_help_flag = true;
|
g_help_flag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
|
|
||||||
// Parses the command line for Google Test flags, without initializing
|
// Parses the command line for Google Test flags, without initializing
|
||||||
// other parts of Google Test. The type parameter CharType can be
|
// other parts of Google Test. The type parameter CharType can be
|
||||||
|
@ -5270,9 +5274,11 @@ void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
|
||||||
bool remove_flag = false;
|
bool remove_flag = false;
|
||||||
if (ParseGoogleTestFlag(arg)) {
|
if (ParseGoogleTestFlag(arg)) {
|
||||||
remove_flag = true;
|
remove_flag = true;
|
||||||
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
} else if (ParseStringFlag(arg, kFlagfileFlag, >EST_FLAG(flagfile))) {
|
} else if (ParseStringFlag(arg, kFlagfileFlag, >EST_FLAG(flagfile))) {
|
||||||
LoadFlagsFromFile(GTEST_FLAG(flagfile));
|
LoadFlagsFromFile(GTEST_FLAG(flagfile));
|
||||||
remove_flag = true;
|
remove_flag = true;
|
||||||
|
#endif // GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
} else if (arg_string == "--help" || arg_string == "-h" ||
|
} else if (arg_string == "--help" || arg_string == "-h" ||
|
||||||
arg_string == "-?" || arg_string == "/?" ||
|
arg_string == "-?" || arg_string == "/?" ||
|
||||||
HasGoogleTestFlagPrefix(arg)) {
|
HasGoogleTestFlagPrefix(arg)) {
|
||||||
|
|
|
@ -6399,6 +6399,7 @@ TEST_F(InitGoogleTestTest, WideStrings) {
|
||||||
}
|
}
|
||||||
# endif // GTEST_OS_WINDOWS
|
# endif // GTEST_OS_WINDOWS
|
||||||
|
|
||||||
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
class FlagfileTest : public InitGoogleTestTest {
|
class FlagfileTest : public InitGoogleTestTest {
|
||||||
public:
|
public:
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
|
@ -6497,6 +6498,7 @@ TEST_F(FlagfileTest, SeveralFlags) {
|
||||||
|
|
||||||
GTEST_TEST_PARSING_FLAGS_(argv, argv2, expected_flags, false);
|
GTEST_TEST_PARSING_FLAGS_(argv, argv2, expected_flags, false);
|
||||||
}
|
}
|
||||||
|
#endif // GTEST_USE_OWN_FLAGFILE_FLAG_
|
||||||
|
|
||||||
// Tests current_test_info() in UnitTest.
|
// Tests current_test_info() in UnitTest.
|
||||||
class CurrentTestInfoTest : public Test {
|
class CurrentTestInfoTest : public Test {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user