This commit is contained in:
Mayukha Vadari
2025-11-25 02:44:18 +05:30
parent 427b7ea104
commit ef5d335e09
8 changed files with 187 additions and 341 deletions

View File

@@ -5,7 +5,6 @@
#include <test/app/TestHostFunctions.h>
#include <xrpld/app/wasm/HostFuncWrapper.h>
#include <xrpld/app/wasm/WamrVM.h>
namespace ripple {
namespace test {
@@ -79,7 +78,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 6'912, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 2, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 3, std::to_string(re->cost));
}
}
@@ -169,7 +168,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 0, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 39, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 5, std::to_string(re->cost));
}
env.close();
@@ -183,7 +182,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 5, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 78, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 10, std::to_string(re->cost));
}
}
@@ -201,7 +200,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 55, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 755, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 696, std::to_string(re->cost));
}
}
@@ -220,7 +219,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 34'432, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 157'452, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 145'573, std::to_string(re->cost));
}
}
@@ -245,7 +244,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 700, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 3'066'129, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 2'701'528, std::to_string(re->cost));
}
}
@@ -280,7 +279,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 332'205'984, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 270'282'552, std::to_string(re->cost));
}
}
@@ -316,7 +315,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 838, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 842, std::to_string(re->cost));
}
env.close();
@@ -350,7 +349,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 40'098, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 842, std::to_string(re->cost));
}
env.close();
@@ -375,7 +374,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 40'098, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 842, std::to_string(re->cost));
}
}
@@ -397,7 +396,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == -201, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 4'806, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 262, std::to_string(re->cost));
}
}
@@ -410,7 +409,7 @@ struct Wasm_test : public beast::unit_test::suite
Expected<Bytes, HostFunctionError>
getTxField(SField const& fname) override
{
return Bytes((MAX_PAGES + 1) * 64 * 1024, 1);
return Bytes((128 + 1) * 64 * 1024, 1);
}
};
BadTestHostFunctions nfs(env);
@@ -419,7 +418,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == -201, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 4'806, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 262, std::to_string(re->cost));
}
}
@@ -450,9 +449,8 @@ struct Wasm_test : public beast::unit_test::suite
auto const s = sink.messages().str();
BEAST_EXPECT(
countSubstr(s, "WAMR Error: failure to call func") == 1);
BEAST_EXPECT(
countSubstr(s, "Exception: wasm operand stack overflow") > 0);
countSubstr(s, "WASMI Error: failure to call func") == 1);
BEAST_EXPECT(countSubstr(s, "exception: <recursive> failure") > 0);
}
{
@@ -500,7 +498,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 97'411, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 326, std::to_string(re->cost));
}
env.close();
}
@@ -515,7 +513,7 @@ struct Wasm_test : public beast::unit_test::suite
if (BEAST_EXPECT(re.has_value()))
{
BEAST_EXPECTS(re->result == 1, std::to_string(re->result));
BEAST_EXPECTS(re->cost == 2'053, std::to_string(re->cost));
BEAST_EXPECTS(re->cost == 34, std::to_string(re->cost));
}
env.close();
}
@@ -629,7 +627,7 @@ struct Wasm_test : public beast::unit_test::suite
Bytes const wasm(wasmStr.begin(), wasmStr.end());
TestHostFunctions hfs(env, 0);
auto const allowance = 152'981;
auto const allowance = 1'814;
auto re = runEscrowWasm(
wasm, ESCROW_FUNCTION_NAME, {}, &hfs, allowance, env.journal);
@@ -699,7 +697,7 @@ struct Wasm_test : public beast::unit_test::suite
testFloat();
testCodecovWasm();
testDisabledFloat();
// testDisabledFloat();
// perfTest();
}