about summary refs log tree commit diff
path: root/absl/flags/usage_config_test.cc
diff options
context:
space:
mode:
authorPavel Samolysov <samolisov@gmail.com>2020-03-09T18·37+0300
committerGitHub <noreply@github.com>2020-03-09T18·37-0400
commit238b9a59c874f8271ce781d9d05d81eb61728132 (patch)
tree4a8b07228b32fb96a70738112db6f8adff7cbe81 /absl/flags/usage_config_test.cc
parent417ea99cbac80c85be9f52c8b482f15d47bee93e (diff)
Skip the .exe suffix in the helpshort filter on Windows (#629)
On Windows, the `flags_internal::ShortProgramInvocationName()`
function usually returns the program name with '.exe' (if the
extension is present in the command line during the program startup).
This fact breaks the checks in the `ContainsHelpshortFlags` filter:
obviously, module names have no .exe in them. Therefore, no defined flags
are shown when the program runs with the --help flag. The program name
should be used in filter without this extension even though it is present.

The unit test has also been updated.

Signed-off-by: Pavel Samolysov <samolisov@gmail.com>
Diffstat (limited to '')
-rw-r--r--absl/flags/usage_config_test.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/absl/flags/usage_config_test.cc b/absl/flags/usage_config_test.cc
index 70eca30b8fa2..e57a8832f645 100644
--- a/absl/flags/usage_config_test.cc
+++ b/absl/flags/usage_config_test.cc
@@ -84,7 +84,11 @@ TEST_F(FlagsUsageConfigTest, TestGetSetFlagsUsageConfig) {
 // --------------------------------------------------------------------
 
 TEST_F(FlagsUsageConfigTest, TestContainsHelpshortFlags) {
+#if defined(_WIN32)
+  flags::SetProgramInvocationName("usage_config_test.exe");
+#else
   flags::SetProgramInvocationName("usage_config_test");
+#endif
 
   auto config = flags::GetUsageConfig();
   EXPECT_TRUE(config.contains_helpshort_flags("adir/cd/usage_config_test.cc"));