diff options
author | Benjamin Barenblat <bbaren@google.com> | 2022-07-12 21:47:19 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2022-07-12 21:47:19 -0400 |
commit | d055841ab4147dac20d5c46d04ca3a2fb13748b7 (patch) | |
tree | 15a01389c86f10a8844ff2a86bddf46640d065e8 /absl/flags/internal/usage_test.cc | |
parent | 2d23a3e16abfcf8f22ba850d67e972cc77e98874 (diff) | |
parent | 273292d1cfc0a94a65082ee350509af1d113344d (diff) | |
download | abseil-d055841ab4147dac20d5c46d04ca3a2fb13748b7.tar.gz abseil-d055841ab4147dac20d5c46d04ca3a2fb13748b7.tar.bz2 abseil-d055841ab4147dac20d5c46d04ca3a2fb13748b7.zip |
Merge new upstream LTS 20220623.0
Diffstat (limited to 'absl/flags/internal/usage_test.cc')
-rw-r--r-- | absl/flags/internal/usage_test.cc | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/absl/flags/internal/usage_test.cc b/absl/flags/internal/usage_test.cc index b5c2487d..209a7be9 100644 --- a/absl/flags/internal/usage_test.cc +++ b/absl/flags/internal/usage_test.cc @@ -20,6 +20,7 @@ #include <sstream> #include <string> +#include "gmock/gmock.h" #include "gtest/gtest.h" #include "absl/flags/flag.h" #include "absl/flags/internal/parse.h" @@ -45,9 +46,12 @@ static const char kTestUsageMessage[] = "Custom usage message"; struct UDT { UDT() = default; UDT(const UDT&) = default; + UDT& operator=(const UDT&) = default; }; -bool AbslParseFlag(absl::string_view, UDT*, std::string*) { return true; } -std::string AbslUnparseFlag(const UDT&) { return "UDT{}"; } +static bool AbslParseFlag(absl::string_view, UDT*, std::string*) { + return true; +} +static std::string AbslUnparseFlag(const UDT&) { return "UDT{}"; } ABSL_FLAG(UDT, usage_reporting_test_flag_05, {}, "usage_reporting_test_flag_05 help message"); @@ -102,14 +106,19 @@ class UsageReportingTest : public testing::Test { using UsageReportingDeathTest = UsageReportingTest; TEST_F(UsageReportingDeathTest, TestSetProgramUsageMessage) { +#if !defined(GTEST_HAS_ABSL) || !GTEST_HAS_ABSL + // Check for kTestUsageMessage set in main() below. EXPECT_EQ(absl::ProgramUsageMessage(), kTestUsageMessage); +#else + // Check for part of the usage message set by GoogleTest. + EXPECT_THAT(absl::ProgramUsageMessage(), + ::testing::HasSubstr( + "This program contains tests written using Google Test")); +#endif -#ifndef _WIN32 - // TODO(rogeeff): figure out why this does not work on Windows. EXPECT_DEATH_IF_SUPPORTED( absl::SetProgramUsageMessage("custom usage message"), - ".*SetProgramUsageMessage\\(\\) called twice.*"); -#endif + ::testing::HasSubstr("SetProgramUsageMessage() called twice")); } // -------------------------------------------------------------------- @@ -486,8 +495,10 @@ path. int main(int argc, char* argv[]) { (void)absl::GetFlag(FLAGS_undefok); // Force linking of parse.cc flags::SetProgramInvocationName("usage_test"); +#if !defined(GTEST_HAS_ABSL) || !GTEST_HAS_ABSL + // GoogleTest calls absl::SetProgramUsageMessage() already. absl::SetProgramUsageMessage(kTestUsageMessage); +#endif ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); } |