[llvm] [orc-rt] Use the Error matchers in SimpleNativeMemoryMapSPSCITest (PR #228796)
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 3 18:09:47 PDT 2026
https://github.com/lhames created https://github.com/llvm/llvm-project/pull/228796
Use the Error matchers introduced in 4c8a437d0487 to clean up error tests SimpleNativeMemoryMapSPSCITest.
>From 61ee0009b6fba80ecd2c67edb0c28a7a36c8f0e1 Mon Sep 17 00:00:00 2001
From: Lang Hames <lhames at gmail.com>
Date: Thu, 1 Oct 2026 16:20:54 +1000
Subject: [PATCH] [orc-rt] Use the Error matchers in
SimpleNativeMemoryMapSPSCITest
Use the Error matchers introduced in 4c8a437d0487 to clean up error
tests SimpleNativeMemoryMapSPSCITest.
---
.../sps/SimpleNativeMemoryMapSPSCITest.cpp | 52 ++++++++++++++-----
1 file changed, 39 insertions(+), 13 deletions(-)
diff --git a/orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp b/orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
index 1c792e7485cc3..afe4d3638a3a5 100644
--- a/orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
+++ b/orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
@@ -21,6 +21,7 @@
#include "BedrockTestUtils.h"
#include "CommonTestUtils.h"
#include "DirectCaller.h"
+#include "ErrorMatchers.h"
#include "gtest/gtest.h"
using namespace orc_rt;
@@ -119,7 +120,9 @@ class SimpleNativeMemoryMapSPSCITest : public ::testing::Test {
void SetUp() override {
S = std::make_unique<Session>(mockExecutorProcessInfo(), noDispatch,
noErrors);
- SNMM = cantFail(SimpleNativeMemoryMap::Create(*S, CI));
+ auto SNMMOrErr = SimpleNativeMemoryMap::Create(*S, CI);
+ ASSERT_THAT_EXPECTED(SNMMOrErr, Succeeded());
+ SNMM = std::move(*SNMMOrErr);
}
void TearDown() override {
@@ -183,17 +186,25 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, Registration) {
TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveAndRelease) {
std::future<Expected<Expected<void *>>> ReserveAddr;
spsReserve(waitFor(ReserveAddr), 1024 * 1024 * 1024);
- auto *Addr = cantFail(cantFail(ReserveAddr.get()));
+ auto AddrOrErr = ReserveAddr.get();
+ ASSERT_THAT_EXPECTED(AddrOrErr, Succeeded());
+ ASSERT_THAT_EXPECTED(*AddrOrErr, Succeeded());
+ void *Addr = **AddrOrErr;
std::future<Expected<Error>> ReleaseResult;
spsReleaseMultiple(waitFor(ReleaseResult), {&Addr, 1});
- cantFail(cantFail(ReleaseResult.get()));
+ auto ReleaseErr = ReleaseResult.get();
+ ASSERT_THAT_EXPECTED(ReleaseErr, Succeeded());
+ ASSERT_THAT_ERROR(std::move(*ReleaseErr), Succeeded());
}
TEST_F(SimpleNativeMemoryMapSPSCITest, FullPipelineForOneRWSegment) {
std::future<Expected<Expected<void *>>> ReserveAddr;
spsReserve(waitFor(ReserveAddr), 1024 * 1024 * 1024);
- void *Addr = cantFail(cantFail(ReserveAddr.get()));
+ auto AddrOrErr = ReserveAddr.get();
+ ASSERT_THAT_EXPECTED(AddrOrErr, Succeeded());
+ ASSERT_THAT_EXPECTED(*AddrOrErr, Succeeded());
+ void *Addr = **AddrOrErr;
std::future<Expected<Expected<void *>>> InitializeKey;
TestSNMMInitializeRequest IR;
@@ -232,7 +243,10 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, FullPipelineForOneRWSegment) {
{}});
spsInitialize(waitFor(InitializeKey), std::move(IR));
- void *InitializeKeyAddr = cantFail(cantFail(InitializeKey.get()));
+ auto InitializeKeyAddrOrErr = InitializeKey.get();
+ ASSERT_THAT_EXPECTED(InitializeKeyAddrOrErr, Succeeded());
+ ASSERT_THAT_EXPECTED(*InitializeKeyAddrOrErr, Succeeded());
+ void *InitializeKeyAddr = **InitializeKeyAddrOrErr;
EXPECT_EQ(SentinelValue1, 42U);
EXPECT_EQ(SentinelValue2, 0U);
@@ -240,7 +254,9 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, FullPipelineForOneRWSegment) {
std::future<Expected<Error>> DeallocResult;
spsDeinitializeMultiple(waitFor(DeallocResult), {&InitializeKeyAddr, 1});
- cantFail(cantFail(DeallocResult.get()));
+ auto DeallocErr = DeallocResult.get();
+ ASSERT_THAT_EXPECTED(DeallocErr, Succeeded());
+ ASSERT_THAT_ERROR(std::move(*DeallocErr), Succeeded());
EXPECT_EQ(SentinelValue1, 42U);
EXPECT_EQ(SentinelValue2, 42U);
@@ -248,17 +264,21 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, FullPipelineForOneRWSegment) {
std::future<Expected<Error>> ReleaseResult;
spsReleaseMultiple(waitFor(ReleaseResult), {&Addr, 1});
- cantFail(cantFail(ReleaseResult.get()));
+ auto ReleaseErr = ReleaseResult.get();
+ ASSERT_THAT_EXPECTED(ReleaseErr, Succeeded());
+ ASSERT_THAT_ERROR(std::move(*ReleaseErr), Succeeded());
}
TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveInitializeShutdown) {
std::future<Expected<Expected<void *>>> ReserveAddr;
spsReserve(waitFor(ReserveAddr), 1024 * 1024 * 1024);
- void *Addr = cantFail(cantFail(ReserveAddr.get()));
+ auto Addr = ReserveAddr.get();
+ ASSERT_THAT_EXPECTED(Addr, Succeeded());
+ ASSERT_THAT_EXPECTED(*Addr, Succeeded());
std::future<Expected<Expected<void *>>> InitializeKey;
TestSNMMInitializeRequest IR;
- char *InitializeBase = reinterpret_cast<char *>(Addr) + 64 * 1024;
+ char *InitializeBase = reinterpret_cast<char *>(**Addr) + 64 * 1024;
uint64_t SentinelValue = 0;
IR.Segments.push_back(
@@ -272,7 +292,9 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveInitializeShutdown) {
read_value_sps_allocaction, ExecutorAddr::fromPtr(&SentinelValue),
ExecutorAddr::fromPtr(InitializeBase))});
spsInitialize(waitFor(InitializeKey), std::move(IR));
- cantFail(cantFail(InitializeKey.get()));
+ auto InitializeKeyAddrOrErr = InitializeKey.get();
+ ASSERT_THAT_EXPECTED(InitializeKeyAddrOrErr, Succeeded());
+ ASSERT_THAT_EXPECTED(*InitializeKeyAddrOrErr, Succeeded());
EXPECT_EQ(SentinelValue, 0U);
@@ -287,11 +309,13 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveInitializeShutdown) {
TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveInitializeDetachShutdown) {
std::future<Expected<Expected<void *>>> ReserveAddr;
spsReserve(waitFor(ReserveAddr), 1024 * 1024 * 1024);
- void *Addr = cantFail(cantFail(ReserveAddr.get()));
+ auto Addr = ReserveAddr.get();
+ ASSERT_THAT_EXPECTED(Addr, Succeeded());
+ ASSERT_THAT_EXPECTED(*Addr, Succeeded());
std::future<Expected<Expected<void *>>> InitializeKey;
TestSNMMInitializeRequest IR;
- char *InitializeBase = reinterpret_cast<char *>(Addr) + 64 * 1024;
+ char *InitializeBase = reinterpret_cast<char *>(**Addr) + 64 * 1024;
uint64_t SentinelValue = 0;
IR.Segments.push_back(
@@ -305,7 +329,9 @@ TEST_F(SimpleNativeMemoryMapSPSCITest, ReserveInitializeDetachShutdown) {
read_value_sps_allocaction, ExecutorAddr::fromPtr(&SentinelValue),
ExecutorAddr::fromPtr(InitializeBase))});
spsInitialize(waitFor(InitializeKey), std::move(IR));
- cantFail(cantFail(InitializeKey.get()));
+ auto InitializeKeyAddrOrErr = InitializeKey.get();
+ ASSERT_THAT_EXPECTED(InitializeKeyAddrOrErr, Succeeded());
+ ASSERT_THAT_EXPECTED(*InitializeKeyAddrOrErr, Succeeded());
EXPECT_EQ(SentinelValue, 0U);
More information about the llvm-commits
mailing list