mirror of
https://github.com/XRPLF/clio.git
synced 2025-12-02 09:35:55 +00:00
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
#include "util/MockAssert.hpp"
|
||||
#include "util/MockOperation.hpp"
|
||||
#include "util/async/AnyOperation.hpp"
|
||||
#include "util/async/Error.hpp"
|
||||
@@ -32,7 +33,7 @@
|
||||
using namespace util::async;
|
||||
using namespace ::testing;
|
||||
|
||||
struct AnyOperationTests : Test {
|
||||
struct AnyOperationTests : virtual Test {
|
||||
using OperationType = MockOperation<std::expected<std::any, ExecutionError>>;
|
||||
using StoppableOperationType = MockStoppableOperation<std::expected<std::any, ExecutionError>>;
|
||||
using ScheduledOperationType = MockScheduledOperation<std::expected<std::any, ExecutionError>>;
|
||||
@@ -49,7 +50,6 @@ struct AnyOperationTests : Test {
|
||||
AnyOperation<void> scheduledVoidOp{impl::ErasedOperation(static_cast<ScheduledOperationType&>(mockScheduledOp))};
|
||||
AnyOperation<void> repeatingOp{impl::ErasedOperation(static_cast<RepeatingOperationType&>(mockRepeatingOp))};
|
||||
};
|
||||
using AnyOperationDeathTest = AnyOperationTests;
|
||||
|
||||
TEST_F(AnyOperationTests, Move)
|
||||
{
|
||||
@@ -134,12 +134,14 @@ TEST_F(AnyOperationTests, RepeatingOpInvokeCallPropagated)
|
||||
repeatingOp.invoke();
|
||||
}
|
||||
|
||||
TEST_F(AnyOperationDeathTest, CallAbortOnNonStoppableOrCancellableOperation)
|
||||
struct AnyOperationAssertTest : common::util::WithMockAssert, AnyOperationTests {};
|
||||
|
||||
TEST_F(AnyOperationAssertTest, CallAbortOnNonStoppableOrCancellableOperation)
|
||||
{
|
||||
EXPECT_DEATH(voidOp.abort(), ".*");
|
||||
EXPECT_CLIO_ASSERT_FAIL(voidOp.abort());
|
||||
}
|
||||
|
||||
TEST_F(AnyOperationDeathTest, CallInvokeOnNonForceInvocableOperation)
|
||||
TEST_F(AnyOperationAssertTest, CallInvokeOnNonForceInvocableOperation)
|
||||
{
|
||||
EXPECT_DEATH(voidOp.invoke(), ".*");
|
||||
EXPECT_CLIO_ASSERT_FAIL(voidOp.invoke());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user