xrpld
Loading...
Searching...
No Matches
xrpl::Vault_test Class Reference
Inheritance diagram for xrpl::Vault_test:
Collaboration diagram for xrpl::Vault_test:

Classes

struct  ClosedEndedSetup
struct  StuckDepositorFixture

Public Member Functions

void run () override
 Runs the suite.
template<class = void>
void operator() (Runner &r)
 Invokes the test using the specified runner.
template<class = void>
void pass ()
 Record a successful test condition.
template<class F, class String>
bool except (F &&f, String const &reason)
template<class F>
bool except (F &&f)
template<class E, class F, class String>
bool except (F &&f, String const &reason)
template<class E, class F>
bool except (F &&f)
template<class F, class String>
bool unexcept (F &&f, String const &reason)
template<class F>
bool unexcept (F &&f)
std::string const & arg () const
 Return the argument associated with the runner.
template<class Condition, class String>
bool unexpected (Condition shouldBeFalse, String const &reason)
 DEPRECATED.
template<class Condition>
bool unexpected (Condition shouldBeFalse)
template<class String>
void fail (String const &reason, char const *file, int line)
 Record a failure.
template<class = void>
void fail (std::string const &reason="")
template<class Condition>
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason)
template<class Condition>
bool expect (Condition const &shouldBeTrue, char const *file, int line)
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)

Static Public Member Functions

static SuitethisSuite ()
 Returns the "current" running suite.

Public Attributes

LogOs< char > log
 Logging output stream.
TestcaseT testcase
 Memberspace for declaring test cases.

Protected Member Functions

Runner & runner () const
 Lets a suite compose other suites (e.g.

Private Types

using PrettyAsset = xrpl::test::jtx::PrettyAsset
using PrettyAmount = xrpl::test::jtx::PrettyAmount
using d = NetClock::duration
using tp = NetClock::time_point

Private Member Functions

void closeToTime (test::jtx::Env &env, NetClock::time_point time, std::source_location const &loc=std::source_location::current())
void testSequences ()
void testPreflight ()
void testVaultCreateClosedEnded ()
void testVaultPhaseDerivation ()
void testVaultPhaseDerivationOpenEnded ()
void testVaultDepositClosedEnded ()
void testVaultWithdrawClosedEnded ()
void testVaultClosedEndedLifecycle ()
void testVaultCreateSubscriptionDateBoundary ()
void testVaultLoanLatePaymentAfterInvestment ()
void testVaultClosedEndedMultipleLoans ()
void testVaultClawbackClosedEndedPhases ()
void testCreateFailXRP ()
void testCreateFailIOU ()
void testCreateFailMPT ()
void testNonTransferableShares ()
void testWithMPT ()
void testWithIOU ()
void testWithDomainCheck ()
void testDomainLossAfterAcquisition ()
void testDomainCheckBuyerSideOffer ()
void testWithDomainChecXRP ()
void testFailedPseudoAccount ()
void testScaleIOU ()
void testRPC ()
void testRPCClosedEnded ()
void testVaultClawbackBurnShares ()
void testVaultClawbackAssets ()
void testAssetsMaximum ()
void testVaultEscrowedMPT ()
void testBug6LimitBypassWithShares ()
void testRemoveEmptyHoldingLockedAmount ()
void testRemoveEmptyHoldingConfidentialBalances ()
StuckDepositorFixture setupStuckDepositor (test::jtx::Env &env)
void testWithdrawSoleShareholderFixedAssetExit (FeatureBitset features)
void testWithdrawSoleShareholderFullSharesRejected (FeatureBitset features)
void testWithdrawSoleShareholderLoanRepaymentExit ()
void testWithdrawSoleShareholderCleanVaultUnaffected (FeatureBitset features)
void testWithdrawSoleShareholderPartialFixedSharesUsesFullPrice ()
void testBugMakeDeltaAnteriorScale ()
void testBugMakeDeltaPosteriorScale ()
void testVaultWithdrawCanonicalizeToZero ()
void testVaultWithdrawEqualityEnforced ()
void testVaultDepositCanonicalizeToZero ()
void testBugIssuerVaultDepositAtEdge ()
void testReferenceHolding ()
void testHoldingDeletionBlocked ()
void testVaultDepositNegativeBalanceFromOppositeLimit ()
void testVaultDeleteMemoData ()
void testVaultCreateLEVersion ()
void testVaultDepositFreezeIOU ()
void testVaultDepositFreezeMPT ()
void testVaultSelfWithdrawWhileFrozen ()
void testVaultWithdrawFreezeIOU ()
void testVaultWithdrawFreezeMPT ()
void propagateAbort () const

Static Private Member Functions

static NetClock::duration getLedgerTimeResolution (test::jtx::Env &env)
 Get the current ledger's close time resolution.
static ClosedEndedSetup makeClosedEndedVault (test::jtx::Env &env, test::jtx::Account const &owner, Asset const &asset, std::uint32_t subOffset, std::uint32_t gap)
static Suite ** pThisSuite ()

Private Attributes

FeatureBitset const all_ {test::jtx::testableAmendments()}
std::string const iouCurrency_ {"IOU"}
bool abort_ = false
bool aborted_ = false
Runner * runner_ = nullptr

Static Private Attributes

static constexpr auto kNegativeAmount
static constexpr std::int64_t kStuckFunding = 1'000'000
static constexpr std::int64_t kStuckDepositorIOU = 1'000'000
static constexpr std::int64_t kStuckBorrowerIOU = 100'000
static constexpr std::int64_t kStuckDeposit = 5'000
static constexpr std::int64_t kStuckPrincipal = 3'333
static constexpr std::uint32_t kStuckPayInterval = 600
static constexpr std::uint32_t kStuckPayTotal = 2

Detailed Description

Definition at line 81 of file Vault_test.cpp.

Member Typedef Documentation

◆ PrettyAsset

Definition at line 83 of file Vault_test.cpp.

◆ PrettyAmount

◆ d

Definition at line 118 of file Vault_test.cpp.

◆ tp

Definition at line 119 of file Vault_test.cpp.

Member Function Documentation

◆ getLedgerTimeResolution()

NetClock::duration xrpl::Vault_test::getLedgerTimeResolution ( test::jtx::Env & env)
staticprivate

Get the current ledger's close time resolution.

Parameters
envThe test environment.

Definition at line 95 of file Vault_test.cpp.

◆ closeToTime()

void xrpl::Vault_test::closeToTime ( test::jtx::Env & env,
NetClock::time_point time,
std::source_location const & loc = std::source_location::current() )
private

Definition at line 101 of file Vault_test.cpp.

◆ makeClosedEndedVault()

ClosedEndedSetup xrpl::Vault_test::makeClosedEndedVault ( test::jtx::Env & env,
test::jtx::Account const & owner,
Asset const & asset,
std::uint32_t subOffset,
std::uint32_t gap )
staticprivate

Definition at line 138 of file Vault_test.cpp.

◆ testSequences()

void xrpl::Vault_test::testSequences ( )
private

Definition at line 160 of file Vault_test.cpp.

◆ testPreflight()

void xrpl::Vault_test::testPreflight ( )
private

Definition at line 669 of file Vault_test.cpp.

◆ testVaultCreateClosedEnded()

void xrpl::Vault_test::testVaultCreateClosedEnded ( )
private

Definition at line 1187 of file Vault_test.cpp.

◆ testVaultPhaseDerivation()

void xrpl::Vault_test::testVaultPhaseDerivation ( )
private

Definition at line 1449 of file Vault_test.cpp.

◆ testVaultPhaseDerivationOpenEnded()

void xrpl::Vault_test::testVaultPhaseDerivationOpenEnded ( )
private

Definition at line 1529 of file Vault_test.cpp.

◆ testVaultDepositClosedEnded()

void xrpl::Vault_test::testVaultDepositClosedEnded ( )
private

Definition at line 1567 of file Vault_test.cpp.

◆ testVaultWithdrawClosedEnded()

void xrpl::Vault_test::testVaultWithdrawClosedEnded ( )
private

Definition at line 1609 of file Vault_test.cpp.

◆ testVaultClosedEndedLifecycle()

void xrpl::Vault_test::testVaultClosedEndedLifecycle ( )
private

Definition at line 1687 of file Vault_test.cpp.

◆ testVaultCreateSubscriptionDateBoundary()

void xrpl::Vault_test::testVaultCreateSubscriptionDateBoundary ( )
private

Definition at line 1851 of file Vault_test.cpp.

◆ testVaultLoanLatePaymentAfterInvestment()

void xrpl::Vault_test::testVaultLoanLatePaymentAfterInvestment ( )
private

Definition at line 1911 of file Vault_test.cpp.

◆ testVaultClosedEndedMultipleLoans()

void xrpl::Vault_test::testVaultClosedEndedMultipleLoans ( )
private

Definition at line 1976 of file Vault_test.cpp.

◆ testVaultClawbackClosedEndedPhases()

void xrpl::Vault_test::testVaultClawbackClosedEndedPhases ( )
private

Definition at line 2074 of file Vault_test.cpp.

◆ testCreateFailXRP()

void xrpl::Vault_test::testCreateFailXRP ( )
private

Definition at line 2129 of file Vault_test.cpp.

◆ testCreateFailIOU()

void xrpl::Vault_test::testCreateFailIOU ( )
private

Definition at line 2300 of file Vault_test.cpp.

◆ testCreateFailMPT()

void xrpl::Vault_test::testCreateFailMPT ( )
private

Definition at line 2425 of file Vault_test.cpp.

◆ testNonTransferableShares()

void xrpl::Vault_test::testNonTransferableShares ( )
private

Definition at line 2492 of file Vault_test.cpp.

◆ testWithMPT()

void xrpl::Vault_test::testWithMPT ( )
private

Definition at line 2588 of file Vault_test.cpp.

◆ testWithIOU()

void xrpl::Vault_test::testWithIOU ( )
private

Definition at line 3319 of file Vault_test.cpp.

◆ testWithDomainCheck()

void xrpl::Vault_test::testWithDomainCheck ( )
private

Definition at line 3790 of file Vault_test.cpp.

◆ testDomainLossAfterAcquisition()

void xrpl::Vault_test::testDomainLossAfterAcquisition ( )
private

Definition at line 4038 of file Vault_test.cpp.

◆ testDomainCheckBuyerSideOffer()

void xrpl::Vault_test::testDomainCheckBuyerSideOffer ( )
private

Definition at line 4148 of file Vault_test.cpp.

◆ testWithDomainChecXRP()

void xrpl::Vault_test::testWithDomainChecXRP ( )
private

Definition at line 4224 of file Vault_test.cpp.

◆ testFailedPseudoAccount()

void xrpl::Vault_test::testFailedPseudoAccount ( )
private

Definition at line 4322 of file Vault_test.cpp.

◆ testScaleIOU()

void xrpl::Vault_test::testScaleIOU ( )
private

Definition at line 4349 of file Vault_test.cpp.

◆ testRPC()

void xrpl::Vault_test::testRPC ( )
private

Definition at line 5199 of file Vault_test.cpp.

◆ testRPCClosedEnded()

void xrpl::Vault_test::testRPCClosedEnded ( )
private

Definition at line 5614 of file Vault_test.cpp.

◆ testVaultClawbackBurnShares()

void xrpl::Vault_test::testVaultClawbackBurnShares ( )
private

Definition at line 5696 of file Vault_test.cpp.

◆ testVaultClawbackAssets()

void xrpl::Vault_test::testVaultClawbackAssets ( )
private

Definition at line 5957 of file Vault_test.cpp.

◆ testAssetsMaximum()

void xrpl::Vault_test::testAssetsMaximum ( )
private

Definition at line 6526 of file Vault_test.cpp.

◆ testVaultEscrowedMPT()

void xrpl::Vault_test::testVaultEscrowedMPT ( )
private

Definition at line 6841 of file Vault_test.cpp.

◆ testBug6LimitBypassWithShares()

void xrpl::Vault_test::testBug6LimitBypassWithShares ( )
private

Definition at line 7077 of file Vault_test.cpp.

◆ testRemoveEmptyHoldingLockedAmount()

void xrpl::Vault_test::testRemoveEmptyHoldingLockedAmount ( )
private

Definition at line 7171 of file Vault_test.cpp.

◆ testRemoveEmptyHoldingConfidentialBalances()

void xrpl::Vault_test::testRemoveEmptyHoldingConfidentialBalances ( )
private

Definition at line 7269 of file Vault_test.cpp.

◆ setupStuckDepositor()

StuckDepositorFixture xrpl::Vault_test::setupStuckDepositor ( test::jtx::Env & env)
nodiscardprivate

Definition at line 7346 of file Vault_test.cpp.

◆ testWithdrawSoleShareholderFixedAssetExit()

void xrpl::Vault_test::testWithdrawSoleShareholderFixedAssetExit ( FeatureBitset features)
private

Definition at line 7474 of file Vault_test.cpp.

◆ testWithdrawSoleShareholderFullSharesRejected()

void xrpl::Vault_test::testWithdrawSoleShareholderFullSharesRejected ( FeatureBitset features)
private

Definition at line 7593 of file Vault_test.cpp.

◆ testWithdrawSoleShareholderLoanRepaymentExit()

void xrpl::Vault_test::testWithdrawSoleShareholderLoanRepaymentExit ( )
private

Definition at line 7650 of file Vault_test.cpp.

◆ testWithdrawSoleShareholderCleanVaultUnaffected()

void xrpl::Vault_test::testWithdrawSoleShareholderCleanVaultUnaffected ( FeatureBitset features)
private

Definition at line 7748 of file Vault_test.cpp.

◆ testWithdrawSoleShareholderPartialFixedSharesUsesFullPrice()

void xrpl::Vault_test::testWithdrawSoleShareholderPartialFixedSharesUsesFullPrice ( )
private

Definition at line 7831 of file Vault_test.cpp.

◆ testBugMakeDeltaAnteriorScale()

void xrpl::Vault_test::testBugMakeDeltaAnteriorScale ( )
private

Definition at line 7925 of file Vault_test.cpp.

◆ testBugMakeDeltaPosteriorScale()

void xrpl::Vault_test::testBugMakeDeltaPosteriorScale ( )
private

Definition at line 8002 of file Vault_test.cpp.

◆ testVaultWithdrawCanonicalizeToZero()

void xrpl::Vault_test::testVaultWithdrawCanonicalizeToZero ( )
private

Definition at line 8077 of file Vault_test.cpp.

◆ testVaultWithdrawEqualityEnforced()

void xrpl::Vault_test::testVaultWithdrawEqualityEnforced ( )
private

Definition at line 8185 of file Vault_test.cpp.

◆ testVaultDepositCanonicalizeToZero()

void xrpl::Vault_test::testVaultDepositCanonicalizeToZero ( )
private

Definition at line 8270 of file Vault_test.cpp.

◆ testBugIssuerVaultDepositAtEdge()

void xrpl::Vault_test::testBugIssuerVaultDepositAtEdge ( )
private

Definition at line 8345 of file Vault_test.cpp.

◆ testReferenceHolding()

void xrpl::Vault_test::testReferenceHolding ( )
private

Definition at line 8401 of file Vault_test.cpp.

◆ testHoldingDeletionBlocked()

void xrpl::Vault_test::testHoldingDeletionBlocked ( )
private

Definition at line 8550 of file Vault_test.cpp.

◆ testVaultDepositNegativeBalanceFromOppositeLimit()

void xrpl::Vault_test::testVaultDepositNegativeBalanceFromOppositeLimit ( )
private

Definition at line 8811 of file Vault_test.cpp.

◆ testVaultDeleteMemoData()

void xrpl::Vault_test::testVaultDeleteMemoData ( )
private

Definition at line 8880 of file Vault_test.cpp.

◆ testVaultCreateLEVersion()

void xrpl::Vault_test::testVaultCreateLEVersion ( )
private

Definition at line 8948 of file Vault_test.cpp.

◆ testVaultDepositFreezeIOU()

void xrpl::Vault_test::testVaultDepositFreezeIOU ( )
private

Definition at line 9025 of file Vault_test.cpp.

◆ testVaultDepositFreezeMPT()

void xrpl::Vault_test::testVaultDepositFreezeMPT ( )
private

Definition at line 9159 of file Vault_test.cpp.

◆ testVaultSelfWithdrawWhileFrozen()

void xrpl::Vault_test::testVaultSelfWithdrawWhileFrozen ( )
private

Definition at line 9258 of file Vault_test.cpp.

◆ testVaultWithdrawFreezeIOU()

void xrpl::Vault_test::testVaultWithdrawFreezeIOU ( )
private

Definition at line 9322 of file Vault_test.cpp.

◆ testVaultWithdrawFreezeMPT()

void xrpl::Vault_test::testVaultWithdrawFreezeMPT ( )
private

Definition at line 9514 of file Vault_test.cpp.

◆ run()

void xrpl::Vault_test::run ( )
overridevirtual

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 9669 of file Vault_test.cpp.

◆ thisSuite()

Suite * beast::unit_test::Suite::thisSuite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 162 of file suite.h.

◆ operator()()

template<class>
void beast::unit_test::Suite::operator() ( Runner & r)
inherited

Invokes the test using the specified runner.

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

Definition at line 420 of file suite.h.

◆ pass()

template<class>
void beast::unit_test::Suite::pass ( )
inherited

Record a successful test condition.

Definition at line 532 of file suite.h.

◆ fail() [1/2]

template<class String>
void beast::unit_test::Suite::fail ( String const & reason,
char const * file,
int line )
inherited

Record a failure.

Parameters
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.

Definition at line 554 of file suite.h.

◆ fail() [2/2]

template<class>
void beast::unit_test::Suite::fail ( std::string const & reason = "")
inherited

Definition at line 541 of file suite.h.

◆ expect() [1/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue)
inherited

Evaluate a test condition.

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

Parameters
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
Returns
true if the test condition indicates success.

Definition at line 235 of file suite.h.

◆ expect() [2/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason )
inherited

Definition at line 437 of file suite.h.

◆ expect() [3/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
char const * file,
int line )
inherited

Definition at line 246 of file suite.h.

◆ expect() [4/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason,
char const * file,
int line )
inherited

Definition at line 450 of file suite.h.

◆ except() [1/4]

template<class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 465 of file suite.h.

◆ except() [2/4]

template<class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 265 of file suite.h.

◆ except() [3/4]

template<class E, class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 482 of file suite.h.

◆ except() [4/4]

template<class E, class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 274 of file suite.h.

◆ unexcept() [1/2]

template<class F, class String>
bool beast::unit_test::Suite::unexcept ( F && f,
String const & reason )
inherited

Definition at line 499 of file suite.h.

◆ unexcept() [2/2]

template<class F>
bool beast::unit_test::Suite::unexcept ( F && f)
inherited

Definition at line 283 of file suite.h.

◆ arg()

std::string const & beast::unit_test::Suite::arg ( ) const
inherited

Return the argument associated with the runner.

Definition at line 292 of file suite.h.

◆ runner()

Runner & beast::unit_test::Suite::runner ( ) const
protectedinherited

Lets a suite compose other suites (e.g.

an aggregator that reruns a group of related suites under its own name) via SuiteInfo::run.

Returns
The runner this suite is executing under.

Definition at line 305 of file suite.h.

◆ unexpected() [1/2]

template<class Condition, class String>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse,
String const & reason )
inherited

DEPRECATED.

Returns
true if the test condition indicates success(a false value)

Definition at line 516 of file suite.h.

◆ unexpected() [2/2]

template<class Condition>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse)
inherited

Definition at line 321 of file suite.h.

◆ pThisSuite()

Suite ** beast::unit_test::Suite::pThisSuite ( )
staticprivateinherited

Definition at line 330 of file suite.h.

◆ propagateAbort()

void beast::unit_test::Suite::propagateAbort ( ) const
privateinherited

Definition at line 560 of file suite.h.

Member Data Documentation

◆ kNegativeAmount

auto xrpl::Vault_test::kNegativeAmount
staticconstexprprivate
Initial value:
= [](PrettyAsset const& asset) -> PrettyAmount {
return {STAmount{asset.raw(), 1ul, 0, true, STAmount::Unchecked{}}, ""};
}
xrpl::test::jtx::PrettyAmount PrettyAmount
xrpl::test::jtx::PrettyAsset PrettyAsset

Definition at line 86 of file Vault_test.cpp.

◆ all_

FeatureBitset const xrpl::Vault_test::all_ {test::jtx::testableAmendments()}
private

Definition at line 7315 of file Vault_test.cpp.

◆ iouCurrency_

std::string const xrpl::Vault_test::iouCurrency_ {"IOU"}
private

Definition at line 7316 of file Vault_test.cpp.

◆ kStuckFunding

std::int64_t xrpl::Vault_test::kStuckFunding = 1'000'000
staticconstexprprivate

Definition at line 7337 of file Vault_test.cpp.

◆ kStuckDepositorIOU

std::int64_t xrpl::Vault_test::kStuckDepositorIOU = 1'000'000
staticconstexprprivate

Definition at line 7338 of file Vault_test.cpp.

◆ kStuckBorrowerIOU

std::int64_t xrpl::Vault_test::kStuckBorrowerIOU = 100'000
staticconstexprprivate

Definition at line 7339 of file Vault_test.cpp.

◆ kStuckDeposit

std::int64_t xrpl::Vault_test::kStuckDeposit = 5'000
staticconstexprprivate

Definition at line 7340 of file Vault_test.cpp.

◆ kStuckPrincipal

std::int64_t xrpl::Vault_test::kStuckPrincipal = 3'333
staticconstexprprivate

Definition at line 7341 of file Vault_test.cpp.

◆ kStuckPayInterval

std::uint32_t xrpl::Vault_test::kStuckPayInterval = 600
staticconstexprprivate

Definition at line 7342 of file Vault_test.cpp.

◆ kStuckPayTotal

std::uint32_t xrpl::Vault_test::kStuckPayTotal = 2
staticconstexprprivate

Definition at line 7343 of file Vault_test.cpp.

◆ abort_

bool beast::unit_test::Suite::abort_ = false
privateinherited

Definition at line 54 of file suite.h.

◆ aborted_

bool beast::unit_test::Suite::aborted_ = false
privateinherited

Definition at line 55 of file suite.h.

◆ runner_

Runner* beast::unit_test::Suite::runner_ = nullptr
privateinherited

Definition at line 56 of file suite.h.

◆ log

LogOs<char> beast::unit_test::Suite::log
inherited

Logging output stream.

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

Definition at line 150 of file suite.h.

◆ testcase

TestcaseT beast::unit_test::Suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 155 of file suite.h.