diff --git a/src/tests/libxrpl/tx/wasm/FloatFixture.h b/src/tests/libxrpl/tx/wasm/FloatFixture.h index 5744cb53f4..d643f7f39a 100644 --- a/src/tests/libxrpl/tx/wasm/FloatFixture.h +++ b/src/tests/libxrpl/tx/wasm/FloatFixture.h @@ -7,16 +7,16 @@ #include #include -#include +#include namespace xrpl::test { -struct FloatTest : WasmImplTest +struct FloatTest : RealHostFixture { static constexpr std::int64_t kMin64 = std::numeric_limits::min(); static constexpr std::int64_t kMax64 = std::numeric_limits::max(); static constexpr std::int32_t kNormalExp = 18; - static inline std::string const kInvalidData = "invalid_data"; + static constexpr std::string_view const kInvalidData = "invalid_data"; // clang-format off static inline Bytes const kIntMin = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}; // -2^63 (rounds to -(2^63-1)) diff --git a/src/tests/libxrpl/tx/wasm/NFTFixture.cpp b/src/tests/libxrpl/tx/wasm/NFTFixture.cpp new file mode 100644 index 0000000000..0bf1ea023c --- /dev/null +++ b/src/tests/libxrpl/tx/wasm/NFTFixture.cpp @@ -0,0 +1,52 @@ +#include + +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: keep +#include + +#include +#include + +#include +#include + +namespace xrpl::test { + +uint256 +NFTTest::makeNftId(AccountID const& issuer) +{ + return NFTokenMint::createNFTokenID(kFlags, kFee, issuer, nft::toTaxon(kTaxon), kSequence); +} + +uint256 +NFTTest::mintNFT(Account const& issuer, std::optional uri) +{ + auto builder = transactions::NFTokenMintBuilder{issuer.id(), 0u}; + if (uri) + builder.setURI(Slice{uri->data(), uri->size()}); + auto const r = ledger.submit(builder, issuer); + EXPECT_EQ(r.ter, tesSUCCESS) << transToken(r.ter); + ledger.close(); + + // The single minted token lives in the owner's first NFTokenPage. + auto const& view = ledger.getOpenLedger(); + auto const first = keylet::nftokenPageMin(issuer.id()).key; + auto const last = keylet::nftokenPageMax(issuer.id()).key; + auto const pageKey = view.succ(first, last.next()); + EXPECT_TRUE(pageKey.has_value()); + auto const page = pageKey ? view.read(Keylet{ltNFTOKEN_PAGE, *pageKey}) : nullptr; + EXPECT_NE(page, nullptr); + if (!page) + return uint256{}; + auto const& tokens = page->getFieldArray(sfNFTokens); + EXPECT_FALSE(tokens.empty()); + return tokens.empty() ? uint256{} : tokens[0].getFieldH256(sfNFTokenID); +} + +} // namespace xrpl::test diff --git a/src/tests/libxrpl/tx/wasm/NFTFixture.h b/src/tests/libxrpl/tx/wasm/NFTFixture.h index 950a477340..559787ada4 100644 --- a/src/tests/libxrpl/tx/wasm/NFTFixture.h +++ b/src/tests/libxrpl/tx/wasm/NFTFixture.h @@ -1,21 +1,10 @@ #pragma once -#include #include #include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include -#include #include #include @@ -24,7 +13,7 @@ namespace xrpl::test { -struct NFTTest : WasmImplTest +struct NFTTest : RealHostFixture { static constexpr std::uint16_t kFlags = nft::kFlagTransferable | nft::kFlagBurnable; static constexpr std::uint16_t kFee = 314; @@ -32,38 +21,13 @@ struct NFTTest : WasmImplTest static constexpr std::uint32_t kSequence = 7; static uint256 - makeNftId(AccountID const& issuer) - { - return NFTokenMint::createNFTokenID(kFlags, kFee, issuer, nft::toTaxon(kTaxon), kSequence); - } + makeNftId(AccountID const& issuer); // Mint a real NFToken owned by `issuer` (taxon 0) and return its id, read back from the // owner's NFTokenPage. TxTest applies to the open ledger, which produces no metadata, so // the id is recovered from ledger state rather than from the mint's metadata. uint256 - mintNFT(Account const& issuer, std::optional uri = std::nullopt) - { - auto builder = transactions::NFTokenMintBuilder{issuer.id(), 0u}; - if (uri) - builder.setURI(Slice{uri->data(), uri->size()}); - auto const r = ledger.submit(builder, issuer); - EXPECT_EQ(r.ter, tesSUCCESS) << transToken(r.ter); - ledger.close(); - - // The single minted token lives in the owner's first NFTokenPage. - auto const& view = ledger.getOpenLedger(); - auto const first = keylet::nftokenPageMin(issuer.id()).key; - auto const last = keylet::nftokenPageMax(issuer.id()).key; - auto const pageKey = view.succ(first, last.next()); - EXPECT_TRUE(pageKey.has_value()); - auto const page = pageKey ? view.read(Keylet{ltNFTOKEN_PAGE, *pageKey}) : nullptr; - EXPECT_NE(page, nullptr); - if (!page) - return uint256{}; - auto const& tokens = page->getFieldArray(sfNFTokens); - EXPECT_FALSE(tokens.empty()); - return tokens.empty() ? uint256{} : tokens[0].getFieldH256(sfNFTokenID); - } + mintNFT(Account const& issuer, std::optional uri = std::nullopt); }; } // namespace xrpl::test diff --git a/src/tests/libxrpl/tx/wasm/RealHostFixture.cpp b/src/tests/libxrpl/tx/wasm/RealHostFixture.cpp new file mode 100644 index 0000000000..bde2a23bdf --- /dev/null +++ b/src/tests/libxrpl/tx/wasm/RealHostFixture.cpp @@ -0,0 +1,297 @@ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: keep +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xrpl::test { + +Bytes +toBytes(std::uint8_t value) +{ + return {value}; +} + +Bytes +toBytes(std::uint16_t value) +{ + return {static_cast(value), static_cast(value >> 8)}; +} + +Bytes +toBytes(std::uint32_t value) +{ + return { + static_cast(value), + static_cast(value >> 8), + static_cast(value >> 16), + static_cast(value >> 24)}; +} + +Bytes +toBytes(uint256 const& value) +{ + return Bytes{std::begin(value), std::end(value)}; +} + +Bytes +toBytes(std::string_view value) +{ + return Bytes{std::begin(value), std::end(value)}; +} + +Bytes +toBytes(std::span value) +{ + return Bytes{std::begin(value), std::end(value)}; +} + +Bytes +toBytes(AccountID const& account) +{ + return Bytes{std::begin(account), std::end(account)}; +} + +Bytes +toBytes(Issue const& issue) +{ + auto s = Serializer{}; + s.addBitString(issue.currency); + if (!isXRP(issue.currency)) + s.addBitString(issue.account); + return s.getData(); +} + +Bytes +toBytes(Asset const& asset) +{ + if (asset.holds()) + return toBytes(asset.get()); + + auto const& mptIssue = asset.get(); + auto const& mptID = mptIssue.getMptID(); + return Bytes{mptID.cbegin(), mptID.cend()}; +} + +Bytes +toBytes(STAmount const& amount) +{ + auto msg = Serializer{}; + amount.add(msg); + return msg.getData(); +} + +Bytes +toBytes(STNumber const& number) +{ + auto msg = Serializer{}; + number.add(msg); + return msg.getData(); +} + +void +expectKeyletMatches(std::expected const& result, Keylet const& expected) +{ + expectValue(result, toBytes(expected.key)); +} + +SignedMessage +signMessage(std::string_view message, KeyType keyType) +{ + auto const [pk, sk] = randomKeyPair(keyType); + auto const msg = Bytes{std::begin(message), std::end(message)}; + auto const sig = sign(pk, sk, Slice{msg.data(), msg.size()}); + return { + .message = msg, + .signature = Bytes{sig.data(), sig.data() + sig.size()}, + .publicKey = Bytes{pk.data(), pk.data() + pk.size()}}; +} + +uint256 +credentialId(std::string_view hex) +{ + auto id = uint256{}; + EXPECT_TRUE(id.parseHex(std::string{hex})); + return id; +} + +STObject +makeMemo(Bytes const& data) +{ + auto memo = STObject::makeInnerObject(sfMemo); + memo.setFieldVL(sfMemoData, data); + return memo; +} + +TxAssembler +bareTx(TxType type) +{ + return {.type = type, .build = [](STObject&) {}}; +} + +TxAssembler +escrowFinishTx(TxTest& ledger, Account const& acct) +{ + return {.type = ttESCROW_FINISH, .build = [&ledger, acct](STObject& obj) { + auto credId = uint256{}; + EXPECT_TRUE(credId.parseHex( + "0011223344556677889900112233445566778899001122334455667788990011")); + + obj.setAccountID(sfAccount, acct.id()); + obj.setAccountID(sfOwner, acct.id()); + obj.setFieldU32(sfOfferSequence, ledger.getAccountRoot(acct.id()).getSequence()); + obj.setFieldArray(sfMemos, STArray{}); + auto credIds = STVector256{}; + credIds.pushBack(credId); + obj.setFieldV256(sfCredentialIDs, credIds); + }}; +} + +TxAssembler +ammDepositTx(Account const& acct, Asset const& asset1, Asset const& asset2) +{ + return {.type = ttAMM_DEPOSIT, .build = [acct, asset1, asset2](STObject& obj) { + obj.setAccountID(sfAccount, acct.id()); + obj.setFieldIssue(sfAsset, STIssue{sfAsset, asset1}); + obj.setFieldIssue(sfAsset2, STIssue{sfAsset2, asset2}); + }}; +} + +TxAssembler +mptIssuanceCreateTx(Account const& acct, std::uint8_t scale) +{ + return {.type = ttMPTOKEN_ISSUANCE_CREATE, .build = [acct, scale](STObject& obj) { + obj.setAccountID(sfAccount, acct.id()); + obj.setFieldU8(sfAssetScale, scale); + }}; +} + +WasmHost::WasmHost( + std::shared_ptr tx, + std::unique_ptr context, + std::unique_ptr host) + : tx_{std::move(tx)}, context_{std::move(context)}, host_{std::move(host)} +{ +} + +WasmHostFunctionsImpl* +WasmHost::operator->() const +{ + return host_.get(); +} + +WasmHostFunctionsImpl& +WasmHost::operator*() const +{ + return *host_; +} + +Account +RealHostFixture::fund(char const* name, XRPAmount amount) +{ + auto const account = Account{name}; + ledger.createAccount(account, amount); + return account; +} + +WasmHost +RealHostFixture::makeHost( + beast::Journal journal, + Keylet const& leKey, + TxType txType, + std::function assembler) +{ + auto tx = std::make_shared( + txType, [assembler = std::move(assembler)](STObject& obj) { assembler(obj); }); + auto context = std::make_unique( + ledger.getServiceRegistry(), + ledger.getOpenLedger(), + *tx, + tesSUCCESS, + ledger.getOpenLedger().fees().base, + TapNone, + journal); + auto host = std::make_unique(*context, leKey); + return WasmHost{std::move(tx), std::move(context), std::move(host)}; +} + +WasmHost +RealHostFixture::makeHost( + Keylet const& leKey, + TxType txType, + std::function assembler) +{ + return makeHost( + beast::Journal{beast::Journal::getNullSink()}, leKey, txType, std::move(assembler)); +} + +WasmHost +RealHostFixture::makeTracingHost( + Keylet const& leKey, + TxType txType, + std::function assembler) +{ + return makeHost(beast::Journal{traceSink_}, leKey, txType, std::move(assembler)); +} + +std::string +RealHostFixture::logged() const +{ + return traceSink_.messages(); +} + +void +RealHostFixture::makeSignerList( + Account const& owner, + std::uint32_t quorum, + std::vector> const& signers) +{ + auto entries = STArray{}; + for (auto const& [signer, weight] : signers) + { + auto entry = STObject::makeInnerObject(sfSignerEntry); + entry.setAccountID(sfAccount, signer.id()); + entry.setFieldU16(sfSignerWeight, weight); + entries.push_back(std::move(entry)); + } + auto const r = ledger.submit( + transactions::SignerListSetBuilder{owner.id(), quorum}.setSignerEntries(entries), owner); + EXPECT_EQ(r.ter, tesSUCCESS) << transToken(r.ter); + ledger.close(); +} + +} // namespace xrpl::test diff --git a/src/tests/libxrpl/tx/wasm/RealHostFixture.h b/src/tests/libxrpl/tx/wasm/RealHostFixture.h index 68f35a2b53..c533a69619 100644 --- a/src/tests/libxrpl/tx/wasm/RealHostFixture.h +++ b/src/tests/libxrpl/tx/wasm/RealHostFixture.h @@ -1,30 +1,20 @@ #pragma once -#include #include #include -#include // TapNone #include #include -#include #include // keylet::account #include #include #include -#include #include #include -#include #include #include #include -#include -#include -#include #include -#include #include -#include #include #include #include @@ -47,88 +37,28 @@ namespace xrpl::test { -inline Bytes -toBytes(std::uint8_t value) -{ - return {value}; -} - -inline Bytes -toBytes(std::uint16_t value) -{ - return {static_cast(value), static_cast(value >> 8)}; -} - -inline Bytes -toBytes(std::uint32_t value) -{ - return { - static_cast(value), - static_cast(value >> 8), - static_cast(value >> 16), - static_cast(value >> 24)}; -} - -inline Bytes -toBytes(uint256 const& value) -{ - return Bytes{std::begin(value), std::end(value)}; -} - -inline Bytes -toBytes(std::string_view value) -{ - return Bytes{std::begin(value), std::end(value)}; -} - -inline Bytes -toBytes(std::span value) -{ - return Bytes{std::begin(value), std::end(value)}; -} - -inline Bytes -toBytes(AccountID const& account) -{ - return Bytes{std::begin(account), std::end(account)}; -} - -inline Bytes -toBytes(Issue const& issue) -{ - auto s = Serializer{}; - s.addBitString(issue.currency); - if (!isXRP(issue.currency)) - s.addBitString(issue.account); - return s.getData(); -} - -inline Bytes -toBytes(Asset const& asset) -{ - if (asset.holds()) - return toBytes(asset.get()); - - auto const& mptIssue = asset.get(); - auto const& mptID = mptIssue.getMptID(); - return Bytes{mptID.cbegin(), mptID.cend()}; -} - -inline Bytes -toBytes(STAmount const& amount) -{ - auto msg = Serializer{}; - amount.add(msg); - return msg.getData(); -} - -inline Bytes -toBytes(STNumber const& number) -{ - auto msg = Serializer{}; - number.add(msg); - return msg.getData(); -} +Bytes +toBytes(std::uint8_t value); +Bytes +toBytes(std::uint16_t value); +Bytes +toBytes(std::uint32_t value); +Bytes +toBytes(uint256 const& value); +Bytes +toBytes(std::string_view value); +Bytes +toBytes(std::span value); +Bytes +toBytes(AccountID const& account); +Bytes +toBytes(Issue const& issue); +Bytes +toBytes(Asset const& asset); +Bytes +toBytes(STAmount const& amount); +Bytes +toBytes(STNumber const& number); template void @@ -155,11 +85,8 @@ expectError( EXPECT_EQ(result.error(), expected); } -inline void -expectKeyletMatches(std::expected const& result, Keylet const& expected) -{ - expectValue(result, toBytes(expected.key)); -} +void +expectKeyletMatches(std::expected const& result, Keylet const& expected); struct SignedMessage { @@ -168,34 +95,15 @@ struct SignedMessage Bytes publicKey; }; -inline SignedMessage -signMessage(std::string_view message, KeyType keyType = KeyType::Secp256k1) -{ - auto const [pk, sk] = randomKeyPair(keyType); - auto const msg = Bytes{std::begin(message), std::end(message)}; - auto const sig = sign(pk, sk, Slice{msg.data(), msg.size()}); - return { - .message = msg, - .signature = Bytes{sig.data(), sig.data() + sig.size()}, - .publicKey = Bytes{pk.data(), pk.data() + pk.size()}}; -} +SignedMessage +signMessage(std::string_view message, KeyType keyType = KeyType::Secp256k1); -inline uint256 +uint256 credentialId( - std::string_view hex = "0011223344556677889900112233445566778899001122334455667788990011") -{ - auto id = uint256{}; - EXPECT_TRUE(id.parseHex(std::string{hex})); - return id; -} + std::string_view hex = "0011223344556677889900112233445566778899001122334455667788990011"); -inline STObject -makeMemo(Bytes const& data) -{ - auto memo = STObject::makeInnerObject(sfMemo); - memo.setFieldVL(sfMemoData, data); - return memo; -} +STObject +makeMemo(Bytes const& data); struct TxAssembler { @@ -203,48 +111,14 @@ struct TxAssembler std::function build; }; -inline TxAssembler -bareTx(TxType type = ttESCROW_FINISH) -{ - return {.type = type, .build = [](STObject&) {}}; -} - -inline TxAssembler -escrowFinishTx(TxTest& ledger, Account const& acct) -{ - return {.type = ttESCROW_FINISH, .build = [&ledger, acct](STObject& obj) { - auto credId = uint256{}; - EXPECT_TRUE(credId.parseHex( - "0011223344556677889900112233445566778899001122334455667788990011")); - - obj.setAccountID(sfAccount, acct.id()); - obj.setAccountID(sfOwner, acct.id()); - obj.setFieldU32(sfOfferSequence, ledger.getAccountRoot(acct.id()).getSequence()); - obj.setFieldArray(sfMemos, STArray{}); - auto credIds = STVector256{}; - credIds.pushBack(credId); - obj.setFieldV256(sfCredentialIDs, credIds); - }}; -} - -inline TxAssembler -ammDepositTx(Account const& acct, Asset const& asset1, Asset const& asset2) -{ - return {.type = ttAMM_DEPOSIT, .build = [acct, asset1, asset2](STObject& obj) { - obj.setAccountID(sfAccount, acct.id()); - obj.setFieldIssue(sfAsset, STIssue{sfAsset, asset1}); - obj.setFieldIssue(sfAsset2, STIssue{sfAsset2, asset2}); - }}; -} - -inline TxAssembler -mptIssuanceCreateTx(Account const& acct, std::uint8_t scale) -{ - return {.type = ttMPTOKEN_ISSUANCE_CREATE, .build = [acct, scale](STObject& obj) { - obj.setAccountID(sfAccount, acct.id()); - obj.setFieldU8(sfAssetScale, scale); - }}; -} +TxAssembler +bareTx(TxType type = ttESCROW_FINISH); +TxAssembler +escrowFinishTx(TxTest& ledger, Account const& acct); +TxAssembler +ammDepositTx(Account const& acct, Asset const& asset1, Asset const& asset2); +TxAssembler +mptIssuanceCreateTx(Account const& acct, std::uint8_t scale); class WasmHost { @@ -252,21 +126,12 @@ public: WasmHost( std::shared_ptr tx, std::unique_ptr context, - std::unique_ptr host) - : tx_{std::move(tx)}, context_{std::move(context)}, host_{std::move(host)} - { - } + std::unique_ptr host); WasmHostFunctionsImpl* - operator->() const - { - return host_.get(); - } + operator->() const; WasmHostFunctionsImpl& - operator*() const - { - return *host_; - } + operator*() const; private: std::shared_ptr tx_; @@ -274,50 +139,27 @@ private: std::unique_ptr host_; }; -class WasmImplTest : public testing::Test +class RealHostFixture : public testing::Test { public: TxTest ledger; Account - fund(char const* name, XRPAmount amount = XRP(1000)) - { - auto const account = Account{name}; - ledger.createAccount(account, amount); - return account; - } + fund(char const* name, XRPAmount amount = XRP(1000)); WasmHost makeHost( beast::Journal journal, Keylet const& leKey = keylet::account(AccountID{}), TxType txType = ttESCROW_FINISH, - std::function assembler = [](STObject&) {}) - { - auto tx = std::make_shared( - txType, [assembler = std::move(assembler)](STObject& obj) { assembler(obj); }); - auto context = std::make_unique( - ledger.getServiceRegistry(), - ledger.getOpenLedger(), - *tx, - tesSUCCESS, - ledger.getOpenLedger().fees().base, - TapNone, - journal); - auto host = std::make_unique(*context, leKey); - return WasmHost{std::move(tx), std::move(context), std::move(host)}; - } + std::function assembler = [](STObject&) {}); // The common case: a host that discards its log output. WasmHost makeHost( Keylet const& leKey = keylet::account(AccountID{}), TxType txType = ttESCROW_FINISH, - std::function assembler = [](STObject&) {}) - { - return makeHost( - beast::Journal{beast::Journal::getNullSink()}, leKey, txType, std::move(assembler)); - } + std::function assembler = [](STObject&) {}); // A host whose `trace` output is captured, so a test can read it back with `logged()`. // The sink is a fixture member, so it outlives the host and accumulates across a test. @@ -325,17 +167,11 @@ public: makeTracingHost( Keylet const& leKey = keylet::account(AccountID{}), TxType txType = ttESCROW_FINISH, - std::function assembler = [](STObject&) {}) - { - return makeHost(beast::Journal{traceSink_}, leKey, txType, std::move(assembler)); - } + std::function assembler = [](STObject&) {}); // Everything `trace` has written to the tracing host so far. [[nodiscard]] std::string - logged() const - { - return traceSink_.messages(); - } + logged() const; // Submit a real SignerListSet so `keylet::signerList(owner)` exists — the object the // signer-list nested-field / array-length getters read. `signers` pairs each signer @@ -344,22 +180,7 @@ public: makeSignerList( Account const& owner, std::uint32_t quorum, - std::vector> const& signers) - { - auto entries = STArray{}; - for (auto const& [signer, weight] : signers) - { - auto entry = STObject::makeInnerObject(sfSignerEntry); - entry.setAccountID(sfAccount, signer.id()); - entry.setFieldU16(sfSignerWeight, weight); - entries.push_back(std::move(entry)); - } - auto const r = ledger.submit( - transactions::SignerListSetBuilder{owner.id(), quorum}.setSignerEntries(entries), - owner); - EXPECT_EQ(r.ter, tesSUCCESS) << transToken(r.ter); - ledger.close(); - } + std::vector> const& signers); private: CaptureSink traceSink_{beast::Severity::Trace}; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/AccountKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/AccountKeylet.cpp index 9c70b62649..c36eea1d13 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/AccountKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/AccountKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct AccountKeyletImpl : WasmImplTest +struct AccountKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/AmmKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/AmmKeylet.cpp index e3b117b833..9414ecd6dc 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/AmmKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/AmmKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct AmmKeyletImpl : WasmImplTest +struct AmmKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/BaseFee.cpp b/src/tests/libxrpl/tx/wasm/host_functions/BaseFee.cpp index 8cf2be216a..b1f40233ca 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/BaseFee.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/BaseFee.cpp @@ -3,7 +3,7 @@ namespace xrpl::test { -struct BaseFeeImpl : WasmImplTest +struct BaseFeeImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CacheLedgerObj.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CacheLedgerObj.cpp index 599dd0f404..13fbf0f4b7 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CacheLedgerObj.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CacheLedgerObj.cpp @@ -12,7 +12,7 @@ namespace xrpl::test { -struct CacheLedgerObjImpl : WasmImplTest +struct CacheLedgerObjImpl : RealHostFixture { void runMatchesLedger(bool implicit) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CheckKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CheckKeylet.cpp index 420a2d190a..0abcbdc3db 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CheckKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CheckKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct CheckKeyletImpl : WasmImplTest +struct CheckKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CheckSignature.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CheckSignature.cpp index 5119c90acd..c1bfd722e4 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CheckSignature.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CheckSignature.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct CheckSignatureImpl : WasmImplTest +struct CheckSignatureImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CredentialKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CredentialKeylet.cpp index 1806c25156..0eaeeb5d6a 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CredentialKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CredentialKeylet.cpp @@ -10,7 +10,7 @@ namespace xrpl::test { -struct CredentialKeyletImpl : WasmImplTest +struct CredentialKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjArrayLen.cpp index c66473782e..6ef7b686c3 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjArrayLen.cpp @@ -10,9 +10,9 @@ namespace xrpl::test { -struct CurrentLedgerObjArrayLenImpl : WasmImplTest +struct CurrentLedgerObjArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjField.cpp index 7c85864926..a092b4b94c 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjField.cpp @@ -14,7 +14,7 @@ namespace xrpl::test { -struct CurrentLedgerObjFieldImpl : WasmImplTest +struct CurrentLedgerObjFieldImpl : RealHostFixture { // Create an escrow owned by `owner` and return its keylet (the object the host will // read as its "current" object). diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedArrayLen.cpp index 7a3403e87c..b94d6f1329 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedArrayLen.cpp @@ -10,9 +10,9 @@ namespace xrpl::test { -struct CurrentLedgerObjNestedArrayLenImpl : WasmImplTest +struct CurrentLedgerObjNestedArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedField.cpp index 69e6c2df0b..9250dfd591 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/CurrentLedgerObjNestedField.cpp @@ -13,9 +13,9 @@ namespace xrpl::test { -struct CurrentLedgerObjNestedFieldImpl : WasmImplTest +struct CurrentLedgerObjNestedFieldImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/DelegateKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/DelegateKeylet.cpp index 2362f8cc6b..8b936652d3 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/DelegateKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/DelegateKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct DelegateKeyletImpl : WasmImplTest +struct DelegateKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/DepositPreauthKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/DepositPreauthKeylet.cpp index c4ed0f0253..8846c8d1f0 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/DepositPreauthKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/DepositPreauthKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct DepositPreauthKeyletImpl : WasmImplTest +struct DepositPreauthKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/DidKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/DidKeylet.cpp index dfe110cdd8..933b3583e0 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/DidKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/DidKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct DidKeyletImpl : WasmImplTest +struct DidKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/EscrowKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/EscrowKeylet.cpp index 30b3269531..ce6bfa73a0 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/EscrowKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/EscrowKeylet.cpp @@ -11,7 +11,7 @@ namespace xrpl::test { -struct EscrowKeyletImpl : WasmImplTest +struct EscrowKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/FloatFromStAmount.cpp b/src/tests/libxrpl/tx/wasm/host_functions/FloatFromStAmount.cpp index 1c80e4f749..66136d78c4 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/FloatFromStAmount.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/FloatFromStAmount.cpp @@ -48,7 +48,8 @@ TEST_F(FloatFromStAmountImpl, MinusOneXrp) TEST_F(FloatFromStAmountImpl, MaxDrops) { auto h = makeHost(); - auto const expected = h->floatFromMantExp(9'223'372'036'854'776, 3, 0); + static constexpr int64_t kTestValue{9'223'372'036'854'776}; + auto const expected = h->floatFromMantExp(kTestValue, 3, 0); ASSERT_TRUE(expected.has_value()); expectValue(h->floatFromSTAmount(STAmount{noIssue(), kMax64}, 0), *expected); } diff --git a/src/tests/libxrpl/tx/wasm/host_functions/IsAmendmentEnabled.cpp b/src/tests/libxrpl/tx/wasm/host_functions/IsAmendmentEnabled.cpp index 471c6e171d..f31954c54c 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/IsAmendmentEnabled.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/IsAmendmentEnabled.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct IsAmendmentEnabledImpl : WasmImplTest +struct IsAmendmentEnabledImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjArrayLen.cpp index 5efd264939..a7ddd0270e 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjArrayLen.cpp @@ -11,9 +11,9 @@ namespace xrpl::test { -struct LedgerObjArrayLenImpl : WasmImplTest +struct LedgerObjArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjField.cpp index 2c6f15fa2d..d592ca8077 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjField.cpp @@ -12,7 +12,7 @@ namespace xrpl::test { -struct LedgerObjFieldImpl : WasmImplTest +struct LedgerObjFieldImpl : RealHostFixture { template void diff --git a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedArrayLen.cpp index acd33956ef..e3bb9901e2 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedArrayLen.cpp @@ -11,9 +11,9 @@ namespace xrpl::test { -struct LedgerObjNestedArrayLenImpl : WasmImplTest +struct LedgerObjNestedArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedField.cpp index 73d5e52121..7314819bec 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/LedgerObjNestedField.cpp @@ -14,9 +14,9 @@ namespace xrpl::test { -struct LedgerObjNestedFieldImpl : WasmImplTest +struct LedgerObjNestedFieldImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/LedgerSqn.cpp b/src/tests/libxrpl/tx/wasm/host_functions/LedgerSqn.cpp index d9f072cd9a..cf21a259f1 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/LedgerSqn.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/LedgerSqn.cpp @@ -3,7 +3,7 @@ namespace xrpl::test { -struct LedgerSqnImpl : WasmImplTest +struct LedgerSqnImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/MptokenIssuanceKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/MptokenIssuanceKeylet.cpp index 308df3a9df..91637c6e3e 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/MptokenIssuanceKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/MptokenIssuanceKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct MptokenIssuanceKeyletImpl : WasmImplTest +struct MptokenIssuanceKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/MptokenKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/MptokenKeylet.cpp index 2add30b31b..1e9a67fe90 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/MptokenKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/MptokenKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct MptokenKeyletImpl : WasmImplTest +struct MptokenKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/NftokenOfferKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/NftokenOfferKeylet.cpp index e6dee50a06..97d8b3f699 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/NftokenOfferKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/NftokenOfferKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct NftokenOfferKeyletImpl : WasmImplTest +struct NftokenOfferKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/OfferKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/OfferKeylet.cpp index 6ea5f25fdd..cf4eac49e6 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/OfferKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/OfferKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct OfferKeyletImpl : WasmImplTest +struct OfferKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/OracleKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/OracleKeylet.cpp index f0330eb827..0d6df50f13 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/OracleKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/OracleKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct OracleKeyletImpl : WasmImplTest +struct OracleKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerHash.cpp b/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerHash.cpp index 77176d4806..4f0142731a 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerHash.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerHash.cpp @@ -3,7 +3,7 @@ namespace xrpl::test { -struct ParentLedgerHashImpl : WasmImplTest +struct ParentLedgerHashImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerTime.cpp b/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerTime.cpp index bc284847f1..f76e47fda1 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerTime.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/ParentLedgerTime.cpp @@ -3,7 +3,7 @@ namespace xrpl::test { -struct ParentLedgerTimeImpl : WasmImplTest +struct ParentLedgerTimeImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/PaychannelKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/PaychannelKeylet.cpp index 41bcfe6b0d..77b51254dd 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/PaychannelKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/PaychannelKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct PaychannelKeyletImpl : WasmImplTest +struct PaychannelKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/PermissionedDomainedKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/PermissionedDomainedKeylet.cpp index 76518a796a..1c9a2ae3ce 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/PermissionedDomainedKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/PermissionedDomainedKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct PermissionedDomainKeyletImpl : WasmImplTest +struct PermissionedDomainKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/Sha512Half.cpp b/src/tests/libxrpl/tx/wasm/host_functions/Sha512Half.cpp index f8f6b197d2..b02c720503 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/Sha512Half.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/Sha512Half.cpp @@ -7,7 +7,7 @@ namespace xrpl::test { -struct Sha512HalfImpl : WasmImplTest +struct Sha512HalfImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/SignerListKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/SignerListKeylet.cpp index a67e387f41..b35afd493b 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/SignerListKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/SignerListKeylet.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct SignerListKeyletImpl : WasmImplTest +struct SignerListKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TicketKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TicketKeylet.cpp index 102ef62f33..e7669bc354 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TicketKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TicketKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct TicketKeyletImpl : WasmImplTest +struct TicketKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/Trace.cpp b/src/tests/libxrpl/tx/wasm/host_functions/Trace.cpp index c4b165647c..8bb94acd13 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/Trace.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/Trace.cpp @@ -8,7 +8,7 @@ namespace xrpl::test { -struct TraceImpl : WasmImplTest +struct TraceImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TrustLineKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TrustLineKeylet.cpp index 6ed13f3401..26017ade9e 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TrustLineKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TrustLineKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct TrustlineKeyletImpl : WasmImplTest +struct TrustlineKeyletImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TxArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TxArrayLen.cpp index 090a616fa5..95e539627c 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TxArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TxArrayLen.cpp @@ -12,9 +12,9 @@ namespace xrpl::test { -struct TxArrayLenImpl : WasmImplTest +struct TxArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TxField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TxField.cpp index bda2c01350..c040146c86 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TxField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TxField.cpp @@ -17,7 +17,7 @@ namespace xrpl::test { -struct TxFieldImpl : WasmImplTest +struct TxFieldImpl : RealHostFixture { template void diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TxNestedArrayLen.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TxNestedArrayLen.cpp index 60b4971577..afc280f05a 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TxNestedArrayLen.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TxNestedArrayLen.cpp @@ -12,9 +12,9 @@ namespace xrpl::test { -struct TxNestedArrayLenImpl : WasmImplTest +struct TxNestedArrayLenImpl : RealHostFixture { - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/TxNestedField.cpp b/src/tests/libxrpl/tx/wasm/host_functions/TxNestedField.cpp index d6c9b68797..c19eb35700 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/TxNestedField.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/TxNestedField.cpp @@ -15,7 +15,7 @@ namespace xrpl::test { -struct TxNestedFieldImpl : WasmImplTest +struct TxNestedFieldImpl : RealHostFixture { TxAssembler assemble(Account const& acct) @@ -32,7 +32,7 @@ struct TxNestedFieldImpl : WasmImplTest return assembler; } - using WasmImplTest::makeHost; + using RealHostFixture::makeHost; WasmHost makeHost(Account const& acct) diff --git a/src/tests/libxrpl/tx/wasm/host_functions/UpdateData.cpp b/src/tests/libxrpl/tx/wasm/host_functions/UpdateData.cpp index f1ce71be60..46bbee69d8 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/UpdateData.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/UpdateData.cpp @@ -6,7 +6,7 @@ namespace xrpl::test { -struct UpdateDataImpl : WasmImplTest +struct UpdateDataImpl : RealHostFixture { }; diff --git a/src/tests/libxrpl/tx/wasm/host_functions/VaultKeylet.cpp b/src/tests/libxrpl/tx/wasm/host_functions/VaultKeylet.cpp index 617df3c4de..dfc968fa04 100644 --- a/src/tests/libxrpl/tx/wasm/host_functions/VaultKeylet.cpp +++ b/src/tests/libxrpl/tx/wasm/host_functions/VaultKeylet.cpp @@ -9,7 +9,7 @@ namespace xrpl::test { -struct VaultKeyletImpl : WasmImplTest +struct VaultKeyletImpl : RealHostFixture { };