[llvm] [orc-rt] Use the Error matchers in OptionParserTest (PR #228701)

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 3 04:58:53 PDT 2026


https://github.com/lhames created https://github.com/llvm/llvm-project/pull/228701

Use the Error matchers introduced in 4c8a437d0487 to clean up error checks in OptionParserTest.

>From 3518985fa6da124afd9a5314e52c3a5b41e96e85 Mon Sep 17 00:00:00 2001
From: Lang Hames <lhames at gmail.com>
Date: Thu, 1 Oct 2026 09:28:44 +1000
Subject: [PATCH] [orc-rt] Use the Error matchers in OptionParserTest

Use the Error matchers introduced in 4c8a437d0487 to clean up error
checks in OptionParserTest.
---
 orc-rt/test/unit/tools/OptionParserTest.cpp | 60 ++++++++++-----------
 1 file changed, 27 insertions(+), 33 deletions(-)

diff --git a/orc-rt/test/unit/tools/OptionParserTest.cpp b/orc-rt/test/unit/tools/OptionParserTest.cpp
index 6a743b6e416af8..65952334712969 100644
--- a/orc-rt/test/unit/tools/OptionParserTest.cpp
+++ b/orc-rt/test/unit/tools/OptionParserTest.cpp
@@ -8,10 +8,12 @@
 
 #include "orc-rt-internal/tools/OptionParser.h"
 #include "orc-rt/support/Error.h"
-#include "llvm/Testing/Support/Error.h"
+
+#include "ErrorMatchers.h"
 #include "gtest/gtest.h"
 
 using namespace orc_rt;
+using namespace orc_rt::test;
 
 class OptionParserTest : public ::testing::Test {
 protected:
@@ -34,43 +36,29 @@ class OptionParserTest : public ::testing::Test {
 TEST_F(OptionParserTest, NoopTest) {
   OptionParser Parser;
   const char *Argv[] = {""};
-  auto Err = Parser.parse(std::begin(Argv), std::end(Argv));
-  EXPECT_FALSE(!!Err);
+  EXPECT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
 }
 
 TEST_F(OptionParserTest, ValueRequired) {
   const char *Argv[] = {"--host"};
-  auto Err = Parser.parse(std::begin(Argv), std::end(Argv));
-  if (!Err) {
-    ADD_FAILURE() << "--host requires a value, shouldn't succeed.";
-  } else {
-    orc_rt::consumeError(std::move(Err));
-  }
+  EXPECT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)), Failed());
 }
 
 TEST_F(OptionParserTest, UnknownOption) {
   const char *Argv[] = {"--unknown=foo"};
-  auto Err = Parser.parse(std::begin(Argv), std::end(Argv));
-  if (!Err) {
-    ADD_FAILURE() << "unknown option, shouldn't succeed.";
-  } else {
-    orc_rt::consumeError(std::move(Err));
-  }
+  EXPECT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)), Failed());
 }
 
 TEST_F(OptionParserTest, InvalidInteger) {
   const char *Argv[] = {"--port=not_a_number"};
-  auto Err = Parser.parse(std::begin(Argv), std::end(Argv));
-  if (!Err) {
-    ADD_FAILURE() << "Invalid integer, shouldn't succeed.";
-  } else {
-    orc_rt::consumeError(std::move(Err));
-  }
+  EXPECT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)), Failed());
 }
 
 TEST_F(OptionParserTest, ParseFullConfiguration) {
   const char *Argv[] = {"--host=example.com", "--port=8080", "--verbose=true"};
-  cantFail(Parser.parse(std::begin(Argv), std::end(Argv)));
+  ASSERT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
   EXPECT_EQ(Host, "example.com");
   EXPECT_EQ(Port, 8080);
   EXPECT_EQ(Verbose, true);
@@ -78,28 +66,32 @@ TEST_F(OptionParserTest, ParseFullConfiguration) {
 
 TEST_F(OptionParserTest, ShortFlagClustering) {
   const char *Argv[] = {"-v?"};
-  cantFail(Parser.parse(std::begin(Argv), std::end(Argv)));
+  ASSERT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
   EXPECT_TRUE(Verbose);
   EXPECT_TRUE(Help);
 }
 
 TEST_F(OptionParserTest, ShortFlagWithValue) {
   const char *Argv[] = {"-p", "1234", "-hlocalhost"};
-  cantFail(Parser.parse(std::begin(Argv), std::end(Argv)));
+  ASSERT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
   EXPECT_EQ(Port, 1234);
   EXPECT_EQ(Host, "localhost");
 }
 
 TEST_F(OptionParserTest, ClusterWithValueAtEnd) {
   const char *Argv[] = {"-vp9999"};
-  cantFail(Parser.parse(std::begin(Argv), std::end(Argv)));
+  ASSERT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
   EXPECT_TRUE(Verbose);
   EXPECT_EQ(Port, 9999);
 }
 
 TEST_F(OptionParserTest, DoubleDashTerminatesOptionParsing) {
   const char *Argv[] = {"-v", "--", "-p", "1234"};
-  cantFail(Parser.parse(std::begin(Argv), std::end(Argv)));
+  ASSERT_THAT_ERROR(Parser.parse(std::begin(Argv), std::end(Argv)),
+                    Succeeded());
 
   EXPECT_TRUE(Verbose);
   EXPECT_EQ(Port, 8080); // Should remain default
@@ -110,13 +102,16 @@ TEST_F(OptionParserTest, DoubleDashTerminatesOptionParsing) {
 
 TEST_F(OptionParserTest, ParseAsMainWithEmptyArgsSucceeds) {
   const char *Argv[] = {"appname"};
-  auto Err = Parser.parseAsMainArgs(std::size(Argv), const_cast<char **>(Argv));
-  EXPECT_FALSE(!!Err);
+  EXPECT_THAT_ERROR(
+      Parser.parseAsMainArgs(std::size(Argv), const_cast<char **>(Argv)),
+      Succeeded());
 }
 
 TEST_F(OptionParserTest, ParseAsMainWithRegularArgsSucceeds) {
   const char *Argv[] = {"appname", "-v", "--", "-p", "1234"};
-  cantFail(Parser.parseAsMainArgs(std::size(Argv), const_cast<char **>(Argv)));
+  ASSERT_THAT_ERROR(
+      Parser.parseAsMainArgs(std::size(Argv), const_cast<char **>(Argv)),
+      Succeeded());
 
   EXPECT_TRUE(Verbose);
   EXPECT_EQ(Port, 8080); // Should remain default
@@ -127,10 +122,9 @@ TEST_F(OptionParserTest, ParseAsMainWithRegularArgsSucceeds) {
 
 TEST_F(OptionParserTest, ParseAsMainWithEmptyListFails) {
   std::vector<char *> Argv;
-  auto Err = Parser.parseAsMainArgs(static_cast<int>(Argv.size()), Argv.data());
-
-  EXPECT_TRUE(!!Err);
-  consumeError(std::move(Err));
+  EXPECT_THAT_ERROR(
+      Parser.parseAsMainArgs(static_cast<int>(Argv.size()), Argv.data()),
+      Failed());
 }
 
 TEST_F(OptionParserTest, PrintHelpAlignmentWithShortFlags) {



More information about the llvm-commits mailing list