提交 3b1bdf71 编写于 作者: B Bucky Kittinger

fixing up the tests after massive merge

上级 fc709930
...@@ -15,9 +15,9 @@ add_subdirectory(asserter) ...@@ -15,9 +15,9 @@ add_subdirectory(asserter)
#add_subdirectory(infinite) #add_subdirectory(infinite)
add_subdirectory(proxy) add_subdirectory(proxy)
add_subdirectory(test_api) add_subdirectory(test_api)
#add_subdirectory(test_api_db)
add_subdirectory(test_api_mem) add_subdirectory(test_api_mem)
#add_subdirectory(simpledb) #add_subdirectory(simpledb)
#add_subdirectory(test_api_db)
#add_subdirectory(storage) #add_subdirectory(storage)
#add_subdirectory(social) #add_subdirectory(social)
add_subdirectory(test.system) add_subdirectory(test.system)
......
...@@ -29,9 +29,9 @@ void test_action::read_action_normal() { ...@@ -29,9 +29,9 @@ void test_action::read_action_normal() {
eos_assert(total == sizeof(dummy_action), "read_action(sizeof(dummy_action))" ); eos_assert(total == sizeof(dummy_action), "read_action(sizeof(dummy_action))" );
dummy_action *dummy13 = reinterpret_cast<dummy_action *>(buffer); dummy_action *dummy13 = reinterpret_cast<dummy_action *>(buffer);
eos_assert(dummy13->a == DUMMY_MESSAGE_DEFAULT_A, "dummy13->a == DUMMY_MESSAGE_DEFAULT_A"); eos_assert(dummy13->a == DUMMY_ACTION_DEFAULT_A, "dummy13->a == DUMMY_ACTION_DEFAULT_A");
eos_assert(dummy13->b == DUMMY_MESSAGE_DEFAULT_B, "dummy13->b == DUMMY_MESSAGE_DEFAULT_B"); eos_assert(dummy13->b == DUMMY_ACTION_DEFAULT_B, "dummy13->b == DUMMY_ACTION_DEFAULT_B");
eos_assert(dummy13->c == DUMMY_MESSAGE_DEFAULT_C, "dummy13->c == DUMMY_MESSAGE_DEFAULT_C"); eos_assert(dummy13->c == DUMMY_ACTION_DEFAULT_C, "dummy13->c == DUMMY_ACTION_DEFAULT_C");
} }
...@@ -48,11 +48,11 @@ void test_action::require_notice() { ...@@ -48,11 +48,11 @@ void test_action::require_notice() {
eosio::require_recipient( N(acc1) ); eosio::require_recipient( N(acc1) );
eosio::require_recipient( N(acc2) ); eosio::require_recipient( N(acc2) );
eosio::require_recipient( N(acc1), N(acc2) ); eosio::require_recipient( N(acc1), N(acc2) );
assert(false, "Should've failed"); eos_assert(false, "Should've failed");
} else if ( current_receiver() == N(acc1) || current_receiver() == N(acc2) ) { } else if ( current_receiver() == N(acc1) || current_receiver() == N(acc2) ) {
return; return;
} }
assert(false, "Should've failed"); eos_assert(false, "Should've failed");
} }
void test_action::require_auth() { void test_action::require_auth() {
...@@ -72,6 +72,6 @@ void test_action::assert_true() { ...@@ -72,6 +72,6 @@ void test_action::assert_true() {
void test_action::now() { void test_action::now() {
uint32_t tmp = 0; uint32_t tmp = 0;
uint32_t total = read_action(&tmp, sizeof(uint32_t)); uint32_t total = read_action(&tmp, sizeof(uint32_t));
assert( total == sizeof(uint32_t), "total == sizeof(uint32_t)"); eos_assert( total == sizeof(uint32_t), "total == sizeof(uint32_t)");
assert( tmp == ::now(), "tmp == now()" ); eos_assert( tmp == ::now(), "tmp == now()" );
} }
...@@ -18,12 +18,12 @@ void test_chain::test_activeprods() { ...@@ -18,12 +18,12 @@ void test_chain::test_activeprods() {
producers act_prods; producers act_prods;
read_action(&act_prods, sizeof(producers)); read_action(&act_prods, sizeof(producers));
assert(act_prods.len == 21, "producers.len != 21"); eos_assert(act_prods.len == 21, "producers.len != 21");
producers api_prods; producers api_prods;
get_active_producers(api_prods.producers, sizeof(account_name)*21); get_active_producers(api_prods.producers, sizeof(account_name)*21);
for( int i = 0; i < 21 ; ++i ) for( int i = 0; i < 21 ; ++i )
assert(api_prods.producers[i] == act_prods.producers[i], "Active producer"); eos_assert(api_prods.producers[i] == act_prods.producers[i], "Active producer");
} }
...@@ -71,28 +71,28 @@ void test_compiler_builtins::test_multi3() { ...@@ -71,28 +71,28 @@ void test_compiler_builtins::test_multi3() {
__int128 rhs_b = -30; __int128 rhs_b = -30;
__multi3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __multi3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == -3000, "__multi3 result should be -3000" ); eos_assert( res == -3000, "__multi3 result should be -3000" );
__multi3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __multi3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == -3000, "__multi3 result should be -3000" ); eos_assert( res == -3000, "__multi3 result should be -3000" );
__multi3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __multi3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == 900, "__multi3 result should be 900" ); eos_assert( res == 900, "__multi3 result should be 900" );
/* /*
* test for positive values * test for positive values
*/ */
__multi3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __multi3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 10000, "__multi3 result should be 10000" ); eos_assert( res == 10000, "__multi3 result should be 10000" );
/* /*
* test identity * test identity
*/ */
__multi3( res, 1, 0, rhs_a, rhs_a >> 64 ); __multi3( res, 1, 0, rhs_a, rhs_a >> 64 );
assert( res == 100, "__multi3 result should be 100" ); eos_assert( res == 100, "__multi3 result should be 100" );
__multi3( res, 1, 0, rhs_b, rhs_b >> 64 ); __multi3( res, 1, 0, rhs_b, rhs_b >> 64 );
assert( res == -30, "__multi3 result should be -30" ); eos_assert( res == -30, "__multi3 result should be -30" );
} }
void test_compiler_builtins::test_divti3() { void test_compiler_builtins::test_divti3() {
...@@ -106,13 +106,13 @@ void test_compiler_builtins::test_divti3() { ...@@ -106,13 +106,13 @@ void test_compiler_builtins::test_divti3() {
__int128 rhs_b = -30; __int128 rhs_b = -30;
__divti3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __divti3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 0, "__divti3 result should be 0" ); eos_assert( res == 0, "__divti3 result should be 0" );
__divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == -3, "__divti3 result should be -3" ); eos_assert( res == -3, "__divti3 result should be -3" );
__divti3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __divti3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == 1, "__divti3 result should be 1" ); eos_assert( res == 1, "__divti3 result should be 1" );
/* /*
* test for positive values * test for positive values
...@@ -121,29 +121,29 @@ void test_compiler_builtins::test_divti3() { ...@@ -121,29 +121,29 @@ void test_compiler_builtins::test_divti3() {
__int128 rhs_c = 3333; __int128 rhs_c = 3333;
__divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 1, "__divti3 result should be 1" ); eos_assert( res == 1, "__divti3 result should be 1" );
__divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_c, ( rhs_c >> 64 ) ); __divti3( res, lhs_b, ( lhs_b >> 64 ), rhs_c, ( rhs_c >> 64 ) );
assert( res == 0, "__divti3 result should be 0" ); eos_assert( res == 0, "__divti3 result should be 0" );
__divti3( res, lhs_c, ( lhs_c >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __divti3( res, lhs_c, ( lhs_c >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 33, "__divti3 result should be 33" ); eos_assert( res == 33, "__divti3 result should be 33" );
/* /*
* test identity * test identity
*/ */
__divti3( res, lhs_b, ( lhs_b >> 64 ), 1, 0 ); __divti3( res, lhs_b, ( lhs_b >> 64 ), 1, 0 );
assert( res == 100, "__divti3 result should be 100" ); eos_assert( res == 100, "__divti3 result should be 100" );
__divti3( res, lhs_a, ( lhs_a >> 64 ), 1, 0 ); __divti3( res, lhs_a, ( lhs_a >> 64 ), 1, 0 );
assert( res == -30, "__divti3 result should be -30" ); eos_assert( res == -30, "__divti3 result should be -30" );
} }
void test_compiler_builtins::test_divti3_by_0() { void test_compiler_builtins::test_divti3_by_0() {
__int128 res = 0; __int128 res = 0;
__divti3( res, 100, 0, 0, 0 ); __divti3( res, 100, 0, 0, 0 );
assert( false, "Should have asserted" ); eos_assert( false, "Should have eos_asserted" );
} }
void test_compiler_builtins::test_udivti3() { void test_compiler_builtins::test_udivti3() {
...@@ -157,13 +157,13 @@ void test_compiler_builtins::test_udivti3() { ...@@ -157,13 +157,13 @@ void test_compiler_builtins::test_udivti3() {
unsigned __int128 rhs_b = -30; unsigned __int128 rhs_b = -30;
__udivti3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __udivti3( res, lhs_a, ( lhs_a >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 3402823669209384634633746074317682114_ULLL, "__udivti3 result should be 0" ); eos_assert( res == 3402823669209384634633746074317682114_ULLL, "__udivti3 result should be 0" );
__udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == 0, "__udivti3 result should be 0" ); eos_assert( res == 0, "__udivti3 result should be 0" );
__udivti3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) ); __udivti3( res, lhs_a, ( lhs_a >> 64 ), rhs_b, ( rhs_b >> 64 ) );
assert( res == 1, "__udivti3 result should be 1" ); eos_assert( res == 1, "__udivti3 result should be 1" );
/* /*
* test for positive values * test for positive values
...@@ -172,29 +172,29 @@ void test_compiler_builtins::test_udivti3() { ...@@ -172,29 +172,29 @@ void test_compiler_builtins::test_udivti3() {
__int128 rhs_c = 3333; __int128 rhs_c = 3333;
__udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 1, "__divti3 result should be 1" ); eos_assert( res == 1, "__divti3 result should be 1" );
__udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_c, ( rhs_c >> 64 ) ); __udivti3( res, lhs_b, ( lhs_b >> 64 ), rhs_c, ( rhs_c >> 64 ) );
assert( res == 0, "__divti3 result should be 0" ); eos_assert( res == 0, "__divti3 result should be 0" );
__udivti3( res, lhs_c, ( lhs_c >> 64 ), rhs_a, ( rhs_a >> 64 ) ); __udivti3( res, lhs_c, ( lhs_c >> 64 ), rhs_a, ( rhs_a >> 64 ) );
assert( res == 33, "__divti3 result should be 33" ); eos_assert( res == 33, "__divti3 result should be 33" );
/* /*
* test identity * test identity
*/ */
__udivti3( res, lhs_b, ( lhs_b >> 64 ), 1, 0 ); __udivti3( res, lhs_b, ( lhs_b >> 64 ), 1, 0 );
assert( res == 100, "__divti3 result should be 100" ); eos_assert( res == 100, "__divti3 result should be 100" );
__udivti3( res, lhs_a, ( lhs_a >> 64 ), 1, 0 ); __udivti3( res, lhs_a, ( lhs_a >> 64 ), 1, 0 );
assert( res == -30, "__divti3 result should be -30" ); eos_assert( res == -30, "__divti3 result should be -30" );
} }
void test_compiler_builtins::test_udivti3_by_0() { void test_compiler_builtins::test_udivti3_by_0() {
unsigned __int128 res = 0; unsigned __int128 res = 0;
__udivti3( res, 100, 0, 0, 0 ); __udivti3( res, 100, 0, 0, 0 );
assert( false, "Should have asserted" ); eos_assert( false, "Should have eos_asserted" );
} }
...@@ -208,29 +208,29 @@ void test_compiler_builtins::test_lshlti3() { ...@@ -208,29 +208,29 @@ void test_compiler_builtins::test_lshlti3() {
__lshlti3( res, val, val >> 64, 0 ); __lshlti3( res, val, val >> 64, 0 );
assert( res == 1, "__lshlti3 result should be 1" ); eos_assert( res == 1, "__lshlti3 result should be 1" );
__lshlti3( res, val, val >> 64, 1 ); __lshlti3( res, val, val >> 64, 1 );
assert( res == ( 1 << 1 ), "__lshlti3 result should be 2" ); eos_assert( res == ( 1 << 1 ), "__lshlti3 result should be 2" );
__lshlti3( res, val, ( val >> 64 ), 31 ); __lshlti3( res, val, ( val >> 64 ), 31 );
assert( res == 2147483648_ULLL, "__lshlti3 result should be 2^31" ); eos_assert( res == 2147483648_ULLL, "__lshlti3 result should be 2^31" );
__lshlti3( res, val, ( val >> 64 ), 63 ); __lshlti3( res, val, ( val >> 64 ), 63 );
assert( res == 9223372036854775808_ULLL, "__lshlti3 result should be 2^63" ); eos_assert( res == 9223372036854775808_ULLL, "__lshlti3 result should be 2^63" );
__lshlti3( res, val, ( val >> 64 ), 64 ); __lshlti3( res, val, ( val >> 64 ), 64 );
assert( res == test_res, "__lshlti3 result should be 2^64" ); eos_assert( res == test_res, "__lshlti3 result should be 2^64" );
__lshlti3( res, val, ( val >> 64 ), 127 ); __lshlti3( res, val, ( val >> 64 ), 127 );
test_res <<= 63; test_res <<= 63;
assert( res == test_res, "__lshlti3 result should be 2^127" ); eos_assert( res == test_res, "__lshlti3 result should be 2^127" );
__lshlti3( res, val, ( val >> 64 ), 128 ); __lshlti3( res, val, ( val >> 64 ), 128 );
test_res <<= 1; test_res <<= 1;
//should rollover //should rollover
assert( res == test_res, "__lshlti3 result should be 2^128" ); eos_assert( res == test_res, "__lshlti3 result should be 2^128" );
} }
void test_compiler_builtins::test_ashlti3() { void test_compiler_builtins::test_ashlti3() {
...@@ -242,29 +242,29 @@ void test_compiler_builtins::test_ashlti3() { ...@@ -242,29 +242,29 @@ void test_compiler_builtins::test_ashlti3() {
test_res <<= 1; test_res <<= 1;
__ashlti3( res, val, val >> 64, 0 ); __ashlti3( res, val, val >> 64, 0 );
assert( res == 1, "__ashlti3 result should be 1" ); eos_assert( res == 1, "__ashlti3 result should be 1" );
__ashlti3( res, val, val >> 64, 1 ); __ashlti3( res, val, val >> 64, 1 );
assert( res == (1 << 1), "__ashlti3 result should be 2" ); eos_assert( res == (1 << 1), "__ashlti3 result should be 2" );
__ashlti3( res, val, (val >> 64), 31 ); __ashlti3( res, val, (val >> 64), 31 );
assert( res == 2147483648_ULLL, "__ashlti3 result should be 2^31" ); eos_assert( res == 2147483648_ULLL, "__ashlti3 result should be 2^31" );
__ashlti3( res, val, (val >> 64), 63 ); __ashlti3( res, val, (val >> 64), 63 );
assert( res == 9223372036854775808_ULLL, "__ashlti3 result should be 2^63" ); eos_assert( res == 9223372036854775808_ULLL, "__ashlti3 result should be 2^63" );
__ashlti3( res, val, (val >> 64), 64 ); __ashlti3( res, val, (val >> 64), 64 );
assert( res == test_res, "__ashlti3 result should be 2^64" ); eos_assert( res == test_res, "__ashlti3 result should be 2^64" );
__ashlti3( res, val, (val >> 64), 127 ); __ashlti3( res, val, (val >> 64), 127 );
test_res <<= 63; test_res <<= 63;
assert( res == test_res, "__ashlti3 result should be 2^127" ); eos_assert( res == test_res, "__ashlti3 result should be 2^127" );
__ashlti3( res, val, (val >> 64), 128 ); __ashlti3( res, val, (val >> 64), 128 );
test_res <<= 1; test_res <<= 1;
//should rollover //should rollover
assert( res == test_res, "__ashlti3 result should be 2^128" ); eos_assert( res == test_res, "__ashlti3 result should be 2^128" );
} }
...@@ -302,22 +302,22 @@ void test_compiler_builtins::test_lshrti3() { ...@@ -302,22 +302,22 @@ void test_compiler_builtins::test_lshrti3() {
test_res <<= 64; test_res <<= 64;
__lshrti3( res, val, (val >> 64), 0 ); __lshrti3( res, val, (val >> 64), 0 );
assert( res == test_res, "__lshrti3 result should be 2^127" ); eos_assert( res == test_res, "__lshrti3 result should be 2^127" );
__lshrti3( res, val, (val >> 64), 1 ); __lshrti3( res, val, (val >> 64), 1 );
assert( res == 85070591730234615865843651857942052864_ULLL, "__lshrti3 result should be 2^126" ); eos_assert( res == 85070591730234615865843651857942052864_ULLL, "__lshrti3 result should be 2^126" );
__lshrti3( res, val, (val >> 64), 63 ); __lshrti3( res, val, (val >> 64), 63 );
assert( res == 18446744073709551616_ULLL, "__lshrti3 result should be 2^64" ); eos_assert( res == 18446744073709551616_ULLL, "__lshrti3 result should be 2^64" );
__lshrti3( res, val, (val >> 64), 64 ); __lshrti3( res, val, (val >> 64), 64 );
assert( res == 9223372036854775808_ULLL, "__lshrti3 result should be 2^63" ); eos_assert( res == 9223372036854775808_ULLL, "__lshrti3 result should be 2^63" );
__lshrti3( res, val, (val >> 64), 96 ); __lshrti3( res, val, (val >> 64), 96 );
assert( res == 2147483649_ULLL, "__lshrti3 result should be 2^31" ); eos_assert( res == 2147483649_ULLL, "__lshrti3 result should be 2^31" );
__lshrti3( res, val, (val >> 64), 127 ); __lshrti3( res, val, (val >> 64), 127 );
assert( res == 0x1, "__lshrti3 result should be 2^0" ); eos_assert( res == 0x1, "__lshrti3 result should be 2^0" );
} }
void test_compiler_builtins::test_ashrti3() { void test_compiler_builtins::test_ashrti3() {
...@@ -353,22 +353,22 @@ void test_compiler_builtins::test_ashrti3() { ...@@ -353,22 +353,22 @@ void test_compiler_builtins::test_ashrti3() {
test <<= 127; test <<= 127;
__ashrti3( res, val, (val >> 64), 0 ); __ashrti3( res, val, (val >> 64), 0 );
assert( res == atoi128("-170141183460469231731687303715884105728"), "__ashrti3 result should be -2^127" ); eos_assert( res == atoi128("-170141183460469231731687303715884105728"), "__ashrti3 result should be -2^127" );
__ashrti3(res, val, (val >> 64), 1 ); __ashrti3(res, val, (val >> 64), 1 );
assert( res == atoi128("-85070591730234615865843651857942052864"), "__ashrti3 result should be -2^126" ); eos_assert( res == atoi128("-85070591730234615865843651857942052864"), "__ashrti3 result should be -2^126" );
__ashrti3(res, val, (val >> 64), 2 ); __ashrti3(res, val, (val >> 64), 2 );
assert( res == test >> 2, "__ashrti3 result should be -2^125" ); eos_assert( res == test >> 2, "__ashrti3 result should be -2^125" );
__ashrti3( res, val, (val >> 64), 64 ); __ashrti3( res, val, (val >> 64), 64 );
assert( res == test >> 64, "__ashrti3 result should be -2^63" ); eos_assert( res == test >> 64, "__ashrti3 result should be -2^63" );
__ashrti3( res, val, (val >> 64), 95 ); __ashrti3( res, val, (val >> 64), 95 );
assert( res == test >> 95, "__ashrti3 result should be -2^31" ); eos_assert( res == test >> 95, "__ashrti3 result should be -2^31" );
__ashrti3( res, val, (val >> 64), 127 ); __ashrti3( res, val, (val >> 64), 127 );
assert( res == test >> 127, "__ashrti3 result should be -2^0" ); eos_assert( res == test >> 127, "__ashrti3 result should be -2^0" );
} }
...@@ -380,25 +380,25 @@ void test_compiler_builtins::test_modti3() { ...@@ -380,25 +380,25 @@ void test_compiler_builtins::test_modti3() {
__int128 rhs_b = -100; __int128 rhs_b = -100;
__modti3( res, lhs_a, lhs_a >> 64, rhs_a, rhs_a >> 64 ); __modti3( res, lhs_a, lhs_a >> 64, rhs_a, rhs_a >> 64 );
assert( res == -30, "__modti3 result should be -30" ); eos_assert( res == -30, "__modti3 result should be -30" );
__modti3( res, lhs_b, lhs_b >> 64, rhs_b, rhs_b >> 64 ); __modti3( res, lhs_b, lhs_b >> 64, rhs_b, rhs_b >> 64 );
assert( res == 30, "__modti3 result should be 30" ); eos_assert( res == 30, "__modti3 result should be 30" );
__modti3( res, lhs_a, lhs_a >> 64, rhs_b, rhs_b >> 64 ); __modti3( res, lhs_a, lhs_a >> 64, rhs_b, rhs_b >> 64 );
assert( res == -30, "__modti3 result should be -30" ); eos_assert( res == -30, "__modti3 result should be -30" );
__modti3( res, rhs_a, rhs_a >> 64, lhs_b, lhs_b >> 64 ); __modti3( res, rhs_a, rhs_a >> 64, lhs_b, lhs_b >> 64 );
assert( res == 10, "__modti3 result should be 10" ); eos_assert( res == 10, "__modti3 result should be 10" );
__modti3( res, rhs_a, rhs_a >> 64, rhs_b, rhs_b >> 64 ); __modti3( res, rhs_a, rhs_a >> 64, rhs_b, rhs_b >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
__modti3( res, rhs_a, rhs_a >> 64, rhs_a, rhs_a >> 64 ); __modti3( res, rhs_a, rhs_a >> 64, rhs_a, rhs_a >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
__modti3( res, 0, 0, rhs_a, rhs_a >> 64 ); __modti3( res, 0, 0, rhs_a, rhs_a >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
} }
void test_compiler_builtins::test_modti3_by_0() { void test_compiler_builtins::test_modti3_by_0() {
...@@ -406,7 +406,7 @@ void test_compiler_builtins::test_modti3_by_0() { ...@@ -406,7 +406,7 @@ void test_compiler_builtins::test_modti3_by_0() {
__int128 lhs = 100; __int128 lhs = 100;
__modti3( res, lhs, lhs >> 64, 0, 0 ); __modti3( res, lhs, lhs >> 64, 0, 0 );
assert( false, "should have thrown an error" ); eos_assert( false, "should have thrown an error" );
} }
void test_compiler_builtins::test_umodti3() { void test_compiler_builtins::test_umodti3() {
...@@ -417,25 +417,25 @@ void test_compiler_builtins::test_umodti3() { ...@@ -417,25 +417,25 @@ void test_compiler_builtins::test_umodti3() {
unsigned __int128 rhs_b = -100; unsigned __int128 rhs_b = -100;
__umodti3( res, lhs_a, lhs_a >> 64, rhs_a, rhs_a >> 64 ); __umodti3( res, lhs_a, lhs_a >> 64, rhs_a, rhs_a >> 64 );
assert( res == -30, "__modti3 result should be -30" ); eos_assert( res == -30, "__modti3 result should be -30" );
__umodti3( res, lhs_b, lhs_b >> 64, rhs_b, rhs_b >> 64 ); __umodti3( res, lhs_b, lhs_b >> 64, rhs_b, rhs_b >> 64 );
assert( res == 30, "__modti3 result should be 30" ); eos_assert( res == 30, "__modti3 result should be 30" );
__umodti3( res, lhs_a, lhs_a >> 64, rhs_b, rhs_b >> 64 ); __umodti3( res, lhs_a, lhs_a >> 64, rhs_b, rhs_b >> 64 );
assert( res == -30, "__modti3 result should be -30" ); eos_assert( res == -30, "__modti3 result should be -30" );
__umodti3( res, rhs_a, rhs_a >> 64, lhs_b, lhs_b >> 64 ); __umodti3( res, rhs_a, rhs_a >> 64, lhs_b, lhs_b >> 64 );
assert( res == 10, "__modti3 result should be 10" ); eos_assert( res == 10, "__modti3 result should be 10" );
__umodti3( res, rhs_a, rhs_a >> 64, rhs_b, rhs_b >> 64 ); __umodti3( res, rhs_a, rhs_a >> 64, rhs_b, rhs_b >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
__umodti3( res, rhs_a, rhs_a >> 64, rhs_a, rhs_a >> 64 ); __umodti3( res, rhs_a, rhs_a >> 64, rhs_a, rhs_a >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
__umodti3( res, 0, 0, rhs_a, rhs_a >> 64 ); __umodti3( res, 0, 0, rhs_a, rhs_a >> 64 );
assert( res == 0, "__modti3 result should be 0" ); eos_assert( res == 0, "__modti3 result should be 0" );
} }
void test_compiler_builtins::test_umodti3_by_0() { void test_compiler_builtins::test_umodti3_by_0() {
...@@ -443,5 +443,5 @@ void test_compiler_builtins::test_umodti3_by_0() { ...@@ -443,5 +443,5 @@ void test_compiler_builtins::test_umodti3_by_0() {
unsigned __int128 lhs = 100; unsigned __int128 lhs = 100;
__umodti3( res, lhs, lhs >> 64, 0, 0 ); __umodti3( res, lhs, lhs >> 64, 0, 0 );
assert( false, "should have thrown an error" ); eos_assert( false, "should have thrown an error" );
} }
...@@ -75,16 +75,16 @@ void test_crypto::test_sha256() { ...@@ -75,16 +75,16 @@ void test_crypto::test_sha256() {
checksum tmp; checksum tmp;
sha256( (char *)test1, my_strlen(test1), &tmp ); sha256( (char *)test1, my_strlen(test1), &tmp );
assert( my_memcmp((void *)test1_ok, &tmp, sizeof(checksum)), "sha256 test1" ); eos_assert( my_memcmp((void *)test1_ok, &tmp, sizeof(checksum)), "sha256 test1" );
sha256( (char *)test3, my_strlen(test3), &tmp ); sha256( (char *)test3, my_strlen(test3), &tmp );
assert( my_memcmp((void *)test3_ok, &tmp, sizeof(checksum)), "sha256 test3" ); eos_assert( my_memcmp((void *)test3_ok, &tmp, sizeof(checksum)), "sha256 test3" );
sha256( (char *)test4, my_strlen(test4), &tmp ); sha256( (char *)test4, my_strlen(test4), &tmp );
assert( my_memcmp((void *)test4_ok, &tmp, sizeof(checksum)), "sha256 test4" ); eos_assert( my_memcmp((void *)test4_ok, &tmp, sizeof(checksum)), "sha256 test4" );
sha256( (char *)test5, my_strlen(test5), &tmp ); sha256( (char *)test5, my_strlen(test5), &tmp );
assert( my_memcmp((void *)test5_ok, &tmp, sizeof(checksum)), "sha256 test5" ); eos_assert( my_memcmp((void *)test5_ok, &tmp, sizeof(checksum)), "sha256 test5" );
} }
void test_crypto::sha256_null() { void test_crypto::sha256_null() {
...@@ -92,7 +92,7 @@ void test_crypto::sha256_null() { ...@@ -92,7 +92,7 @@ void test_crypto::sha256_null() {
int a = 3; int a = 3;
int* b = &a; int* b = &a;
sha256(nullptr, 100, &tmp); sha256(nullptr, 100, &tmp);
//assert(false, "should've thrown an error"); //eos_assert(false, "should've thrown an error");
} }
void test_crypto::sha256_no_data() { void test_crypto::sha256_no_data() {
...@@ -100,7 +100,7 @@ void test_crypto::sha256_no_data() { ...@@ -100,7 +100,7 @@ void test_crypto::sha256_no_data() {
checksum tmp; checksum tmp;
sha256( (char *)test2, my_strlen(test2), &tmp ); sha256( (char *)test2, my_strlen(test2), &tmp );
assert( my_memcmp((void *)test2_ok, &tmp, sizeof(checksum)), "sha256 test2" ); eos_assert( my_memcmp((void *)test2_ok, &tmp, sizeof(checksum)), "sha256 test2" );
} }
void test_crypto::assert_sha256_false() { void test_crypto::assert_sha256_false() {
...@@ -109,9 +109,9 @@ void test_crypto::assert_sha256_false() { ...@@ -109,9 +109,9 @@ void test_crypto::assert_sha256_false() {
sha256( (char *)test1, my_strlen(test1), &tmp ); sha256( (char *)test1, my_strlen(test1), &tmp );
tmp.hash[0] ^= (uint64_t)(-1); tmp.hash[0] ^= (uint64_t)(-1);
assert_sha256( (char *)test1, my_strlen(test1), &tmp); eos_assert_sha256( (char *)test1, my_strlen(test1), &tmp);
assert(false, "should have failed"); eos_assert(false, "should have failed");
} }
void test_crypto::assert_sha256_true() { void test_crypto::assert_sha256_true() {
...@@ -119,14 +119,14 @@ void test_crypto::assert_sha256_true() { ...@@ -119,14 +119,14 @@ void test_crypto::assert_sha256_true() {
checksum tmp; checksum tmp;
sha256( (char *)test1, my_strlen(test1), &tmp ); sha256( (char *)test1, my_strlen(test1), &tmp );
assert_sha256( (char *)test1, my_strlen(test1), &tmp); eos_assert_sha256( (char *)test1, my_strlen(test1), &tmp);
sha256( (char *)test3, my_strlen(test3), &tmp ); sha256( (char *)test3, my_strlen(test3), &tmp );
assert_sha256( (char *)test3, my_strlen(test3), &tmp); eos_assert_sha256( (char *)test3, my_strlen(test3), &tmp);
sha256( (char *)test4, my_strlen(test4), &tmp ); sha256( (char *)test4, my_strlen(test4), &tmp );
assert_sha256( (char *)test4, my_strlen(test4), &tmp); eos_assert_sha256( (char *)test4, my_strlen(test4), &tmp);
sha256( (char *)test5, my_strlen(test5), &tmp ); sha256( (char *)test5, my_strlen(test5), &tmp );
assert_sha256( (char *)test5, my_strlen(test5), &tmp); eos_assert_sha256( (char *)test5, my_strlen(test5), &tmp);
} }
...@@ -10,8 +10,8 @@ void test_fixedpoint::create_instances() ...@@ -10,8 +10,8 @@ void test_fixedpoint::create_instances()
fixed_point128<18> a(12345667); fixed_point128<18> a(12345667);
fixed_point128<18> b(12345667); fixed_point128<18> b(12345667);
fixed_point128<16> c(12345667); fixed_point128<16> c(12345667);
assert(b == a, "fixed_point128 instances comparison with same number of decimals"); eos_assert(b == a, "fixed_point128 instances comparison with same number of decimals");
assert(c == a, "fixed_point128 instances with different number of decimals"); eos_assert(c == a, "fixed_point128 instances with different number of decimals");
} }
{ {
...@@ -19,8 +19,8 @@ void test_fixedpoint::create_instances() ...@@ -19,8 +19,8 @@ void test_fixedpoint::create_instances()
fixed_point64<5> a(12345667); fixed_point64<5> a(12345667);
fixed_point64<5> b(12345667); fixed_point64<5> b(12345667);
fixed_point64<5> c(12345667); fixed_point64<5> c(12345667);
assert(b == a, "fixed_point64 instances comparison with same number of decimals"); eos_assert(b == a, "fixed_point64 instances comparison with same number of decimals");
assert(c == a, "fixed_point64 instances with different number of decimals"); eos_assert(c == a, "fixed_point64 instances with different number of decimals");
} }
{ {
...@@ -28,8 +28,8 @@ void test_fixedpoint::create_instances() ...@@ -28,8 +28,8 @@ void test_fixedpoint::create_instances()
fixed_point32<18> a(12345667); fixed_point32<18> a(12345667);
fixed_point32<18> b(12345667); fixed_point32<18> b(12345667);
fixed_point32<16> c(12345667); fixed_point32<16> c(12345667);
assert(b == a, "fixed_point32 instances comparison with same number of decimals"); eos_assert(b == a, "fixed_point32 instances comparison with same number of decimals");
assert(c == a, "fixed_point32 instances with different number of decimals"); eos_assert(c == a, "fixed_point32 instances with different number of decimals");
} }
} }
...@@ -41,7 +41,7 @@ void test_fixedpoint::test_addition() ...@@ -41,7 +41,7 @@ void test_fixedpoint::test_addition()
fixed_point32<0> b(100); fixed_point32<0> b(100);
fixed_point32<0> c = a + b; fixed_point32<0> c = a + b;
fixed_point32<0> d = 200; fixed_point32<0> d = 200;
assert(c == d, "fixed_point32 instances addition with zero decmimals"); eos_assert(c == d, "fixed_point32 instances addition with zero decmimals");
} }
{ {
// Various ways to create fixed_point64 // Various ways to create fixed_point64
...@@ -49,7 +49,7 @@ void test_fixedpoint::test_addition() ...@@ -49,7 +49,7 @@ void test_fixedpoint::test_addition()
fixed_point64<0> b(100); fixed_point64<0> b(100);
fixed_point64<0> c = a + b; fixed_point64<0> c = a + b;
fixed_point64<0> d = 200; fixed_point64<0> d = 200;
assert(c == d, "fixed_point64 instances addition with zero decmimals"); eos_assert(c == d, "fixed_point64 instances addition with zero decmimals");
} }
}; };
...@@ -61,12 +61,12 @@ void test_fixedpoint::test_subtraction() ...@@ -61,12 +61,12 @@ void test_fixedpoint::test_subtraction()
fixed_point64<0> b(100); fixed_point64<0> b(100);
fixed_point64<0> c = a - b; fixed_point64<0> c = a - b;
fixed_point64<0> d = 0; fixed_point64<0> d = 0;
assert(c == d, "fixed_point64 instances subtraction with zero decmimals"); eos_assert(c == d, "fixed_point64 instances subtraction with zero decmimals");
fixed_point64<0> a1(0); fixed_point64<0> a1(0);
fixed_point64<0> c1 = a1 - b; fixed_point64<0> c1 = a1 - b;
fixed_point64<0> d1 = -100; fixed_point64<0> d1 = -100;
assert(c1 == d1, "fixed_point64 instances subtraction with zero decmimals"); eos_assert(c1 == d1, "fixed_point64 instances subtraction with zero decmimals");
} }
{ {
// Various ways to create fixed_point32 // Various ways to create fixed_point32
...@@ -74,13 +74,13 @@ void test_fixedpoint::test_subtraction() ...@@ -74,13 +74,13 @@ void test_fixedpoint::test_subtraction()
fixed_point32<0> b(100); fixed_point32<0> b(100);
fixed_point32<0> c = a - b; fixed_point32<0> c = a - b;
fixed_point32<0> d = 0; fixed_point32<0> d = 0;
assert(c == d, "fixed_point32 instances subtraction with zero decmimals"); eos_assert(c == d, "fixed_point32 instances subtraction with zero decmimals");
// Various ways to create fixed_point32 // Various ways to create fixed_point32
fixed_point32<0> a1(0); fixed_point32<0> a1(0);
fixed_point32<0> c1 = a1 - b; fixed_point32<0> c1 = a1 - b;
fixed_point32<0> d1 = -100; fixed_point32<0> d1 = -100;
assert(c1 == d1, "fixed_point32 instances subtraction with zero decmimals"); eos_assert(c1 == d1, "fixed_point32 instances subtraction with zero decmimals");
} }
}; };
...@@ -93,7 +93,7 @@ void test_fixedpoint::test_multiplication() ...@@ -93,7 +93,7 @@ void test_fixedpoint::test_multiplication()
fixed_point64<0> b(200); fixed_point64<0> b(200);
fixed_point128<0> c = a * b; fixed_point128<0> c = a * b;
fixed_point128<0> d(200*100); fixed_point128<0> d(200*100);
assert(c == d, "fixed_point64 instances multiplication result in fixed_point128"); eos_assert(c == d, "fixed_point64 instances multiplication result in fixed_point128");
} }
{ {
...@@ -102,7 +102,7 @@ void test_fixedpoint::test_multiplication() ...@@ -102,7 +102,7 @@ void test_fixedpoint::test_multiplication()
fixed_point32<0> b(200); fixed_point32<0> b(200);
fixed_point64<0> c = a * b; fixed_point64<0> c = a * b;
fixed_point64<0> d(200*100); fixed_point64<0> d(200*100);
assert(c == d, "fixed_point32 instances multiplication result in fixed_point64"); eos_assert(c == d, "fixed_point32 instances multiplication result in fixed_point64");
} }
} }
...@@ -118,7 +118,7 @@ void test_fixedpoint::test_division() ...@@ -118,7 +118,7 @@ void test_fixedpoint::test_division()
fixed_point128<5> e = fixed_divide<5>(lhs, rhs); fixed_point128<5> e = fixed_divide<5>(lhs, rhs);
print(e); print(e);
assert(c == e, "fixed_point64 instances division result from operator and function and compare in fixed_point128"); eos_assert(c == e, "fixed_point64 instances division result from operator and function and compare in fixed_point128");
} }
...@@ -131,7 +131,7 @@ void test_fixedpoint::test_division() ...@@ -131,7 +131,7 @@ void test_fixedpoint::test_division()
fixed_point64<5> c = a / b; fixed_point64<5> c = a / b;
fixed_point64<5> e = fixed_divide<5>(lhs, rhs); fixed_point64<5> e = fixed_divide<5>(lhs, rhs);
assert(c == e, "fixed_point64 instances division result from operator and function and compare in fixed_point128"); eos_assert(c == e, "fixed_point64 instances division result from operator and function and compare in fixed_point128");
} }
} }
...@@ -146,7 +146,7 @@ void test_fixedpoint::test_division_by_0() ...@@ -146,7 +146,7 @@ void test_fixedpoint::test_division_by_0()
fixed_point64<0> b(rhs); fixed_point64<0> b(rhs);
fixed_point128<5> e = fixed_divide<5>(lhs, rhs); fixed_point128<5> e = fixed_divide<5>(lhs, rhs);
assert(false, "should've thrown an error"); eos_assert(false, "should've thrown an error");
} }
......
...@@ -9,24 +9,24 @@ using namespace eosio; ...@@ -9,24 +9,24 @@ using namespace eosio;
void test_math::test_multeq() { void test_math::test_multeq() {
u128_action act; u128_action act;
auto n = read_action(&act, sizeof(u128_action)); auto n = read_action(&act, sizeof(u128_action));
assert( n == sizeof(u128_action), "test_multeq n == sizeof(u128_action)" ); eos_assert( n == sizeof(u128_action), "test_multeq n == sizeof(u128_action)" );
uint128_t self = *(act.values); uint128_t self = *(act.values);
uint128_t other = *(act.values+1); uint128_t other = *(act.values+1);
eosio::multeq(self, other); eosio::multeq(self, other);
assert( self == act.values[2], "test_multeq act.values[0] == act.values[2]" ); eos_assert( self == act.values[2], "test_multeq act.values[0] == act.values[2]" );
} }
void test_math::test_diveq() { void test_math::test_diveq() {
u128_action act; u128_action act;
auto n = read_action(&act, sizeof(u128_action)); auto n = read_action(&act, sizeof(u128_action));
assert( n == sizeof(u128_action), "test_diveq n == sizeof(u128_action)" ); eos_assert( n == sizeof(u128_action), "test_diveq n == sizeof(u128_action)" );
uint128_t self = *(act.values); uint128_t self = *(act.values);
uint128_t other = *(act.values+1); uint128_t other = *(act.values+1);
eosio::diveq(self, other); eosio::diveq(self, other);
assert( self == act.values[2], "test_diveq act.values[0] == act.values[2]" ); eos_assert( self == act.values[2], "test_diveq act.values[0] == act.values[2]" );
} }
void test_math::test_diveq_by_0() { void test_math::test_diveq_by_0() {
...@@ -42,19 +42,19 @@ void test_math::test_i64_to_double() ...@@ -42,19 +42,19 @@ void test_math::test_i64_to_double()
read_action(&i, sizeof(i)); read_action(&i, sizeof(i));
uint64_t d = i64_to_double(2); uint64_t d = i64_to_double(2);
assert(i[0] == d, "test_i64_to_double i[0] == d"); eos_assert(i[0] == d, "test_i64_to_double i[0] == d");
d = i64_to_double(-2); d = i64_to_double(-2);
assert(i[1] == d, "test_i64_to_double i[1] == d"); eos_assert(i[1] == d, "test_i64_to_double i[1] == d");
d = i64_to_double(100000); d = i64_to_double(100000);
assert(i[2] == d, "test_i64_to_double i[2] == d"); eos_assert(i[2] == d, "test_i64_to_double i[2] == d");
d = i64_to_double(-100000); d = i64_to_double(-100000);
assert(i[3] == d, "test_i64_to_double i[3] == d"); eos_assert(i[3] == d, "test_i64_to_double i[3] == d");
d = i64_to_double(0); d = i64_to_double(0);
assert(0 == d, "test_i64_to_double 0 == d"); eos_assert(0 == d, "test_i64_to_double 0 == d");
} }
void test_math::test_double_to_i64() void test_math::test_double_to_i64()
...@@ -63,19 +63,19 @@ void test_math::test_double_to_i64() ...@@ -63,19 +63,19 @@ void test_math::test_double_to_i64()
read_action(&d, sizeof(d)); read_action(&d, sizeof(d));
int64_t i = double_to_i64(d[0]); int64_t i = double_to_i64(d[0]);
assert(2 == i, "test_double_to_i64 2 == i"); eos_assert(2 == i, "test_double_to_i64 2 == i");
i = double_to_i64(d[1]); i = double_to_i64(d[1]);
assert(-2 == i, "test_double_to_i64 -2 == i"); eos_assert(-2 == i, "test_double_to_i64 -2 == i");
i = double_to_i64(d[2]); i = double_to_i64(d[2]);
assert(100000 == i, "test_double_to_i64 100000 == i"); eos_assert(100000 == i, "test_double_to_i64 100000 == i");
i = double_to_i64(d[3]); i = double_to_i64(d[3]);
assert(-100000 == i, "test_double_to_i64 -100000 == i"); eos_assert(-100000 == i, "test_double_to_i64 -100000 == i");
i = double_to_i64(0); i = double_to_i64(0);
assert(0 == i, "test_double_to_i64 0 == i"); eos_assert(0 == i, "test_double_to_i64 0 == i");
} }
void test_math::test_double_api() { void test_math::test_double_api() {
...@@ -85,28 +85,28 @@ void test_math::test_double_api() { ...@@ -85,28 +85,28 @@ void test_math::test_double_api() {
double_add( i64_to_double(3), i64_to_double(2) ) double_add( i64_to_double(3), i64_to_double(2) )
); );
assert( double_to_i64(res) == 1, "double funcs"); eos_assert( double_to_i64(res) == 1, "double funcs");
res = double_eq( res = double_eq(
double_div( i64_to_double(5), i64_to_double(9) ), double_div( i64_to_double(5), i64_to_double(9) ),
double_div( i64_to_double(5), i64_to_double(9) ) double_div( i64_to_double(5), i64_to_double(9) )
); );
assert(res == 1, "double_eq"); eos_assert(res == 1, "double_eq");
res = double_gt( res = double_gt(
double_div( i64_to_double(9999999), i64_to_double(7777777) ), double_div( i64_to_double(9999999), i64_to_double(7777777) ),
double_div( i64_to_double(9999998), i64_to_double(7777777) ) double_div( i64_to_double(9999998), i64_to_double(7777777) )
); );
assert(res == 1, "double_gt"); eos_assert(res == 1, "double_gt");
res = double_lt( res = double_lt(
double_div( i64_to_double(9999998), i64_to_double(7777777) ), double_div( i64_to_double(9999998), i64_to_double(7777777) ),
double_div( i64_to_double(9999999), i64_to_double(7777777) ) double_div( i64_to_double(9999999), i64_to_double(7777777) )
); );
assert(res == 1, "double_lt"); eos_assert(res == 1, "double_lt");
} }
void test_math::test_double_api_div_0() { void test_math::test_double_api_div_0() {
...@@ -115,5 +115,5 @@ void test_math::test_double_api_div_0() { ...@@ -115,5 +115,5 @@ void test_math::test_double_api_div_0() {
i64_to_double(-5), i64_to_double(5) i64_to_double(-5), i64_to_double(5)
)); ));
assert(false, "should've thrown an error"); eos_assert(false, "should've thrown an error");
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
using namespace eosio; using namespace eosio;
void test_real::create_instances() { void test_real::create_instances() {
real lhs1(5); real lhs1(5);
assert(lhs1.value() == 5, "real instance value is wrong"); eos_assert(lhs1.value() == 5, "real instance value is wrong");
} }
void test_real::test_division() { void test_real::test_division() {
...@@ -14,7 +14,7 @@ void test_real::test_division() { ...@@ -14,7 +14,7 @@ void test_real::test_division() {
real result1 = lhs1 / rhs1; real result1 = lhs1 / rhs1;
uint64_t a = double_div(i64_to_double(5), i64_to_double(10)); uint64_t a = double_div(i64_to_double(5), i64_to_double(10));
assert(a == result1.value(), "real division result is wrong"); eos_assert(a == result1.value(), "real division result is wrong");
} }
void test_real::test_division_by_0() { void test_real::test_division_by_0() {
...@@ -22,7 +22,7 @@ void test_real::test_division_by_0() { ...@@ -22,7 +22,7 @@ void test_real::test_division_by_0() {
real rhs1(0); real rhs1(0);
real result1 = lhs1 / rhs1; real result1 = lhs1 / rhs1;
assert(false, "should've thrown an error"); eos_assert(false, "should've thrown an error");
} }
void test_real::test_multiplication() { void test_real::test_multiplication() {
...@@ -30,7 +30,7 @@ void test_real::test_multiplication() { ...@@ -30,7 +30,7 @@ void test_real::test_multiplication() {
real rhs1(10); real rhs1(10);
real result1 = lhs1 * rhs1; real result1 = lhs1 * rhs1;
uint64_t res = double_mult( 5, 10 ); uint64_t res = double_mult( 5, 10 );
assert(res == result1.value(), "real multiplication result is wrong"); eos_assert(res == result1.value(), "real multiplication result is wrong");
} }
void test_real::test_addition() void test_real::test_addition()
...@@ -48,7 +48,7 @@ void test_real::test_addition() ...@@ -48,7 +48,7 @@ void test_real::test_addition()
real sum = result1+result2; real sum = result1+result2;
uint64_t c = double_add( a, b ); uint64_t c = double_add( a, b );
assert(sum.value() == c, "real addition operation result is wrong"); eos_assert(sum.value() == c, "real addition operation result is wrong");
} }
...@@ -77,7 +77,7 @@ void test_transaction::send_action() { ...@@ -77,7 +77,7 @@ void test_transaction::send_action() {
} }
void test_transaction::send_action_empty() { void test_transaction::send_action_empty() {
test_action_action<N(testapi), WASM_TEST_ACTION("test_action", "assert_true")> test_action; test_action_action<N(testapi), WASM_TEST_ACTION("test_action", "eos_assert_true")> test_action;
action act(vector<permission_level>{{N(testapi), N(active)}}, test_action); action act(vector<permission_level>{{N(testapi), N(active)}}, test_action);
...@@ -93,7 +93,7 @@ void test_transaction::send_action_large() { ...@@ -93,7 +93,7 @@ void test_transaction::send_action_large() {
copy_data(large_message, 8*1024, test_action.data); copy_data(large_message, 8*1024, test_action.data);
action act(vector<permission_level>{{N(testapi), N(active)}}, test_action); action act(vector<permission_level>{{N(testapi), N(active)}}, test_action);
act.send(); act.send();
assert(false, "send_message_large() should've thrown an error"); eos_assert(false, "send_message_large() should've thrown an error");
} }
/** /**
...@@ -114,7 +114,7 @@ void test_transaction::send_action_recurse() { ...@@ -114,7 +114,7 @@ void test_transaction::send_action_recurse() {
* cause failure due to inline TX failure * cause failure due to inline TX failure
*/ */
void test_transaction::send_action_inline_fail() { void test_transaction::send_action_inline_fail() {
test_action_action<N(testapi), WASM_TEST_ACTION("test_action", "assert_false")> test_action; test_action_action<N(testapi), WASM_TEST_ACTION("test_action", "eos_assert_false")> test_action;
action act(vector<permission_level>{{N(testapi), N(active)}}, test_action); action act(vector<permission_level>{{N(testapi), N(active)}}, test_action);
...@@ -136,7 +136,7 @@ void test_transaction::send_transaction_empty() { ...@@ -136,7 +136,7 @@ void test_transaction::send_transaction_empty() {
auto trx = transaction(); auto trx = transaction();
trx.send(0); trx.send(0);
assert(false, "send_transaction_empty() should've thrown an error"); eos_assert(false, "send_transaction_empty() should've thrown an error");
} }
/** /**
...@@ -153,5 +153,5 @@ void test_transaction::send_transaction_large() { ...@@ -153,5 +153,5 @@ void test_transaction::send_transaction_large() {
trx.send(0); trx.send(0);
assert(false, "send_transaction_large() should've thrown an error"); eos_assert(false, "send_transaction_large() should've thrown an error");
} }
...@@ -8,93 +8,93 @@ ...@@ -8,93 +8,93 @@
void test_types::types_size() { void test_types::types_size() {
assert( sizeof(int64_t) == 8, "int64_t size != 8"); eos_assert( sizeof(int64_t) == 8, "int64_t size != 8");
assert( sizeof(uint64_t) == 8, "uint64_t size != 8"); eos_assert( sizeof(uint64_t) == 8, "uint64_t size != 8");
assert( sizeof(uint32_t) == 4, "uint32_t size != 4"); eos_assert( sizeof(uint32_t) == 4, "uint32_t size != 4");
assert( sizeof(int32_t) == 4, "int32_t size != 4"); eos_assert( sizeof(int32_t) == 4, "int32_t size != 4");
assert( sizeof(uint128_t) == 16, "uint128_t size != 16"); eos_assert( sizeof(uint128_t) == 16, "uint128_t size != 16");
assert( sizeof(int128_t) == 16, "int128_t size != 16"); eos_assert( sizeof(int128_t) == 16, "int128_t size != 16");
assert( sizeof(uint8_t) == 1, "uint8_t size != 1"); eos_assert( sizeof(uint8_t) == 1, "uint8_t size != 1");
assert( sizeof(account_name) == 8, "account_name size != 8"); eos_assert( sizeof(account_name) == 8, "account_name size != 8");
assert( sizeof(token_name) == 8, "token_name size != 8"); eos_assert( sizeof(token_name) == 8, "token_name size != 8");
assert( sizeof(table_name) == 8, "table_name size != 8"); eos_assert( sizeof(table_name) == 8, "table_name size != 8");
assert( sizeof(time) == 4, "time size != 4"); eos_assert( sizeof(time) == 4, "time size != 4");
assert( sizeof(uint256) == 32, "uint256 != 32" ); eos_assert( sizeof(uint256) == 32, "uint256 != 32" );
} }
void test_types::char_to_symbol() { void test_types::char_to_symbol() {
assert( eosio::char_to_symbol('1') == 1, "eosio::char_to_symbol('1') != 1"); eos_assert( eosio::char_to_symbol('1') == 1, "eosio::char_to_symbol('1') != 1");
assert( eosio::char_to_symbol('2') == 2, "eosio::char_to_symbol('2') != 2"); eos_assert( eosio::char_to_symbol('2') == 2, "eosio::char_to_symbol('2') != 2");
assert( eosio::char_to_symbol('3') == 3, "eosio::char_to_symbol('3') != 3"); eos_assert( eosio::char_to_symbol('3') == 3, "eosio::char_to_symbol('3') != 3");
assert( eosio::char_to_symbol('4') == 4, "eosio::char_to_symbol('4') != 4"); eos_assert( eosio::char_to_symbol('4') == 4, "eosio::char_to_symbol('4') != 4");
assert( eosio::char_to_symbol('5') == 5, "eosio::char_to_symbol('5') != 5"); eos_assert( eosio::char_to_symbol('5') == 5, "eosio::char_to_symbol('5') != 5");
assert( eosio::char_to_symbol('a') == 6, "eosio::char_to_symbol('a') != 6"); eos_assert( eosio::char_to_symbol('a') == 6, "eosio::char_to_symbol('a') != 6");
assert( eosio::char_to_symbol('b') == 7, "eosio::char_to_symbol('b') != 7"); eos_assert( eosio::char_to_symbol('b') == 7, "eosio::char_to_symbol('b') != 7");
assert( eosio::char_to_symbol('c') == 8, "eosio::char_to_symbol('c') != 8"); eos_assert( eosio::char_to_symbol('c') == 8, "eosio::char_to_symbol('c') != 8");
assert( eosio::char_to_symbol('d') == 9, "eosio::char_to_symbol('d') != 9"); eos_assert( eosio::char_to_symbol('d') == 9, "eosio::char_to_symbol('d') != 9");
assert( eosio::char_to_symbol('e') == 10, "eosio::char_to_symbol('e') != 10"); eos_assert( eosio::char_to_symbol('e') == 10, "eosio::char_to_symbol('e') != 10");
assert( eosio::char_to_symbol('f') == 11, "eosio::char_to_symbol('f') != 11"); eos_assert( eosio::char_to_symbol('f') == 11, "eosio::char_to_symbol('f') != 11");
assert( eosio::char_to_symbol('g') == 12, "eosio::char_to_symbol('g') != 12"); eos_assert( eosio::char_to_symbol('g') == 12, "eosio::char_to_symbol('g') != 12");
assert( eosio::char_to_symbol('h') == 13, "eosio::char_to_symbol('h') != 13"); eos_assert( eosio::char_to_symbol('h') == 13, "eosio::char_to_symbol('h') != 13");
assert( eosio::char_to_symbol('i') == 14, "eosio::char_to_symbol('i') != 14"); eos_assert( eosio::char_to_symbol('i') == 14, "eosio::char_to_symbol('i') != 14");
assert( eosio::char_to_symbol('j') == 15, "eosio::char_to_symbol('j') != 15"); eos_assert( eosio::char_to_symbol('j') == 15, "eosio::char_to_symbol('j') != 15");
assert( eosio::char_to_symbol('k') == 16, "eosio::char_to_symbol('k') != 16"); eos_assert( eosio::char_to_symbol('k') == 16, "eosio::char_to_symbol('k') != 16");
assert( eosio::char_to_symbol('l') == 17, "eosio::char_to_symbol('l') != 17"); eos_assert( eosio::char_to_symbol('l') == 17, "eosio::char_to_symbol('l') != 17");
assert( eosio::char_to_symbol('m') == 18, "eosio::char_to_symbol('m') != 18"); eos_assert( eosio::char_to_symbol('m') == 18, "eosio::char_to_symbol('m') != 18");
assert( eosio::char_to_symbol('n') == 19, "eosio::char_to_symbol('n') != 19"); eos_assert( eosio::char_to_symbol('n') == 19, "eosio::char_to_symbol('n') != 19");
assert( eosio::char_to_symbol('o') == 20, "eosio::char_to_symbol('o') != 20"); eos_assert( eosio::char_to_symbol('o') == 20, "eosio::char_to_symbol('o') != 20");
assert( eosio::char_to_symbol('p') == 21, "eosio::char_to_symbol('p') != 21"); eos_assert( eosio::char_to_symbol('p') == 21, "eosio::char_to_symbol('p') != 21");
assert( eosio::char_to_symbol('q') == 22, "eosio::char_to_symbol('q') != 22"); eos_assert( eosio::char_to_symbol('q') == 22, "eosio::char_to_symbol('q') != 22");
assert( eosio::char_to_symbol('r') == 23, "eosio::char_to_symbol('r') != 23"); eos_assert( eosio::char_to_symbol('r') == 23, "eosio::char_to_symbol('r') != 23");
assert( eosio::char_to_symbol('s') == 24, "eosio::char_to_symbol('s') != 24"); eos_assert( eosio::char_to_symbol('s') == 24, "eosio::char_to_symbol('s') != 24");
assert( eosio::char_to_symbol('t') == 25, "eosio::char_to_symbol('t') != 25"); eos_assert( eosio::char_to_symbol('t') == 25, "eosio::char_to_symbol('t') != 25");
assert( eosio::char_to_symbol('u') == 26, "eosio::char_to_symbol('u') != 26"); eos_assert( eosio::char_to_symbol('u') == 26, "eosio::char_to_symbol('u') != 26");
assert( eosio::char_to_symbol('v') == 27, "eosio::char_to_symbol('v') != 27"); eos_assert( eosio::char_to_symbol('v') == 27, "eosio::char_to_symbol('v') != 27");
assert( eosio::char_to_symbol('w') == 28, "eosio::char_to_symbol('w') != 28"); eos_assert( eosio::char_to_symbol('w') == 28, "eosio::char_to_symbol('w') != 28");
assert( eosio::char_to_symbol('x') == 29, "eosio::char_to_symbol('x') != 29"); eos_assert( eosio::char_to_symbol('x') == 29, "eosio::char_to_symbol('x') != 29");
assert( eosio::char_to_symbol('y') == 30, "eosio::char_to_symbol('y') != 30"); eos_assert( eosio::char_to_symbol('y') == 30, "eosio::char_to_symbol('y') != 30");
assert( eosio::char_to_symbol('z') == 31, "eosio::char_to_symbol('z') != 31"); eos_assert( eosio::char_to_symbol('z') == 31, "eosio::char_to_symbol('z') != 31");
for(unsigned char i = 0; i<255; i++) { for(unsigned char i = 0; i<255; i++) {
if((i >= 'a' && i <= 'z') || (i >= '1' || i <= '5')) continue; if((i >= 'a' && i <= 'z') || (i >= '1' || i <= '5')) continue;
assert( eosio::char_to_symbol(i) == 0, "eosio::char_to_symbol() != 0"); eos_assert( eosio::char_to_symbol(i) == 0, "eosio::char_to_symbol() != 0");
} }
} }
void test_types::string_to_name() { void test_types::string_to_name() {
assert( eosio::string_to_name("a") == N(a) , "eosio::string_to_name(a)" ); eos_assert( eosio::string_to_name("a") == N(a) , "eosio::string_to_name(a)" );
assert( eosio::string_to_name("ba") == N(ba) , "eosio::string_to_name(ba)" ); eos_assert( eosio::string_to_name("ba") == N(ba) , "eosio::string_to_name(ba)" );
assert( eosio::string_to_name("cba") == N(cba) , "eosio::string_to_name(cba)" ); eos_assert( eosio::string_to_name("cba") == N(cba) , "eosio::string_to_name(cba)" );
assert( eosio::string_to_name("dcba") == N(dcba) , "eosio::string_to_name(dcba)" ); eos_assert( eosio::string_to_name("dcba") == N(dcba) , "eosio::string_to_name(dcba)" );
assert( eosio::string_to_name("edcba") == N(edcba) , "eosio::string_to_name(edcba)" ); eos_assert( eosio::string_to_name("edcba") == N(edcba) , "eosio::string_to_name(edcba)" );
assert( eosio::string_to_name("fedcba") == N(fedcba) , "eosio::string_to_name(fedcba)" ); eos_assert( eosio::string_to_name("fedcba") == N(fedcba) , "eosio::string_to_name(fedcba)" );
assert( eosio::string_to_name("gfedcba") == N(gfedcba) , "eosio::string_to_name(gfedcba)" ); eos_assert( eosio::string_to_name("gfedcba") == N(gfedcba) , "eosio::string_to_name(gfedcba)" );
assert( eosio::string_to_name("hgfedcba") == N(hgfedcba) , "eosio::string_to_name(hgfedcba)" ); eos_assert( eosio::string_to_name("hgfedcba") == N(hgfedcba) , "eosio::string_to_name(hgfedcba)" );
assert( eosio::string_to_name("ihgfedcba") == N(ihgfedcba) , "eosio::string_to_name(ihgfedcba)" ); eos_assert( eosio::string_to_name("ihgfedcba") == N(ihgfedcba) , "eosio::string_to_name(ihgfedcba)" );
assert( eosio::string_to_name("jihgfedcba") == N(jihgfedcba) , "eosio::string_to_name(jihgfedcba)" ); eos_assert( eosio::string_to_name("jihgfedcba") == N(jihgfedcba) , "eosio::string_to_name(jihgfedcba)" );
assert( eosio::string_to_name("kjihgfedcba") == N(kjihgfedcba) , "eosio::string_to_name(kjihgfedcba)" ); eos_assert( eosio::string_to_name("kjihgfedcba") == N(kjihgfedcba) , "eosio::string_to_name(kjihgfedcba)" );
assert( eosio::string_to_name("lkjihgfedcba") == N(lkjihgfedcba) , "eosio::string_to_name(lkjihgfedcba)" ); eos_assert( eosio::string_to_name("lkjihgfedcba") == N(lkjihgfedcba) , "eosio::string_to_name(lkjihgfedcba)" );
assert( eosio::string_to_name("mlkjihgfedcba") == N(mlkjihgfedcba) , "eosio::string_to_name(mlkjihgfedcba)" ); eos_assert( eosio::string_to_name("mlkjihgfedcba") == N(mlkjihgfedcba) , "eosio::string_to_name(mlkjihgfedcba)" );
assert( eosio::string_to_name("mlkjihgfedcba1") == N(mlkjihgfedcba2) , "eosio::string_to_name(mlkjihgfedcba2)" ); eos_assert( eosio::string_to_name("mlkjihgfedcba1") == N(mlkjihgfedcba2) , "eosio::string_to_name(mlkjihgfedcba2)" );
assert( eosio::string_to_name("mlkjihgfedcba55") == N(mlkjihgfedcba14) , "eosio::string_to_name(mlkjihgfedcba14)" ); eos_assert( eosio::string_to_name("mlkjihgfedcba55") == N(mlkjihgfedcba14) , "eosio::string_to_name(mlkjihgfedcba14)" );
assert( eosio::string_to_name("azAA34") == N(azBB34) , "eosio::string_to_name N(azBB34)" ); eos_assert( eosio::string_to_name("azAA34") == N(azBB34) , "eosio::string_to_name N(azBB34)" );
assert( eosio::string_to_name("AZaz12Bc34") == N(AZaz12Bc34) , "eosio::string_to_name AZaz12Bc34" ); eos_assert( eosio::string_to_name("AZaz12Bc34") == N(AZaz12Bc34) , "eosio::string_to_name AZaz12Bc34" );
assert( eosio::string_to_name("AAAAAAAAAAAAAAA") == eosio::string_to_name("BBBBBBBBBBBBBDDDDDFFFGG") , "eosio::string_to_name BBBBBBBBBBBBBDDDDDFFFGG" ); eos_assert( eosio::string_to_name("AAAAAAAAAAAAAAA") == eosio::string_to_name("BBBBBBBBBBBBBDDDDDFFFGG") , "eosio::string_to_name BBBBBBBBBBBBBDDDDDFFFGG" );
} }
void test_types::name_class() { void test_types::name_class() {
assert( eosio::name(eosio::string_to_name("azAA34")).value == N(azAA34), "eosio::name != N(azAA34)" ); eos_assert( eosio::name(eosio::string_to_name("azAA34")).value == N(azAA34), "eosio::name != N(azAA34)" );
assert( eosio::name(eosio::string_to_name("AABBCC")).value == 0, "eosio::name != N(0)" ); eos_assert( eosio::name(eosio::string_to_name("AABBCC")).value == 0, "eosio::name != N(0)" );
assert( eosio::name(eosio::string_to_name("AA11")).value == N(AA11), "eosio::name != N(AA11)" ); eos_assert( eosio::name(eosio::string_to_name("AA11")).value == N(AA11), "eosio::name != N(AA11)" );
assert( eosio::name(eosio::string_to_name("11AA")).value == N(11), "eosio::name != N(11)" ); eos_assert( eosio::name(eosio::string_to_name("11AA")).value == N(11), "eosio::name != N(11)" );
assert( eosio::name(eosio::string_to_name("22BBCCXXAA")).value == N(22), "eosio::name != N(22)" ); eos_assert( eosio::name(eosio::string_to_name("22BBCCXXAA")).value == N(22), "eosio::name != N(22)" );
assert( eosio::name(eosio::string_to_name("AAAbbcccdd")) == eosio::name(eosio::string_to_name("AAAbbcccdd")), "eosio::name == eosio::name" ); eos_assert( eosio::name(eosio::string_to_name("AAAbbcccdd")) == eosio::name(eosio::string_to_name("AAAbbcccdd")), "eosio::name == eosio::name" );
uint64_t tmp = eosio::name(eosio::string_to_name("11bbcccdd")); uint64_t tmp = eosio::name(eosio::string_to_name("11bbcccdd"));
assert(N(11bbcccdd) == tmp, "N(11bbcccdd) == tmp"); eos_assert(N(11bbcccdd) == tmp, "N(11bbcccdd) == tmp");
} }
add_wast_target(test_api_mem "${CMAKE_SOURCE_DIR}/contracts" ${CMAKE_CURRENT_BINARY_DIR}) add_wast_executable( TARGET test_api_mem
INCLUDE_FOLDERS "${STANDARD_INCLUDE_FOLDERS}"
LIBRARIES eosiolib
DESTINATION_FOLDER ${CMAKE_CURRENT_BINARY_DIR}
)
...@@ -58,7 +58,7 @@ extern "C" { ...@@ -58,7 +58,7 @@ extern "C" {
WASM_TEST_HANDLER(test_string, string_literal); WASM_TEST_HANDLER(test_string, string_literal);
//unhandled test call //unhandled test call
assert(false, "Unknown Test"); eos_assert(false, "Unknown Test");
} }
} }
...@@ -7,7 +7,7 @@ using namespace eosio; ...@@ -7,7 +7,7 @@ using namespace eosio;
void verify( const void* const ptr, const uint32_t val, const uint32_t size) { void verify( const void* const ptr, const uint32_t val, const uint32_t size) {
const char* char_ptr = (const char*)ptr; const char* char_ptr = (const char*)ptr;
for (uint32_t i = 0; i < size; ++i) for (uint32_t i = 0; i < size; ++i)
assert(static_cast<uint32_t>(static_cast<unsigned char>(char_ptr[i])) == val, "buffer slot doesn't match"); eos_assert(static_cast<uint32_t>(static_cast<unsigned char>(char_ptr[i])) == val, "buffer slot doesn't match");
} }
#define PRINT_PTR(x) prints("PTR : "); print((uint32_t)x, 4); prints("\n"); #define PRINT_PTR(x) prints("PTR : "); print((uint32_t)x, 4); prints("\n");
...@@ -20,7 +20,7 @@ void test_extended_memory::test_page_memory() { ...@@ -20,7 +20,7 @@ void test_extended_memory::test_page_memory() {
* when I call sbrk(0), then I should get the end of the first page, which should be 64K. * when I call sbrk(0), then I should get the end of the first page, which should be 64K.
*/ */
auto prev = sbrk(0); auto prev = sbrk(0);
assert(reinterpret_cast<uint32_t>(prev) == _64K, "Should initially have 1 64K page allocated"); eos_assert(reinterpret_cast<uint32_t>(prev) == _64K, "Should initially have 1 64K page allocated");
/* /*
* Test test_extended_memory::test_page_memory `ensure sbrk returns previous end of program break` * Test test_extended_memory::test_page_memory `ensure sbrk returns previous end of program break`
...@@ -28,7 +28,7 @@ void test_extended_memory::test_page_memory() { ...@@ -28,7 +28,7 @@ void test_extended_memory::test_page_memory() {
* when I call sbrk(1), then I should get the end of the first page, which should be 64K. * when I call sbrk(1), then I should get the end of the first page, which should be 64K.
*/ */
prev = sbrk(1); prev = sbrk(1);
assert(reinterpret_cast<uint32_t>(prev) == _64K, "Should still be pointing to the end of the 1st 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == _64K, "Should still be pointing to the end of the 1st 64K page");
/* /*
* Test test_extended_memory::test_page_memory `ensure sbrk aligns allocations` * Test test_extended_memory::test_page_memory `ensure sbrk aligns allocations`
...@@ -36,7 +36,7 @@ void test_extended_memory::test_page_memory() { ...@@ -36,7 +36,7 @@ void test_extended_memory::test_page_memory() {
* when I call sbrk(2), then I should get 8 bytes past the previous end because of maintaining 8 byte alignment. * when I call sbrk(2), then I should get 8 bytes past the previous end because of maintaining 8 byte alignment.
*/ */
prev = sbrk(2); prev = sbrk(2);
assert(reinterpret_cast<uint32_t>(prev) == _64K+8, "Should point to 8 past the end of 1st 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == _64K+8, "Should point to 8 past the end of 1st 64K page");
/* /*
* Test test_extended_memory::test_page_memory `ensure sbrk aligns allocations 2` * Test test_extended_memory::test_page_memory `ensure sbrk aligns allocations 2`
...@@ -44,31 +44,31 @@ void test_extended_memory::test_page_memory() { ...@@ -44,31 +44,31 @@ void test_extended_memory::test_page_memory() {
* when I call sbrk(_64K-17), then I should get 8 bytes past the previous end because of maintaining 8 byte alignment. * when I call sbrk(_64K-17), then I should get 8 bytes past the previous end because of maintaining 8 byte alignment.
*/ */
prev = sbrk(_64K - 17); prev = sbrk(_64K - 17);
assert(reinterpret_cast<uint32_t>(prev) == _64K+16, "Should point to 16 past the end of the 1st 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == _64K+16, "Should point to 16 past the end of the 1st 64K page");
prev = sbrk(1); prev = sbrk(1);
assert(reinterpret_cast<uint32_t>(prev) == 2*_64K, "Should point to the end of the 2nd 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 2*_64K, "Should point to the end of the 2nd 64K page");
prev = sbrk(_64K); prev = sbrk(_64K);
assert(reinterpret_cast<uint32_t>(prev) == 2*_64K+8, "Should point to 8 past the end of the 2nd 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 2*_64K+8, "Should point to 8 past the end of the 2nd 64K page");
prev = sbrk(_64K - 15); prev = sbrk(_64K - 15);
assert(reinterpret_cast<uint32_t>(prev) == 3*_64K+8, "Should point to 8 past the end of the 3rd 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 3*_64K+8, "Should point to 8 past the end of the 3rd 64K page");
prev = sbrk(2*_64K-1); prev = sbrk(2*_64K-1);
assert(reinterpret_cast<uint32_t>(prev) == 4*_64K, "Should point to the end of the 4th 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 4*_64K, "Should point to the end of the 4th 64K page");
prev = sbrk(2*_64K); prev = sbrk(2*_64K);
assert(reinterpret_cast<uint32_t>(prev) == 6*_64K, "Should point to the end of the 6th 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 6*_64K, "Should point to the end of the 6th 64K page");
prev = sbrk(2*_64K+1); prev = sbrk(2*_64K+1);
assert(reinterpret_cast<uint32_t>(prev) == 8*_64K, "Should point to the end of the 8th 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 8*_64K, "Should point to the end of the 8th 64K page");
prev = sbrk(6*_64K-15); prev = sbrk(6*_64K-15);
assert(reinterpret_cast<uint32_t>(prev) == 10*_64K+8, "Should point to 8 past the end of the 10th 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 10*_64K+8, "Should point to 8 past the end of the 10th 64K page");
prev = sbrk(0); prev = sbrk(0);
assert(reinterpret_cast<uint32_t>(prev) == 16*_64K, "Should point to 8 past the end of the 16th 64K page"); eos_assert(reinterpret_cast<uint32_t>(prev) == 16*_64K, "Should point to 8 past the end of the 16th 64K page");
} }
void test_extended_memory::test_page_memory_exceeded() { void test_extended_memory::test_page_memory_exceeded() {
...@@ -78,34 +78,34 @@ void test_extended_memory::test_page_memory_exceeded() { ...@@ -78,34 +78,34 @@ void test_extended_memory::test_page_memory_exceeded() {
* when I increase allocated memory with sbrk(15*64K), then I should get the end of the first page. * when I increase allocated memory with sbrk(15*64K), then I should get the end of the first page.
*/ */
auto prev = sbrk(15*64*1024); auto prev = sbrk(15*64*1024);
assert(reinterpret_cast<uint32_t>(prev) == 64*1024, "Should have allocated 1M of memory"); eos_assert(reinterpret_cast<uint32_t>(prev) == 64*1024, "Should have allocated 1M of memory");
/* /*
* Test test_extended_memory::test_page_memory_exceeded `ensure sbrk won't allocation more than 1M of memory 2` * Test test_extended_memory::test_page_memory_exceeded `ensure sbrk won't allocation more than 1M of memory 2`
*/ */
prev = sbrk(0); prev = sbrk(0);
assert(reinterpret_cast<uint32_t>(prev) == (1024*1024), "Should have allocated 1M of memory"); eos_assert(reinterpret_cast<uint32_t>(prev) == (1024*1024), "Should have allocated 1M of memory");
sbrk(1); sbrk(1);
assert(0, "Should have thrown exception for trying to allocate too much memory"); eos_assert(0, "Should have thrown exception for trying to allocate too much memory");
} }
void test_extended_memory::test_page_memory_negative_bytes() { void test_extended_memory::test_page_memory_negative_bytes() {
sbrk(-1); sbrk(-1);
assert(0, "Should have thrown exception for trying to remove memory"); eos_assert(0, "Should have thrown exception for trying to remove memory");
} }
void test_extended_memory::test_initial_buffer() { void test_extended_memory::test_initial_buffer() {
// initial buffer should be exhausted at 8192 bytes // initial buffer should be exhausted at 8192 bytes
// 8176 left ( 12 + ptr header ) // 8176 left ( 12 + ptr header )
char* ptr1 = (char*)eosio::malloc(12); char* ptr1 = (char*)malloc(12);
assert(ptr1 != nullptr, "should have allocated 12 char buffer"); eos_assert(ptr1 != nullptr, "should have allocated 12 char buffer");
char* ptr2 = (char*)eosio::malloc(8159); char* ptr2 = (char*)malloc(8159);
assert(ptr2 != nullptr, "should have allocate 8159 char buffer"); eos_assert(ptr2 != nullptr, "should have allocate 8159 char buffer");
// should overrun initial heap, allocated in 2nd heap // should overrun initial heap, allocated in 2nd heap
char* ptr3 = (char*)eosio::malloc(20); char* ptr3 = (char*)malloc(20);
assert(ptr3 != nullptr, "should have allocated a 20 char buffer"); eos_assert(ptr3 != nullptr, "should have allocated a 20 char buffer");
verify(ptr3, 0, 20); verify(ptr3, 0, 20);
} }
...@@ -12,7 +12,7 @@ void verify_mem(const void* const ptr, const uint32_t val, const uint32_t size) ...@@ -12,7 +12,7 @@ void verify_mem(const void* const ptr, const uint32_t val, const uint32_t size)
const char* char_ptr = (const char*)ptr; const char* char_ptr = (const char*)ptr;
for (uint32_t i = 0; i < size; ++i) for (uint32_t i = 0; i < size; ++i)
{ {
assert(static_cast<uint32_t>(static_cast<unsigned char>(char_ptr[i])) == val, "buf slot doesn't match"); eos_assert(static_cast<uint32_t>(static_cast<unsigned char>(char_ptr[i])) == val, "buf slot doesn't match");
} }
} }
...@@ -37,134 +37,134 @@ void print(const void* const ptr, const uint32_t size) ...@@ -37,134 +37,134 @@ void print(const void* const ptr, const uint32_t size)
*/ */
void test_memory::test_memory_allocs() void test_memory::test_memory_allocs()
{ {
char* ptr1 = (char*)eosio::malloc(0); char* ptr1 = (char*)malloc(0);
assert(ptr1 == nullptr, "should not have allocated a 0 char buf"); eos_assert(ptr1 == nullptr, "should not have allocated a 0 char buf");
// 20 chars - 20 + 4(header) which is divisible by 8 // 20 chars - 20 + 4(header) which is divisible by 8
ptr1 = (char*)eosio::malloc(20); ptr1 = (char*)malloc(20);
assert(ptr1 != nullptr, "should have allocated a 20 char buf"); eos_assert(ptr1 != nullptr, "should have allocated a 20 char buf");
verify_mem(ptr1, 0, 20); verify_mem(ptr1, 0, 20);
// existing memory layout -> |24| // existing memory layout -> |24|
// 36 chars allocated - 30 + 4 plus an extra 6 to be divisible by 8 // 36 chars allocated - 30 + 4 plus an extra 6 to be divisible by 8
char* ptr1_realloc = (char*)eosio::realloc(ptr1, 30); char* ptr1_realloc = (char*)realloc(ptr1, 30);
assert(ptr1_realloc != nullptr, "should have returned a 30 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a 30 char buf");
assert(ptr1_realloc == ptr1, "should have enlarged the 20 char buf"); eos_assert(ptr1_realloc == ptr1, "should have enlarged the 20 char buf");
// existing memory layout -> |40| // existing memory layout -> |40|
// 20 chars allocated // 20 chars allocated
char* ptr2 = (char*)eosio::malloc(20); char* ptr2 = (char*)malloc(20);
assert(ptr2 != nullptr, "should have allocated another 20 char buf"); eos_assert(ptr2 != nullptr, "should have allocated another 20 char buf");
assert(ptr1 + 36 < ptr2, "20 char buf should have been created after ptr1"); // test specific to implementation (can remove for refactor) eos_assert(ptr1 + 36 < ptr2, "20 char buf should have been created after ptr1"); // test specific to implementation (can remove for refactor)
verify_mem(ptr1, 0, 36); verify_mem(ptr1, 0, 36);
assert(ptr1[36] != 0, "should not have empty bytes following since block allocated"); // test specific to implementation (can remove for refactor) eos_assert(ptr1[36] != 0, "should not have empty bytes following since block allocated"); // test specific to implementation (can remove for refactor)
// existing memory layout -> |40|24| // existing memory layout -> |40|24|
//shrink the buffer //shrink the buffer
ptr1[14] = 0x7e; ptr1[14] = 0x7e;
// 20 chars allocated (still) // 20 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 15); ptr1_realloc = (char*)realloc(ptr1, 15);
assert(ptr1_realloc != nullptr, "should have returned a 15 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a 15 char buf");
assert(ptr1_realloc == ptr1, "should have shrunk the reallocated 30 char buf"); eos_assert(ptr1_realloc == ptr1, "should have shrunk the reallocated 30 char buf");
verify_mem(ptr1, 0, 14); // test specific to implementation (can remove for refactor) verify_mem(ptr1, 0, 14); // test specific to implementation (can remove for refactor)
assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched"); eos_assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched");
// existing memory layout -> |24(shrunk)|16(freed)|24| // existing memory layout -> |24(shrunk)|16(freed)|24|
//same size the buffer (verify corner case) //same size the buffer (verify corner case)
// 20 chars allocated (still) // 20 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 15); ptr1_realloc = (char*)realloc(ptr1, 15);
assert(ptr1_realloc != nullptr, "should have returned a reallocated 15 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a reallocated 15 char buf");
assert(ptr1_realloc == ptr1, "should have reallocated 15 char buf as the same buf"); eos_assert(ptr1_realloc == ptr1, "should have reallocated 15 char buf as the same buf");
assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for unchanged buf"); eos_assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for unchanged buf");
//same size as max allocated buffer -- test specific to implementation (can remove for refactor) //same size as max allocated buffer -- test specific to implementation (can remove for refactor)
ptr1_realloc = (char*)eosio::realloc(ptr1, 30); ptr1_realloc = (char*)realloc(ptr1, 30);
assert(ptr1_realloc != nullptr, "should have returned a 30 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a 30 char buf");
assert(ptr1_realloc == ptr1, "should have increased the buf back to orig max"); //test specific to implementation (can remove for refactor) eos_assert(ptr1_realloc == ptr1, "should have increased the buf back to orig max"); //test specific to implementation (can remove for refactor)
assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for expanded buf"); eos_assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for expanded buf");
//increase buffer beyond (indicated) allocated space //increase buffer beyond (indicated) allocated space
// 36 chars allocated (still) // 36 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 36); ptr1_realloc = (char*)realloc(ptr1, 36);
assert(ptr1_realloc != nullptr, "should have returned a 36 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a 36 char buf");
assert(ptr1_realloc == ptr1, "should have increased char buf to actual size"); // test specific to implementation (can remove for refactor) eos_assert(ptr1_realloc == ptr1, "should have increased char buf to actual size"); // test specific to implementation (can remove for refactor)
//increase buffer beyond allocated space //increase buffer beyond allocated space
ptr1[35] = 0x7f; ptr1[35] = 0x7f;
// 44 chars allocated - 37 + 4 plus an extra 7 to be divisible by 8 // 44 chars allocated - 37 + 4 plus an extra 7 to be divisible by 8
ptr1_realloc = (char*)eosio::realloc(ptr1, 37); ptr1_realloc = (char*)realloc(ptr1, 37);
assert(ptr1_realloc != nullptr, "should have returned a 37 char buf"); eos_assert(ptr1_realloc != nullptr, "should have returned a 37 char buf");
assert(ptr1_realloc != ptr1, "should have had to create new 37 char buf from 36 char buf"); eos_assert(ptr1_realloc != ptr1, "should have had to create new 37 char buf from 36 char buf");
assert(ptr2 < ptr1_realloc, "should have been created after ptr2"); // test specific to implementation (can remove for refactor) eos_assert(ptr2 < ptr1_realloc, "should have been created after ptr2"); // test specific to implementation (can remove for refactor)
assert(ptr1_realloc[14] == 0x7e, "orig 36 char buf's content should be copied"); eos_assert(ptr1_realloc[14] == 0x7e, "orig 36 char buf's content should be copied");
assert(ptr1_realloc[35] == 0x7f, "orig 36 char buf's content should be copied"); eos_assert(ptr1_realloc[35] == 0x7f, "orig 36 char buf's content should be copied");
//realloc with nullptr //realloc with nullptr
char* nullptr_realloc = (char*)eosio::realloc(nullptr, 50); char* nullptr_realloc = (char*)realloc(nullptr, 50);
assert(nullptr_realloc != nullptr, "should have returned a 50 char buf and ignored nullptr"); eos_assert(nullptr_realloc != nullptr, "should have returned a 50 char buf and ignored nullptr");
assert(ptr1_realloc < nullptr_realloc, "should have created after ptr1_realloc"); // test specific to implementation (can remove for refactor) eos_assert(ptr1_realloc < nullptr_realloc, "should have created after ptr1_realloc"); // test specific to implementation (can remove for refactor)
//realloc with invalid ptr //realloc with invalid ptr
char* invalid_ptr_realloc = (char*)eosio::realloc(nullptr_realloc + 4, 10); char* invalid_ptr_realloc = (char*)realloc(nullptr_realloc + 4, 10);
assert(invalid_ptr_realloc != nullptr, "should have returned a 10 char buf and ignored invalid ptr"); eos_assert(invalid_ptr_realloc != nullptr, "should have returned a 10 char buf and ignored invalid ptr");
assert(nullptr_realloc < invalid_ptr_realloc, "should have created invalid_ptr_realloc after nullptr_realloc"); // test specific to implementation (can remove for refactor) eos_assert(nullptr_realloc < invalid_ptr_realloc, "should have created invalid_ptr_realloc after nullptr_realloc"); // test specific to implementation (can remove for refactor)
} }
// this test verifies that malloc can allocate 15 64K pages and treat them as one big heap space (if sbrk is not called in the mean time) // this test verifies that malloc can allocate 15 64K pages and treat them as one big heap space (if sbrk is not called in the mean time)
void test_memory::test_memory_hunk() void test_memory::test_memory_hunk()
{ {
// try to allocate the largest buffer we can, which is 15 contiguous 64K pages (with the 4 char space for the ptr header) // try to allocate the largest buffer we can, which is 15 contiguous 64K pages (with the 4 char space for the ptr header)
char* ptr1 = (char*)eosio::malloc(15 * 64 * 1024 - 4); char* ptr1 = (char*)malloc(15 * 64 * 1024 - 4);
assert(ptr1 != nullptr, "should have allocated a ~983K char buf"); eos_assert(ptr1 != nullptr, "should have allocated a ~983K char buf");
} }
void test_memory::test_memory_hunks() void test_memory::test_memory_hunks()
{ {
// leave 784 bytes of initial buffer to allocate later (rounds up to nearest 8 byte boundary, // leave 784 bytes of initial buffer to allocate later (rounds up to nearest 8 byte boundary,
// 16 bytes bigger than remainder left below in 15 64K page heap)) // 16 bytes bigger than remainder left below in 15 64K page heap))
char* ptr1 = (char*)eosio::malloc(7404); char* ptr1 = (char*)malloc(7404);
assert(ptr1 != nullptr, "should have allocated a 7404 char buf"); eos_assert(ptr1 != nullptr, "should have allocated a 7404 char buf");
char* last_ptr = nullptr; char* last_ptr = nullptr;
// 96 * (10 * 1024 - 15) => 15 ~64K pages with 768 byte buffer left to allocate // 96 * (10 * 1024 - 15) => 15 ~64K pages with 768 byte buffer left to allocate
for (int i = 0; i < 96; ++i) for (int i = 0; i < 96; ++i)
{ {
char* ptr2 = (char*)eosio::malloc(10 * 1024 - 15); char* ptr2 = (char*)malloc(10 * 1024 - 15);
assert(ptr2 != nullptr, "should have allocated a ~10K char buf"); eos_assert(ptr2 != nullptr, "should have allocated a ~10K char buf");
if (last_ptr != nullptr) if (last_ptr != nullptr)
{ {
// - 15 rounds to -8 // - 15 rounds to -8
assert(last_ptr + 10 * 1024 - 8 == ptr2, "should allocate the very next ptr"); // test specific to implementation (can remove for refactor) eos_assert(last_ptr + 10 * 1024 - 8 == ptr2, "should allocate the very next ptr"); // test specific to implementation (can remove for refactor)
} }
last_ptr = ptr2; last_ptr = ptr2;
} }
// try to allocate a buffer slightly larger than the remaining buffer| 765 + 4 rounds to 776 // try to allocate a buffer slightly larger than the remaining buffer| 765 + 4 rounds to 776
char* ptr3 = (char*)eosio::malloc(765); char* ptr3 = (char*)malloc(765);
assert(ptr3 != nullptr, "should have allocated a 772 char buf"); eos_assert(ptr3 != nullptr, "should have allocated a 772 char buf");
assert(ptr1 + 7408 == ptr3, "should allocate the very next ptr after ptr1 in initial heap"); // test specific to implementation (can remove for refactor) eos_assert(ptr1 + 7408 == ptr3, "should allocate the very next ptr after ptr1 in initial heap"); // test specific to implementation (can remove for refactor)
// use all but 8 chars // use all but 8 chars
char* ptr4 = (char*)eosio::malloc(764); char* ptr4 = (char*)malloc(764);
assert(ptr4 != nullptr, "should have allocated a 764 char buf"); eos_assert(ptr4 != nullptr, "should have allocated a 764 char buf");
assert(last_ptr + 10 * 1024 - 8 == ptr4, "should allocate the very next ptr after last_ptr at end of contiguous heap"); // test specific to implementation (can remove for refactor) eos_assert(last_ptr + 10 * 1024 - 8 == ptr4, "should allocate the very next ptr after last_ptr at end of contiguous heap"); // test specific to implementation (can remove for refactor)
// use up remaining 8 chars // use up remaining 8 chars
char* ptr5 = (char*)eosio::malloc(4); char* ptr5 = (char*)malloc(4);
assert(ptr5 != nullptr, "should have allocated a 4 char buf"); eos_assert(ptr5 != nullptr, "should have allocated a 4 char buf");
assert(ptr3 + 776 == ptr5, "should allocate the very next ptr after ptr3 in initial heap"); // test specific to implementation (can remove for refactor) eos_assert(ptr3 + 776 == ptr5, "should allocate the very next ptr after ptr3 in initial heap"); // test specific to implementation (can remove for refactor)
// nothing left to allocate // nothing left to allocate
char* ptr6 = (char*)eosio::malloc(4); char* ptr6 = (char*)malloc(4);
assert(ptr6 == nullptr, "should not have allocated a char buf"); eos_assert(ptr6 == nullptr, "should not have allocated a char buf");
} }
void test_memory::test_memory_hunks_disjoint() void test_memory::test_memory_hunks_disjoint()
{ {
// leave 8 bytes of initial buffer to allocate later // leave 8 bytes of initial buffer to allocate later
char* ptr1 = (char*)eosio::malloc(8 * 1024 - 12); char* ptr1 = (char*)malloc(8 * 1024 - 12);
assert(ptr1 != nullptr, "should have allocated a 8184 char buf"); eos_assert(ptr1 != nullptr, "should have allocated a 8184 char buf");
// can only make 14 extra (64K) heaps for malloc, since calls to sbrk will eat up part // can only make 14 extra (64K) heaps for malloc, since calls to sbrk will eat up part
char* loop_ptr1[14]; char* loop_ptr1[14];
...@@ -172,69 +172,69 @@ void test_memory::test_memory_hunks_disjoint() ...@@ -172,69 +172,69 @@ void test_memory::test_memory_hunks_disjoint()
for (int i = 0; i < 14; ++i) for (int i = 0; i < 14; ++i)
{ {
// allocates a new heap for each request, since sbrk call doesn't allow contiguous heaps to grow // allocates a new heap for each request, since sbrk call doesn't allow contiguous heaps to grow
loop_ptr1[i] = (char*)eosio::malloc(64 * 1024 - 28); loop_ptr1[i] = (char*)malloc(64 * 1024 - 28);
assert(loop_ptr1[i] != nullptr, "should have allocated a 64K char buf"); eos_assert(loop_ptr1[i] != nullptr, "should have allocated a 64K char buf");
assert(sbrk(4) != nullptr, "should be able to allocate 8 bytes"); eos_assert(sbrk(4) != nullptr, "should be able to allocate 8 bytes");
} }
// the 15th extra heap is reduced in size because of the 14 * 8 bytes allocated by sbrk calls // the 15th extra heap is reduced in size because of the 14 * 8 bytes allocated by sbrk calls
// will leave 8 bytes to allocate later (verifying that we circle back in the list // will leave 8 bytes to allocate later (verifying that we circle back in the list
char* ptr2 = (char*)eosio::malloc(65412); char* ptr2 = (char*)malloc(65412);
assert(ptr2 != nullptr, "should have allocated a 65412 char buf"); eos_assert(ptr2 != nullptr, "should have allocated a 65412 char buf");
char* loop_ptr2[14]; char* loop_ptr2[14];
for (int i = 0; i < 14; ++i) for (int i = 0; i < 14; ++i)
{ {
// 12 char buffer to leave 8 bytes for another pass // 12 char buffer to leave 8 bytes for another pass
loop_ptr2[i] = (char*)eosio::malloc(12); loop_ptr2[i] = (char*)malloc(12);
assert(loop_ptr2[i] != nullptr, "should have allocated a 12 char buf"); eos_assert(loop_ptr2[i] != nullptr, "should have allocated a 12 char buf");
assert(loop_ptr1[i] + 64 * 1024 - 24 == loop_ptr2[i], "loop_ptr2[i] should be very next pointer after loop_ptr1[i]"); eos_assert(loop_ptr1[i] + 64 * 1024 - 24 == loop_ptr2[i], "loop_ptr2[i] should be very next pointer after loop_ptr1[i]");
} }
// this shows that searching for free ptrs starts at the last loop to find free memory, not at the begining // this shows that searching for free ptrs starts at the last loop to find free memory, not at the begining
char* ptr3 = (char*)eosio::malloc(4); char* ptr3 = (char*)malloc(4);
assert(ptr3 != nullptr, "should have allocated a 4 char buf"); eos_assert(ptr3 != nullptr, "should have allocated a 4 char buf");
assert(loop_ptr2[13] + 16 == ptr3, "should allocate the very next ptr after loop_ptr2[13]"); // test specific to implementation (can remove for refactor) eos_assert(loop_ptr2[13] + 16 == ptr3, "should allocate the very next ptr after loop_ptr2[13]"); // test specific to implementation (can remove for refactor)
char* ptr4 = (char*)eosio::malloc(4); char* ptr4 = (char*)malloc(4);
assert(ptr4 != nullptr, "should have allocated a 4 char buf"); eos_assert(ptr4 != nullptr, "should have allocated a 4 char buf");
assert(ptr2 + 65416 == ptr4, "should allocate the very next ptr after ptr2 in last heap"); // test specific to implementation (can remove for refactor) eos_assert(ptr2 + 65416 == ptr4, "should allocate the very next ptr after ptr2 in last heap"); // test specific to implementation (can remove for refactor)
char* ptr5 = (char*)eosio::malloc(4); char* ptr5 = (char*)malloc(4);
assert(ptr5 != nullptr, "should have allocated a 4 char buf"); eos_assert(ptr5 != nullptr, "should have allocated a 4 char buf");
assert(ptr1 + 8184 == ptr5, "should allocate the very next ptr after ptr1 in last heap"); // test specific to implementation (can remove for refactor) eos_assert(ptr1 + 8184 == ptr5, "should allocate the very next ptr after ptr1 in last heap"); // test specific to implementation (can remove for refactor)
// will eat up remaining memory (14th heap already used up) // will eat up remaining memory (14th heap already used up)
char* loop_ptr3[13]; char* loop_ptr3[13];
for (int i = 0; i < 13; ++i) for (int i = 0; i < 13; ++i)
{ {
// 4 char buffer to use up buffer // 4 char buffer to use up buffer
loop_ptr3[i] = (char*)eosio::malloc(4); loop_ptr3[i] = (char*)malloc(4);
assert(loop_ptr3[i] != nullptr, "should have allocated a 4 char buf"); eos_assert(loop_ptr3[i] != nullptr, "should have allocated a 4 char buf");
assert(loop_ptr2[i] + 16 == loop_ptr3[i], "loop_ptr3[i] should be very next pointer after loop_ptr2[i]"); eos_assert(loop_ptr2[i] + 16 == loop_ptr3[i], "loop_ptr3[i] should be very next pointer after loop_ptr2[i]");
} }
char* ptr6 = (char*)eosio::malloc(4); char* ptr6 = (char*)malloc(4);
assert(ptr6 == nullptr, "should not have allocated a char buf"); eos_assert(ptr6 == nullptr, "should not have allocated a char buf");
eosio::free(loop_ptr1[3]); free(loop_ptr1[3]);
eosio::free(loop_ptr2[3]); free(loop_ptr2[3]);
eosio::free(loop_ptr3[3]); free(loop_ptr3[3]);
char* slot3_ptr[64]; char* slot3_ptr[64];
for (int i = 0; i < 64; ++i) for (int i = 0; i < 64; ++i)
{ {
slot3_ptr[i] = (char*)eosio::malloc(1020); slot3_ptr[i] = (char*)malloc(1020);
assert(slot3_ptr[i] != nullptr, "should have allocated a 1020 char buf"); eos_assert(slot3_ptr[i] != nullptr, "should have allocated a 1020 char buf");
if (i == 0) if (i == 0)
assert(loop_ptr1[3] == slot3_ptr[0], "loop_ptr1[3] should be very next pointer after slot3_ptr[0]"); eos_assert(loop_ptr1[3] == slot3_ptr[0], "loop_ptr1[3] should be very next pointer after slot3_ptr[0]");
else else
assert(slot3_ptr[i - 1] + 1024 == slot3_ptr[i], "slot3_ptr[i] should be very next pointer after slot3_ptr[i-1]"); eos_assert(slot3_ptr[i - 1] + 1024 == slot3_ptr[i], "slot3_ptr[i] should be very next pointer after slot3_ptr[i-1]");
} }
char* ptr7 = (char*)eosio::malloc(4); char* ptr7 = (char*)malloc(4);
assert(ptr7 == nullptr, "should not have allocated a char buf"); eos_assert(ptr7 == nullptr, "should not have allocated a char buf");
} }
void test_memory::test_memset_memcpy() void test_memory::test_memset_memcpy()
...@@ -299,15 +299,15 @@ void test_memory::test_memcmp() ...@@ -299,15 +299,15 @@ void test_memory::test_memcmp()
char buf1[] = "abcde"; char buf1[] = "abcde";
char buf2[] = "abcde"; char buf2[] = "abcde";
int32_t res1 = memcmp(buf1, buf2, 6); int32_t res1 = memcmp(buf1, buf2, 6);
assert(res1 == 0, "first data should be equal to second data"); eos_assert(res1 == 0, "first data should be equal to second data");
char buf3[] = "abcde"; char buf3[] = "abcde";
char buf4[] = "fghij"; char buf4[] = "fghij";
int32_t res2 = memcmp(buf3, buf4, 6); int32_t res2 = memcmp(buf3, buf4, 6);
assert(res2 < 0, "first data should be smaller than second data"); eos_assert(res2 < 0, "first data should be smaller than second data");
char buf5[] = "fghij"; char buf5[] = "fghij";
char buf6[] = "abcde"; char buf6[] = "abcde";
int32_t res3 = memcmp(buf5, buf6, 6); int32_t res3 = memcmp(buf5, buf6, 6);
assert(res3 > 0, "first data should be larger than second data"); eos_assert(res3 > 0, "first data should be larger than second data");
} }
...@@ -8,15 +8,15 @@ void test_string::construct_with_size() { ...@@ -8,15 +8,15 @@ void test_string::construct_with_size() {
size_t size1 = 100; size_t size1 = 100;
eosio::string str1(size1); eosio::string str1(size1);
assert( str1.get_size() == size1, "str1.get_size() == size1" ); eos_assert( str1.get_size() == size1, "str1.get_size() == size1" );
//assert( str1.is_own_memory() == true, "str1.is_own_memory() == true" ); //eos_assert( str1.is_own_memory() == true, "str1.is_own_memory() == true" );
/* /*
size_t size2 = 0; size_t size2 = 0;
eosio::string str2(size2); eosio::string str2(size2);
assert( str2.get_size() == size2, "str2.get_size() == size2" ); eos_assert( str2.get_size() == size2, "str2.get_size() == size2" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" ); eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" ); eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
*/ */
} }
...@@ -26,15 +26,15 @@ void test_string::construct_with_data() { ...@@ -26,15 +26,15 @@ void test_string::construct_with_data() {
eosio::string str1(data, size, false); eosio::string str1(data, size, false);
assert( str1.get_size() == size, "str1.get_size() == size" ); eos_assert( str1.get_size() == size, "str1.get_size() == size" );
assert( str1.get_data() == data, "str1.get_data() == data" ); eos_assert( str1.get_data() == data, "str1.get_data() == data" );
assert( str1.is_own_memory() == false, "str1.is_own_memory() == false" ); eos_assert( str1.is_own_memory() == false, "str1.is_own_memory() == false" );
eosio::string str2(data, 0, false); eosio::string str2(data, 0, false);
assert( str2.get_size() == 0, "str2.get_size() == 0" ); eos_assert( str2.get_size() == 0, "str2.get_size() == 0" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" ); eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" ); eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
} }
void test_string::construct_with_data_partially() { void test_string::construct_with_data_partially() {
...@@ -44,12 +44,12 @@ void test_string::construct_with_data_partially() { ...@@ -44,12 +44,12 @@ void test_string::construct_with_data_partially() {
eosio::string str(data + offset, substr_size, false); eosio::string str(data + offset, substr_size, false);
assert( str.get_size() == substr_size, "str.get_size() == substr_size" ); eos_assert( str.get_size() == substr_size, "str.get_size() == substr_size" );
assert( str.get_data() == data + offset, "str.get_data() == data + offset" ); eos_assert( str.get_data() == data + offset, "str.get_data() == data + offset" );
for (uint8_t i = offset; i < substr_size; i++) { for (uint8_t i = offset; i < substr_size; i++) {
assert( str[i] == data[offset + i], "str[i] == data[offset + i]" ); eos_assert( str[i] == data[offset + i], "str[i] == data[offset + i]" );
} }
assert( str.is_own_memory() == false, "str.is_own_memory() == false" ); eos_assert( str.is_own_memory() == false, "str.is_own_memory() == false" );
} }
void test_string::construct_with_data_copied() { void test_string::construct_with_data_copied() {
...@@ -58,18 +58,18 @@ void test_string::construct_with_data_copied() { ...@@ -58,18 +58,18 @@ void test_string::construct_with_data_copied() {
eosio::string str1(data, size, true); eosio::string str1(data, size, true);
assert( str1.get_size() == size, "str1.get_size() == size" ); eos_assert( str1.get_size() == size, "str1.get_size() == size" );
assert( str1.get_data() != data, "str1.get_data() != data" ); eos_assert( str1.get_data() != data, "str1.get_data() != data" );
for (uint8_t i = 0; i < size; i++) { for (uint8_t i = 0; i < size; i++) {
assert( str1[i] == data[i], "str1[i] == data[i]" ); eos_assert( str1[i] == data[i], "str1[i] == data[i]" );
} }
assert( str1.is_own_memory() == true, "str.is_own_memory() == true" ); eos_assert( str1.is_own_memory() == true, "str.is_own_memory() == true" );
eosio::string str2(data, 0, true); eosio::string str2(data, 0, true);
assert( str2.get_size() == 0, "str2.get_size() == 0" ); eos_assert( str2.get_size() == 0, "str2.get_size() == 0" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" ); eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" ); eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
} }
void test_string::copy_constructor() { void test_string::copy_constructor() {
...@@ -80,11 +80,11 @@ void test_string::copy_constructor() { ...@@ -80,11 +80,11 @@ void test_string::copy_constructor() {
eosio::string str2 = str1; eosio::string str2 = str1;
assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" ); eos_assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" );
assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" ); eos_assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" );
assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" ); eos_assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" );
assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" ); eos_assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" );
assert( str1.get_refcount() == 2, "str1.refcount() == 2" ); eos_assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
} }
void test_string::assignment_operator() { void test_string::assignment_operator() {
...@@ -96,11 +96,11 @@ void test_string::assignment_operator() { ...@@ -96,11 +96,11 @@ void test_string::assignment_operator() {
eosio::string str2; eosio::string str2;
str2 = str1; str2 = str1;
assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" ); eos_assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" );
assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" ); eos_assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" );
assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" ); eos_assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" );
assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" ); eos_assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" );
assert( str1.get_refcount() == 2, "str1.refcount() == 2" ); eos_assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
} }
void test_string::index_operator() { void test_string::index_operator() {
...@@ -110,7 +110,7 @@ void test_string::index_operator() { ...@@ -110,7 +110,7 @@ void test_string::index_operator() {
eosio::string str(data, size, false); eosio::string str(data, size, false);
for (uint8_t i = 0; i < size; i++) { for (uint8_t i = 0; i < size; i++) {
assert( str[i] == data[i], "str[i] == data[i]" ); eos_assert( str[i] == data[i], "str[i] == data[i]" );
} }
} }
...@@ -135,12 +135,12 @@ void test_string::substring() { ...@@ -135,12 +135,12 @@ void test_string::substring() {
size_t substr_size = 5; size_t substr_size = 5;
size_t offset = 2; size_t offset = 2;
eosio::string substr = str.substr(offset, substr_size, false); eosio::string substr = str.substr(offset, substr_size, false);
assert( substr.get_size() == substr_size, "str.get_size() == substr_size" ); eos_assert( substr.get_size() == substr_size, "str.get_size() == substr_size" );
assert( substr.get_data() == str.get_data() + offset, "substr.get_data() == str.get_data() + offset" ); eos_assert( substr.get_data() == str.get_data() + offset, "substr.get_data() == str.get_data() + offset" );
for (uint8_t i = offset; i < substr_size; i++) { for (uint8_t i = offset; i < substr_size; i++) {
assert( substr[i] == str[offset + i], "substr[i] == str[offset + i]" ); eos_assert( substr[i] == str[offset + i], "substr[i] == str[offset + i]" );
} }
assert( substr.is_own_memory() == false, "substr.is_own_memory() == false" ); eos_assert( substr.is_own_memory() == false, "substr.is_own_memory() == false" );
} }
void test_string::substring_out_of_bound() { void test_string::substring_out_of_bound() {
...@@ -166,13 +166,13 @@ void test_string::concatenation_null_terminated() { ...@@ -166,13 +166,13 @@ void test_string::concatenation_null_terminated() {
str1 += str2; str1 += str2;
assert( str1.get_data() != data1, "str1.get_data() != data1" ); eos_assert( str1.get_data() != data1, "str1.get_data() != data1" );
assert( str1.get_size() == size1 + size2 - 1, "str1.get_size == size1 + size2 - 1" ); eos_assert( str1.get_size() == size1 + size2 - 1, "str1.get_size == size1 + size2 - 1" );
for (uint8_t i = 0; i < size1 - 1; i++) { for (uint8_t i = 0; i < size1 - 1; i++) {
assert( str1[i] == data1[i], "str1[i] == data1[i]" ); eos_assert( str1[i] == data1[i], "str1[i] == data1[i]" );
} }
for (uint8_t i = 0; i < size2; i++) { for (uint8_t i = 0; i < size2; i++) {
assert( str1[size1 - 1 + i] == data2[i], "str1[i] == data2[i]" ); eos_assert( str1[size1 - 1 + i] == data2[i], "str1[i] == data2[i]" );
} }
} }
...@@ -189,13 +189,13 @@ void test_string::concatenation_non_null_terminated() { ...@@ -189,13 +189,13 @@ void test_string::concatenation_non_null_terminated() {
str1 += str2; str1 += str2;
assert( str1.get_data() != data1, "str1.get_data() != data1" ); eos_assert( str1.get_data() != data1, "str1.get_data() != data1" );
assert( str1.get_size() == size1 + size2, "str1.get_size == size1 + size2" ); eos_assert( str1.get_size() == size1 + size2, "str1.get_size == size1 + size2" );
for (uint8_t i = 0; i < size1; i++) { for (uint8_t i = 0; i < size1; i++) {
assert( str1[i] == data1[i], "str1[i] == data1[i]" ); eos_assert( str1[i] == data1[i], "str1[i] == data1[i]" );
} }
for (uint8_t i = 0; i < size2; i++) { for (uint8_t i = 0; i < size2; i++) {
assert( str1[size1 + i] == data2[i], "str1[i] == data2[i]" ); eos_assert( str1[size1 + i] == data2[i], "str1[i] == data2[i]" );
} }
} }
...@@ -206,18 +206,18 @@ void test_string::assign() { ...@@ -206,18 +206,18 @@ void test_string::assign() {
eosio::string str(100); eosio::string str(100);
str.assign(data, size, true); str.assign(data, size, true);
assert( str.get_size() == size, "str.get_size() == size" ); eos_assert( str.get_size() == size, "str.get_size() == size" );
assert( str.get_data() != data, "str.get_data() != data" ); eos_assert( str.get_data() != data, "str.get_data() != data" );
for (uint8_t i = 0; i < size; i++) { for (uint8_t i = 0; i < size; i++) {
assert( str[i] == data[i], "str[i] == data[i]" ); eos_assert( str[i] == data[i], "str[i] == data[i]" );
} }
assert( str.is_own_memory() == true, "str.is_own_memory() == true" ); eos_assert( str.is_own_memory() == true, "str.is_own_memory() == true" );
str.assign(data, 0, true); str.assign(data, 0, true);
assert( str.get_size() == 0, "str.get_size() == 0" ); eos_assert( str.get_size() == 0, "str.get_size() == 0" );
assert( str.get_data() == nullptr, "str.get_data() == nullptr" ); eos_assert( str.get_data() == nullptr, "str.get_data() == nullptr" );
assert( str.is_own_memory() == false, "str.is_own_memory() == false" ); eos_assert( str.is_own_memory() == false, "str.is_own_memory() == false" );
} }
...@@ -254,15 +254,15 @@ void test_string::comparison_operator() { ...@@ -254,15 +254,15 @@ void test_string::comparison_operator() {
size_t size8 = sizeof(data8)/sizeof(char); size_t size8 = sizeof(data8)/sizeof(char);
eosio::string str8(data8, size8, false); eosio::string str8(data8, size8, false);
assert( str1 == str2, "str1 == str2" ); eos_assert( str1 == str2, "str1 == str2" );
assert( str1 != str3, "str1 != str3" ); eos_assert( str1 != str3, "str1 != str3" );
assert( str1 < str3, "str1 < str3" ); eos_assert( str1 < str3, "str1 < str3" );
assert( str2 > str4, "str2 > str4" ); eos_assert( str2 > str4, "str2 > str4" );
assert( str1.compare(str2) == 0, "str1.compare(str2) == 0" ); eos_assert( str1.compare(str2) == 0, "str1.compare(str2) == 0" );
assert( str1.compare(str3) < 0, "str1.compare(str3) < 0" ); eos_assert( str1.compare(str3) < 0, "str1.compare(str3) < 0" );
assert( str1.compare(str4) > 0, "str1.compare(str4) > 0" ); eos_assert( str1.compare(str4) > 0, "str1.compare(str4) > 0" );
assert( str5.compare(str6) < 0, "st5.compare(str6) < 0" ); eos_assert( str5.compare(str6) < 0, "st5.compare(str6) < 0" );
assert( str7.compare(str8) > 0, "str7.compare(str8) > 0" ); eos_assert( str7.compare(str8) > 0, "str7.compare(str8) > 0" );
} }
void test_string::print_null_terminated() { void test_string::print_null_terminated() {
...@@ -334,18 +334,18 @@ void test_string::string_literal() { ...@@ -334,18 +334,18 @@ void test_string::string_literal() {
eosio::string str = "abcdefghij"; eosio::string str = "abcdefghij";
assert( str.get_size() == 11, "data1 str.get_size() == 11" ); eos_assert( str.get_size() == 11, "data1 str.get_size() == 11" );
for (uint8_t i = 0; i < 11; i++) { for (uint8_t i = 0; i < 11; i++) {
assert( str[i] == data1[i], "data1 str[i] == data1[i]" ); eos_assert( str[i] == data1[i], "data1 str[i] == data1[i]" );
} }
assert( str.is_own_memory() == true, "data1 str.is_own_memory() == true" ); eos_assert( str.is_own_memory() == true, "data1 str.is_own_memory() == true" );
str = "klmnopqrstuvwxyz"; str = "klmnopqrstuvwxyz";
assert( str.get_size() == 17, "data2 str.get_size() == 17" ); eos_assert( str.get_size() == 17, "data2 str.get_size() == 17" );
for (uint8_t i = 0; i < 17; i++) { for (uint8_t i = 0; i < 17; i++) {
assert( str[i] == data2[i], "data2 str[i] == data2[i]" ); eos_assert( str[i] == data2[i], "data2 str[i] == data2[i]" );
} }
assert( str.is_own_memory() == true, "data2 str.is_own_memory() == true" ); eos_assert( str.is_own_memory() == true, "data2 str.is_own_memory() == true" );
} }
...@@ -17,9 +17,10 @@ include_directories("${CMAKE_BINARY_DIR}/contracts") ...@@ -17,9 +17,10 @@ include_directories("${CMAKE_BINARY_DIR}/contracts")
include_directories("${CMAKE_SOURCE_DIR}/contracts") include_directories("${CMAKE_SOURCE_DIR}/contracts")
file(GLOB UNIT_TESTS "chain_tests/*.cpp" "api_tests/*.cpp" "tests/abi_tests.cpp" "tests/database_tests.cpp") file(GLOB UNIT_TESTS "chain_tests/*.cpp" "api_tests/*.cpp" "tests/abi_tests.cpp" "tests/database_tests.cpp")
if(WASM_TOOLCHAIN)
file(GLOB WASM_UNIT_TESTS "wasm_tests/*.cpp") #if(WASM_TOOLCHAIN)
endif() # file(GLOB WASM_UNIT_TESTS "wasm_tests/*.cpp")
#endif()
add_executable( chain_test ${UNIT_TESTS} ${WASM_UNIT_TESTS} common/main.cpp ) add_executable( chain_test ${UNIT_TESTS} ${WASM_UNIT_TESTS} common/main.cpp )
target_link_libraries( chain_test eosio_testing eosio_chain chainbase eos_utilities eos_egenesis_none chain_plugin abi_generator fc ${PLATFORM_SPECIFIC_LIBS} ) target_link_libraries( chain_test eosio_testing eosio_chain chainbase eos_utilities eos_egenesis_none chain_plugin abi_generator fc ${PLATFORM_SPECIFIC_LIBS} )
......
...@@ -262,13 +262,13 @@ BOOST_FIXTURE_TEST_CASE(account_tests, tester) { try { ...@@ -262,13 +262,13 @@ BOOST_FIXTURE_TEST_CASE(account_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try {
produce_blocks(2); produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc1), asset::from_string("100000.0000 EOS") ); create_account( N(acc1) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc2), asset::from_string("100000.0000 EOS") ); create_account( N(acc2) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc3), asset::from_string("100000.0000 EOS") ); create_account( N(acc3) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc4), asset::from_string("100000.0000 EOS") ); create_account( N(acc4) ); //, asset::from_string("100000.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
set_code( N(acc1), test_api_wast ); set_code( N(acc1), test_api_wast );
...@@ -389,19 +389,17 @@ BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try { ...@@ -389,19 +389,17 @@ BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try {
* compiler_builtins_tests test case * compiler_builtins_tests test case
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try {
return;
produce_blocks(2); produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc1), asset::from_string("1.0000 EOS") ); create_account( N(acc1) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc2), asset::from_string("1.0000 EOS") ); create_account( N(acc2) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc3), asset::from_string("1.0000 EOS") ); create_account( N(acc3) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc4), asset::from_string("1.0000 EOS") ); create_account( N(acc4)); //, asset::from_string("1.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
produce_blocks(1); produce_blocks(1);
return;
CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_multi3", {}); CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_multi3", {});
CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_divti3", {}); CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_divti3", {});
BOOST_CHECK_EXCEPTION(CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_divti3_by_0", {}), fc::assert_exception, BOOST_CHECK_EXCEPTION(CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_divti3_by_0", {}), fc::assert_exception,
...@@ -437,13 +435,13 @@ BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try { ...@@ -437,13 +435,13 @@ BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try {
produce_blocks(2); produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc1), asset::from_string("1.0000 EOS") ); create_account( N(acc1) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc2), asset::from_string("1.0000 EOS") ); create_account( N(acc2) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc3), asset::from_string("1.0000 EOS") ); create_account( N(acc3) ); //, asset::from_string("1.0000 EOS") );
create_account( N(acc4), asset::from_string("1.0000 EOS") ); create_account( N(acc4) ); //, asset::from_string("1.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
produce_blocks(1); produce_blocks(1);
...@@ -488,10 +486,10 @@ BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try { ...@@ -488,10 +486,10 @@ BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(chain_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(chain_tests, tester) { try {
produce_blocks(2); produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc1), asset::from_string("0.0000 EOS") ); create_account( N(acc1) ); //, asset::from_string("0.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
...@@ -551,9 +549,9 @@ return; ...@@ -551,9 +549,9 @@ return;
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try {
produce_blocks(2); produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
produce_blocks(1000); produce_blocks(1000);
...@@ -577,9 +575,9 @@ BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try { ...@@ -577,9 +575,9 @@ BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_wast); set_code(N(testapi), test_api_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -603,9 +601,9 @@ BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try { ...@@ -603,9 +601,9 @@ BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("100000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("100000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_wast); set_code(N(testapi), test_api_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -638,9 +636,9 @@ BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try { ...@@ -638,9 +636,9 @@ BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast); set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -668,9 +666,9 @@ BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try { ...@@ -668,9 +666,9 @@ BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(extended_memory_test_initial_memory, tester) { try { BOOST_FIXTURE_TEST_CASE(extended_memory_test_initial_memory, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast); set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -679,9 +677,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_initial_memory, tester) { try { ...@@ -679,9 +677,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_initial_memory, tester) { try {
BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory, tester) { try { BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast); set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -690,9 +688,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory, tester) { try { ...@@ -690,9 +688,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory, tester) { try {
BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_exceeded, tester) { try { BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_exceeded, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast); set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -703,9 +701,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_exceeded, tester) { try ...@@ -703,9 +701,9 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_exceeded, tester) { try
BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_negative_bytes, tester) { try { BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_negative_bytes, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account(N(testapi), asset::from_string("1000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("1000.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo"); transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast); set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000); produce_blocks(1000);
...@@ -720,11 +718,11 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_negative_bytes, tester) ...@@ -720,11 +718,11 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_negative_bytes, tester)
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account( N(testapi), asset::from_string("1000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("1000.0000 EOS") );
create_account( N(testextmem), asset::from_string("100.0000 EOS") ); create_account( N(testextmem) ); //, asset::from_string("100.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_mem_wast ); set_code( N(testapi), test_api_mem_wast );
produce_blocks(1000); produce_blocks(1000);
...@@ -772,16 +770,16 @@ BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try { ...@@ -772,16 +770,16 @@ BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try {
produce_blocks(2); produce_blocks(2);
create_account(N(testapi), asset::from_string("100000.0000 EOS")); create_account(N(testapi) ); //, asset::from_string("100000.0000 EOS"));
create_account(N(another), asset::from_string("1.0000 EOS")); create_account(N(another) ); //, asset::from_string("1.0000 EOS"));
create_account(N(acc1), asset::from_string("1.0000 EOS")); create_account(N(acc1) ); //, asset::from_string("1.0000 EOS"));
create_account(N(acc2), asset::from_string("1.0000 EOS")); create_account(N(acc2) ); //, asset::from_string("1.0000 EOS"));
create_account(N(acc3), asset::from_string("1.0000 EOS")); create_account(N(acc3) ); //, asset::from_string("1.0000 EOS"));
create_account(N(acc4), asset::from_string("1.0000 EOS")); create_account(N(acc4) ); //, asset::from_string("1.0000 EOS"));
produce_blocks(1000); produce_blocks(1000);
//Set test code //Set test code
transfer(N(inita), N(testapi), "10.0000 EOS", "memo"); transfer(N(inita), N(testapi), "10.0000 EOS", "memo", N(eosio) );
set_code(N(testapi), test_api_wast); set_code(N(testapi), test_api_wast);
produce_blocks(1000); produce_blocks(1000);
string captured = ""; string captured = "";
...@@ -821,10 +819,10 @@ BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try { ...@@ -821,10 +819,10 @@ BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account( N(testapi), asset::from_string("1000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("1000.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
produce_blocks(1000); produce_blocks(1000);
...@@ -884,10 +882,10 @@ BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try { ...@@ -884,10 +882,10 @@ BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try {
*************************************************************************************/ *************************************************************************************/
BOOST_FIXTURE_TEST_CASE(types_tests, tester) { try { BOOST_FIXTURE_TEST_CASE(types_tests, tester) { try {
produce_blocks(1000); produce_blocks(1000);
create_account( N(testapi), asset::from_string("1000.0000 EOS") ); create_account( N(testapi) ); //, asset::from_string("1000.0000 EOS") );
produce_blocks(1000); produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" ); transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000); produce_blocks(1000);
set_code( N(testapi), test_api_wast ); set_code( N(testapi), test_api_wast );
produce_blocks(1000); produce_blocks(1000);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册