[llvm] c32f8f3 - [unittests] fix intermittent SupportTests failures
Yuanfang Chen via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 5 18:19:36 PDT 2022
Author: Yuanfang Chen
Date: 2022-04-05T18:19:20-07:00
New Revision: c32f8f34614d89dbe4978b71b6e2a6da17b1b0d4
URL: https://github.com/llvm/llvm-project/commit/c32f8f34614d89dbe4978b71b6e2a6da17b1b0d4
DIFF: https://github.com/llvm/llvm-project/commit/c32f8f34614d89dbe4978b71b6e2a6da17b1b0d4.diff
LOG: [unittests] fix intermittent SupportTests failures
by invoking `SupportTests --gtest_shuffle=1`.
`HideUnrelatedOptions`/`HideUnrelatedOptionsMulti` failed due to other
tests calling `cl::ResetCommandLineParser()` which causes default
options to be removed.
`ExitOnError` would hang due to the threading environment. Renaming it
as `*Deathtest` is the recommended practice by GTest docs.
Added:
Modified:
llvm/unittests/Support/CommandLineTest.cpp
llvm/unittests/Support/ErrorTest.cpp
Removed:
################################################################################
diff --git a/llvm/unittests/Support/CommandLineTest.cpp b/llvm/unittests/Support/CommandLineTest.cpp
index e68761eca3525..dd02d92012652 100644
--- a/llvm/unittests/Support/CommandLineTest.cpp
+++ b/llvm/unittests/Support/CommandLineTest.cpp
@@ -391,7 +391,8 @@ TEST(CommandLineTest, HideUnrelatedOptions) {
StringMap<cl::Option *> &Map =
cl::getRegisteredOptions(*cl::TopLevelSubCommand);
- ASSERT_EQ(cl::NotHidden, Map["help"]->getOptionHiddenFlag())
+ ASSERT_TRUE(Map.count("help") == (size_t)0 ||
+ cl::NotHidden == Map["help"]->getOptionHiddenFlag())
<< "Hid default option that should be visable.";
}
@@ -416,7 +417,8 @@ TEST(CommandLineTest, HideUnrelatedOptionsMulti) {
StringMap<cl::Option *> &Map =
cl::getRegisteredOptions(*cl::TopLevelSubCommand);
- ASSERT_EQ(cl::NotHidden, Map["help"]->getOptionHiddenFlag())
+ ASSERT_TRUE(Map.count("help") == (size_t)0 ||
+ cl::NotHidden == Map["help"]->getOptionHiddenFlag())
<< "Hid default option that should be visable.";
}
diff --git a/llvm/unittests/Support/ErrorTest.cpp b/llvm/unittests/Support/ErrorTest.cpp
index d4daceda2b14a..547566cd09e36 100644
--- a/llvm/unittests/Support/ErrorTest.cpp
+++ b/llvm/unittests/Support/ErrorTest.cpp
@@ -474,7 +474,7 @@ TEST(Error, createStringError) {
}
// Test that the ExitOnError utility works as expected.
-TEST(Error, ExitOnError) {
+TEST(ErrorDeathTest, ExitOnError) {
ExitOnError ExitOnErr;
ExitOnErr.setBanner("Error in tool:");
ExitOnErr.setExitCodeMapper([](const Error &E) {
More information about the llvm-commits
mailing list