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

fixing up the tests after massive merge

上级 fc709930
......@@ -15,9 +15,9 @@ add_subdirectory(asserter)
#add_subdirectory(infinite)
add_subdirectory(proxy)
add_subdirectory(test_api)
#add_subdirectory(test_api_db)
add_subdirectory(test_api_mem)
#add_subdirectory(simpledb)
#add_subdirectory(test_api_db)
#add_subdirectory(storage)
#add_subdirectory(social)
add_subdirectory(test.system)
......
......@@ -29,9 +29,9 @@ void test_action::read_action_normal() {
eos_assert(total == sizeof(dummy_action), "read_action(sizeof(dummy_action))" );
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->b == DUMMY_MESSAGE_DEFAULT_B, "dummy13->b == DUMMY_MESSAGE_DEFAULT_B");
eos_assert(dummy13->c == DUMMY_MESSAGE_DEFAULT_C, "dummy13->c == DUMMY_MESSAGE_DEFAULT_C");
eos_assert(dummy13->a == DUMMY_ACTION_DEFAULT_A, "dummy13->a == DUMMY_ACTION_DEFAULT_A");
eos_assert(dummy13->b == DUMMY_ACTION_DEFAULT_B, "dummy13->b == DUMMY_ACTION_DEFAULT_B");
eos_assert(dummy13->c == DUMMY_ACTION_DEFAULT_C, "dummy13->c == DUMMY_ACTION_DEFAULT_C");
}
......@@ -48,11 +48,11 @@ void test_action::require_notice() {
eosio::require_recipient( N(acc1) );
eosio::require_recipient( 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) ) {
return;
}
assert(false, "Should've failed");
eos_assert(false, "Should've failed");
}
void test_action::require_auth() {
......@@ -72,6 +72,6 @@ void test_action::assert_true() {
void test_action::now() {
uint32_t tmp = 0;
uint32_t total = read_action(&tmp, sizeof(uint32_t));
assert( total == sizeof(uint32_t), "total == sizeof(uint32_t)");
assert( tmp == ::now(), "tmp == now()" );
eos_assert( total == sizeof(uint32_t), "total == sizeof(uint32_t)");
eos_assert( tmp == ::now(), "tmp == now()" );
}
......@@ -18,12 +18,12 @@ void test_chain::test_activeprods() {
producers act_prods;
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;
get_active_producers(api_prods.producers, sizeof(account_name)*21);
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() {
__int128 rhs_b = -30;
__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 ) );
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 ) );
assert( res == 900, "__multi3 result should be 900" );
eos_assert( res == 900, "__multi3 result should be 900" );
/*
* test for positive values
*/
__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
*/
__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 );
assert( res == -30, "__multi3 result should be -30" );
eos_assert( res == -30, "__multi3 result should be -30" );
}
void test_compiler_builtins::test_divti3() {
......@@ -106,13 +106,13 @@ void test_compiler_builtins::test_divti3() {
__int128 rhs_b = -30;
__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 ) );
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 ) );
assert( res == 1, "__divti3 result should be 1" );
eos_assert( res == 1, "__divti3 result should be 1" );
/*
* test for positive values
......@@ -121,29 +121,29 @@ void test_compiler_builtins::test_divti3() {
__int128 rhs_c = 3333;
__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 ) );
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 ) );
assert( res == 33, "__divti3 result should be 33" );
eos_assert( res == 33, "__divti3 result should be 33" );
/*
* test identity
*/
__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 );
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() {
__int128 res = 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() {
......@@ -157,13 +157,13 @@ void test_compiler_builtins::test_udivti3() {
unsigned __int128 rhs_b = -30;
__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 ) );
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 ) );
assert( res == 1, "__udivti3 result should be 1" );
eos_assert( res == 1, "__udivti3 result should be 1" );
/*
* test for positive values
......@@ -172,29 +172,29 @@ void test_compiler_builtins::test_udivti3() {
__int128 rhs_c = 3333;
__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 ) );
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 ) );
assert( res == 33, "__divti3 result should be 33" );
eos_assert( res == 33, "__divti3 result should be 33" );
/*
* test identity
*/
__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 );
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() {
unsigned __int128 res = 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() {
__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 );
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 );
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 );
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 );
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 );
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 );
test_res <<= 1;
//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() {
......@@ -242,29 +242,29 @@ void test_compiler_builtins::test_ashlti3() {
test_res <<= 1;
__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 );
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 );
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 );
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 );
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 );
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 );
test_res <<= 1;
//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() {
test_res <<= 64;
__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 );
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 );
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 );
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 );
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 );
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() {
......@@ -353,22 +353,22 @@ void test_compiler_builtins::test_ashrti3() {
test <<= 127;
__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 );
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 );
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 );
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 );
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 );
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() {
__int128 rhs_b = -100;
__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 );
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 );
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 );
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 );
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 );
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 );
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() {
......@@ -406,7 +406,7 @@ void test_compiler_builtins::test_modti3_by_0() {
__int128 lhs = 100;
__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() {
......@@ -417,25 +417,25 @@ void test_compiler_builtins::test_umodti3() {
unsigned __int128 rhs_b = -100;
__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 );
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 );
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 );
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 );
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 );
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 );
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() {
......@@ -443,5 +443,5 @@ void test_compiler_builtins::test_umodti3_by_0() {
unsigned __int128 lhs = 100;
__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() {
checksum 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 );
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 );
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 );
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() {
......@@ -92,7 +92,7 @@ void test_crypto::sha256_null() {
int a = 3;
int* b = &a;
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() {
......@@ -100,7 +100,7 @@ void test_crypto::sha256_no_data() {
checksum 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() {
......@@ -109,9 +109,9 @@ void test_crypto::assert_sha256_false() {
sha256( (char *)test1, my_strlen(test1), &tmp );
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() {
......@@ -119,14 +119,14 @@ void test_crypto::assert_sha256_true() {
checksum 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 );
assert_sha256( (char *)test3, my_strlen(test3), &tmp);
eos_assert_sha256( (char *)test3, my_strlen(test3), &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 );
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()
fixed_point128<18> a(12345667);
fixed_point128<18> b(12345667);
fixed_point128<16> c(12345667);
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(b == a, "fixed_point128 instances comparison with same number of decimals");
eos_assert(c == a, "fixed_point128 instances with different number of decimals");
}
{
......@@ -19,8 +19,8 @@ void test_fixedpoint::create_instances()
fixed_point64<5> a(12345667);
fixed_point64<5> b(12345667);
fixed_point64<5> c(12345667);
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(b == a, "fixed_point64 instances comparison with same number of decimals");
eos_assert(c == a, "fixed_point64 instances with different number of decimals");
}
{
......@@ -28,8 +28,8 @@ void test_fixedpoint::create_instances()
fixed_point32<18> a(12345667);
fixed_point32<18> b(12345667);
fixed_point32<16> c(12345667);
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(b == a, "fixed_point32 instances comparison with same number of decimals");
eos_assert(c == a, "fixed_point32 instances with different number of decimals");
}
}
......@@ -41,7 +41,7 @@ void test_fixedpoint::test_addition()
fixed_point32<0> b(100);
fixed_point32<0> c = a + b;
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
......@@ -49,7 +49,7 @@ void test_fixedpoint::test_addition()
fixed_point64<0> b(100);
fixed_point64<0> c = a + b;
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()
fixed_point64<0> b(100);
fixed_point64<0> c = a - b;
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> c1 = a1 - b;
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
......@@ -74,13 +74,13 @@ void test_fixedpoint::test_subtraction()
fixed_point32<0> b(100);
fixed_point32<0> c = a - b;
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
fixed_point32<0> a1(0);
fixed_point32<0> c1 = a1 - b;
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()
fixed_point64<0> b(200);
fixed_point128<0> c = a * b;
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()
fixed_point32<0> b(200);
fixed_point64<0> c = a * b;
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()
fixed_point128<5> e = fixed_divide<5>(lhs, rhs);
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()
fixed_point64<5> c = a / b;
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()
fixed_point64<0> b(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;
void test_math::test_multeq() {
u128_action act;
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 other = *(act.values+1);
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() {
u128_action act;
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 other = *(act.values+1);
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() {
......@@ -42,19 +42,19 @@ void test_math::test_i64_to_double()
read_action(&i, sizeof(i));
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);
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);
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);
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);
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()
......@@ -63,19 +63,19 @@ void test_math::test_double_to_i64()
read_action(&d, sizeof(d));
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]);
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]);
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]);
assert(-100000 == i, "test_double_to_i64 -100000 == i");
eos_assert(-100000 == i, "test_double_to_i64 -100000 == i");
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() {
......@@ -85,28 +85,28 @@ void test_math::test_double_api() {
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(
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(
double_div( i64_to_double(9999999), 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(
double_div( i64_to_double(9999998), 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() {
......@@ -115,5 +115,5 @@ void test_math::test_double_api_div_0() {
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 @@
using namespace eosio;
void test_real::create_instances() {
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() {
......@@ -14,7 +14,7 @@ void test_real::test_division() {
real result1 = lhs1 / rhs1;
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() {
......@@ -22,7 +22,7 @@ void test_real::test_division_by_0() {
real rhs1(0);
real result1 = lhs1 / rhs1;
assert(false, "should've thrown an error");
eos_assert(false, "should've thrown an error");
}
void test_real::test_multiplication() {
......@@ -30,7 +30,7 @@ void test_real::test_multiplication() {
real rhs1(10);
real result1 = lhs1 * rhs1;
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()
......@@ -48,7 +48,7 @@ void test_real::test_addition()
real sum = result1+result2;
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() {
}
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);
......@@ -93,7 +93,7 @@ void test_transaction::send_action_large() {
copy_data(large_message, 8*1024, test_action.data);
action act(vector<permission_level>{{N(testapi), N(active)}}, test_action);
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() {
* cause failure due to inline TX failure
*/
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);
......@@ -136,7 +136,7 @@ void test_transaction::send_transaction_empty() {
auto trx = transaction();
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() {
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 @@
void test_types::types_size() {
assert( sizeof(int64_t) == 8, "int64_t size != 8");
assert( sizeof(uint64_t) == 8, "uint64_t size != 8");
assert( sizeof(uint32_t) == 4, "uint32_t size != 4");
assert( sizeof(int32_t) == 4, "int32_t size != 4");
assert( sizeof(uint128_t) == 16, "uint128_t size != 16");
assert( sizeof(int128_t) == 16, "int128_t size != 16");
assert( sizeof(uint8_t) == 1, "uint8_t size != 1");
eos_assert( sizeof(int64_t) == 8, "int64_t size != 8");
eos_assert( sizeof(uint64_t) == 8, "uint64_t size != 8");
eos_assert( sizeof(uint32_t) == 4, "uint32_t size != 4");
eos_assert( sizeof(int32_t) == 4, "int32_t size != 4");
eos_assert( sizeof(uint128_t) == 16, "uint128_t size != 16");
eos_assert( sizeof(int128_t) == 16, "int128_t size != 16");
eos_assert( sizeof(uint8_t) == 1, "uint8_t size != 1");
assert( sizeof(account_name) == 8, "account_name size != 8");
assert( sizeof(token_name) == 8, "token_name size != 8");
assert( sizeof(table_name) == 8, "table_name size != 8");
assert( sizeof(time) == 4, "time size != 4");
assert( sizeof(uint256) == 32, "uint256 != 32" );
eos_assert( sizeof(account_name) == 8, "account_name size != 8");
eos_assert( sizeof(token_name) == 8, "token_name size != 8");
eos_assert( sizeof(table_name) == 8, "table_name size != 8");
eos_assert( sizeof(time) == 4, "time size != 4");
eos_assert( sizeof(uint256) == 32, "uint256 != 32" );
}
void test_types::char_to_symbol() {
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
assert( eosio::char_to_symbol('z') == 31, "eosio::char_to_symbol('z') != 31");
eos_assert( eosio::char_to_symbol('1') == 1, "eosio::char_to_symbol('1') != 1");
eos_assert( eosio::char_to_symbol('2') == 2, "eosio::char_to_symbol('2') != 2");
eos_assert( eosio::char_to_symbol('3') == 3, "eosio::char_to_symbol('3') != 3");
eos_assert( eosio::char_to_symbol('4') == 4, "eosio::char_to_symbol('4') != 4");
eos_assert( eosio::char_to_symbol('5') == 5, "eosio::char_to_symbol('5') != 5");
eos_assert( eosio::char_to_symbol('a') == 6, "eosio::char_to_symbol('a') != 6");
eos_assert( eosio::char_to_symbol('b') == 7, "eosio::char_to_symbol('b') != 7");
eos_assert( eosio::char_to_symbol('c') == 8, "eosio::char_to_symbol('c') != 8");
eos_assert( eosio::char_to_symbol('d') == 9, "eosio::char_to_symbol('d') != 9");
eos_assert( eosio::char_to_symbol('e') == 10, "eosio::char_to_symbol('e') != 10");
eos_assert( eosio::char_to_symbol('f') == 11, "eosio::char_to_symbol('f') != 11");
eos_assert( eosio::char_to_symbol('g') == 12, "eosio::char_to_symbol('g') != 12");
eos_assert( eosio::char_to_symbol('h') == 13, "eosio::char_to_symbol('h') != 13");
eos_assert( eosio::char_to_symbol('i') == 14, "eosio::char_to_symbol('i') != 14");
eos_assert( eosio::char_to_symbol('j') == 15, "eosio::char_to_symbol('j') != 15");
eos_assert( eosio::char_to_symbol('k') == 16, "eosio::char_to_symbol('k') != 16");
eos_assert( eosio::char_to_symbol('l') == 17, "eosio::char_to_symbol('l') != 17");
eos_assert( eosio::char_to_symbol('m') == 18, "eosio::char_to_symbol('m') != 18");
eos_assert( eosio::char_to_symbol('n') == 19, "eosio::char_to_symbol('n') != 19");
eos_assert( eosio::char_to_symbol('o') == 20, "eosio::char_to_symbol('o') != 20");
eos_assert( eosio::char_to_symbol('p') == 21, "eosio::char_to_symbol('p') != 21");
eos_assert( eosio::char_to_symbol('q') == 22, "eosio::char_to_symbol('q') != 22");
eos_assert( eosio::char_to_symbol('r') == 23, "eosio::char_to_symbol('r') != 23");
eos_assert( eosio::char_to_symbol('s') == 24, "eosio::char_to_symbol('s') != 24");
eos_assert( eosio::char_to_symbol('t') == 25, "eosio::char_to_symbol('t') != 25");
eos_assert( eosio::char_to_symbol('u') == 26, "eosio::char_to_symbol('u') != 26");
eos_assert( eosio::char_to_symbol('v') == 27, "eosio::char_to_symbol('v') != 27");
eos_assert( eosio::char_to_symbol('w') == 28, "eosio::char_to_symbol('w') != 28");
eos_assert( eosio::char_to_symbol('x') == 29, "eosio::char_to_symbol('x') != 29");
eos_assert( eosio::char_to_symbol('y') == 30, "eosio::char_to_symbol('y') != 30");
eos_assert( eosio::char_to_symbol('z') == 31, "eosio::char_to_symbol('z') != 31");
for(unsigned char i = 0; i<255; i++) {
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() {
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)" );
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)" );
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)" );
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)" );
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)" );
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)" );
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)" );
assert( eosio::string_to_name("mlkjihgfedcba55") == N(mlkjihgfedcba14) , "eosio::string_to_name(mlkjihgfedcba14)" );
eos_assert( eosio::string_to_name("a") == N(a) , "eosio::string_to_name(a)" );
eos_assert( eosio::string_to_name("ba") == N(ba) , "eosio::string_to_name(ba)" );
eos_assert( eosio::string_to_name("cba") == N(cba) , "eosio::string_to_name(cba)" );
eos_assert( eosio::string_to_name("dcba") == N(dcba) , "eosio::string_to_name(dcba)" );
eos_assert( eosio::string_to_name("edcba") == N(edcba) , "eosio::string_to_name(edcba)" );
eos_assert( eosio::string_to_name("fedcba") == N(fedcba) , "eosio::string_to_name(fedcba)" );
eos_assert( eosio::string_to_name("gfedcba") == N(gfedcba) , "eosio::string_to_name(gfedcba)" );
eos_assert( eosio::string_to_name("hgfedcba") == N(hgfedcba) , "eosio::string_to_name(hgfedcba)" );
eos_assert( eosio::string_to_name("ihgfedcba") == N(ihgfedcba) , "eosio::string_to_name(ihgfedcba)" );
eos_assert( eosio::string_to_name("jihgfedcba") == N(jihgfedcba) , "eosio::string_to_name(jihgfedcba)" );
eos_assert( eosio::string_to_name("kjihgfedcba") == N(kjihgfedcba) , "eosio::string_to_name(kjihgfedcba)" );
eos_assert( eosio::string_to_name("lkjihgfedcba") == N(lkjihgfedcba) , "eosio::string_to_name(lkjihgfedcba)" );
eos_assert( eosio::string_to_name("mlkjihgfedcba") == N(mlkjihgfedcba) , "eosio::string_to_name(mlkjihgfedcba)" );
eos_assert( eosio::string_to_name("mlkjihgfedcba1") == N(mlkjihgfedcba2) , "eosio::string_to_name(mlkjihgfedcba2)" );
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)" );
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("azAA34") == N(azBB34) , "eosio::string_to_name N(azBB34)" );
eos_assert( eosio::string_to_name("AZaz12Bc34") == N(AZaz12Bc34) , "eosio::string_to_name AZaz12Bc34" );
eos_assert( eosio::string_to_name("AAAAAAAAAAAAAAA") == eosio::string_to_name("BBBBBBBBBBBBBDDDDDFFFGG") , "eosio::string_to_name BBBBBBBBBBBBBDDDDDFFFGG" );
}
void test_types::name_class() {
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)" );
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)" );
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("azAA34")).value == N(azAA34), "eosio::name != N(azAA34)" );
eos_assert( eosio::name(eosio::string_to_name("AABBCC")).value == 0, "eosio::name != N(0)" );
eos_assert( eosio::name(eosio::string_to_name("AA11")).value == N(AA11), "eosio::name != N(AA11)" );
eos_assert( eosio::name(eosio::string_to_name("11AA")).value == N(11), "eosio::name != N(11)" );
eos_assert( eosio::name(eosio::string_to_name("22BBCCXXAA")).value == N(22), "eosio::name != N(22)" );
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"));
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" {
WASM_TEST_HANDLER(test_string, string_literal);
//unhandled test call
assert(false, "Unknown Test");
eos_assert(false, "Unknown Test");
}
}
......@@ -7,7 +7,7 @@ using namespace eosio;
void verify( const void* const ptr, const uint32_t val, const uint32_t size) {
const char* char_ptr = (const char*)ptr;
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");
......@@ -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.
*/
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`
......@@ -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.
*/
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`
......@@ -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.
*/
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`
......@@ -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.
*/
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);
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);
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);
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);
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);
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);
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);
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);
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() {
......@@ -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.
*/
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`
*/
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);
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() {
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() {
// initial buffer should be exhausted at 8192 bytes
// 8176 left ( 12 + ptr header )
char* ptr1 = (char*)eosio::malloc(12);
assert(ptr1 != nullptr, "should have allocated 12 char buffer");
char* ptr1 = (char*)malloc(12);
eos_assert(ptr1 != nullptr, "should have allocated 12 char buffer");
char* ptr2 = (char*)eosio::malloc(8159);
assert(ptr2 != nullptr, "should have allocate 8159 char buffer");
char* ptr2 = (char*)malloc(8159);
eos_assert(ptr2 != nullptr, "should have allocate 8159 char buffer");
// should overrun initial heap, allocated in 2nd heap
char* ptr3 = (char*)eosio::malloc(20);
assert(ptr3 != nullptr, "should have allocated a 20 char buffer");
char* ptr3 = (char*)malloc(20);
eos_assert(ptr3 != nullptr, "should have allocated a 20 char buffer");
verify(ptr3, 0, 20);
}
......@@ -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;
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)
*/
void test_memory::test_memory_allocs()
{
char* ptr1 = (char*)eosio::malloc(0);
assert(ptr1 == nullptr, "should not have allocated a 0 char buf");
char* ptr1 = (char*)malloc(0);
eos_assert(ptr1 == nullptr, "should not have allocated a 0 char buf");
// 20 chars - 20 + 4(header) which is divisible by 8
ptr1 = (char*)eosio::malloc(20);
assert(ptr1 != nullptr, "should have allocated a 20 char buf");
ptr1 = (char*)malloc(20);
eos_assert(ptr1 != nullptr, "should have allocated a 20 char buf");
verify_mem(ptr1, 0, 20);
// existing memory layout -> |24|
// 36 chars allocated - 30 + 4 plus an extra 6 to be divisible by 8
char* ptr1_realloc = (char*)eosio::realloc(ptr1, 30);
assert(ptr1_realloc != nullptr, "should have returned a 30 char buf");
assert(ptr1_realloc == ptr1, "should have enlarged the 20 char buf");
char* ptr1_realloc = (char*)realloc(ptr1, 30);
eos_assert(ptr1_realloc != nullptr, "should have returned a 30 char buf");
eos_assert(ptr1_realloc == ptr1, "should have enlarged the 20 char buf");
// existing memory layout -> |40|
// 20 chars allocated
char* ptr2 = (char*)eosio::malloc(20);
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)
char* ptr2 = (char*)malloc(20);
eos_assert(ptr2 != nullptr, "should have allocated another 20 char buf");
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);
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|
//shrink the buffer
ptr1[14] = 0x7e;
// 20 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 15);
assert(ptr1_realloc != nullptr, "should have returned a 15 char buf");
assert(ptr1_realloc == ptr1, "should have shrunk the reallocated 30 char buf");
ptr1_realloc = (char*)realloc(ptr1, 15);
eos_assert(ptr1_realloc != nullptr, "should have returned a 15 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)
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|
//same size the buffer (verify corner case)
// 20 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 15);
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");
assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for unchanged buf");
ptr1_realloc = (char*)realloc(ptr1, 15);
eos_assert(ptr1_realloc != nullptr, "should have returned a reallocated 15 char buf");
eos_assert(ptr1_realloc == ptr1, "should have reallocated 15 char buf as the same 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)
ptr1_realloc = (char*)eosio::realloc(ptr1, 30);
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)
assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for expanded buf");
ptr1_realloc = (char*)realloc(ptr1, 30);
eos_assert(ptr1_realloc != nullptr, "should have returned a 30 char buf");
eos_assert(ptr1_realloc == ptr1, "should have increased the buf back to orig max"); //test specific to implementation (can remove for refactor)
eos_assert(ptr1[14] == 0x7e, "remaining 15 chars of buf should be untouched for expanded buf");
//increase buffer beyond (indicated) allocated space
// 36 chars allocated (still)
ptr1_realloc = (char*)eosio::realloc(ptr1, 36);
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)
ptr1_realloc = (char*)realloc(ptr1, 36);
eos_assert(ptr1_realloc != nullptr, "should have returned a 36 char buf");
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
ptr1[35] = 0x7f;
// 44 chars allocated - 37 + 4 plus an extra 7 to be divisible by 8
ptr1_realloc = (char*)eosio::realloc(ptr1, 37);
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");
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");
assert(ptr1_realloc[35] == 0x7f, "orig 36 char buf's content should be copied");
ptr1_realloc = (char*)realloc(ptr1, 37);
eos_assert(ptr1_realloc != nullptr, "should have returned a 37 char buf");
eos_assert(ptr1_realloc != ptr1, "should have had to create new 37 char buf from 36 char buf");
eos_assert(ptr2 < ptr1_realloc, "should have been created after ptr2"); // test specific to implementation (can remove for refactor)
eos_assert(ptr1_realloc[14] == 0x7e, "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
char* nullptr_realloc = (char*)eosio::realloc(nullptr, 50);
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)
char* nullptr_realloc = (char*)realloc(nullptr, 50);
eos_assert(nullptr_realloc != nullptr, "should have returned a 50 char buf and ignored nullptr");
eos_assert(ptr1_realloc < nullptr_realloc, "should have created after ptr1_realloc"); // test specific to implementation (can remove for refactor)
//realloc with invalid ptr
char* invalid_ptr_realloc = (char*)eosio::realloc(nullptr_realloc + 4, 10);
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)
char* invalid_ptr_realloc = (char*)realloc(nullptr_realloc + 4, 10);
eos_assert(invalid_ptr_realloc != nullptr, "should have returned a 10 char buf and ignored invalid ptr");
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)
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)
char* ptr1 = (char*)eosio::malloc(15 * 64 * 1024 - 4);
assert(ptr1 != nullptr, "should have allocated a ~983K char buf");
char* ptr1 = (char*)malloc(15 * 64 * 1024 - 4);
eos_assert(ptr1 != nullptr, "should have allocated a ~983K char buf");
}
void test_memory::test_memory_hunks()
{
// 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))
char* ptr1 = (char*)eosio::malloc(7404);
assert(ptr1 != nullptr, "should have allocated a 7404 char buf");
char* ptr1 = (char*)malloc(7404);
eos_assert(ptr1 != nullptr, "should have allocated a 7404 char buf");
char* last_ptr = nullptr;
// 96 * (10 * 1024 - 15) => 15 ~64K pages with 768 byte buffer left to allocate
for (int i = 0; i < 96; ++i)
{
char* ptr2 = (char*)eosio::malloc(10 * 1024 - 15);
assert(ptr2 != nullptr, "should have allocated a ~10K char buf");
char* ptr2 = (char*)malloc(10 * 1024 - 15);
eos_assert(ptr2 != nullptr, "should have allocated a ~10K char buf");
if (last_ptr != nullptr)
{
// - 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;
}
// try to allocate a buffer slightly larger than the remaining buffer| 765 + 4 rounds to 776
char* ptr3 = (char*)eosio::malloc(765);
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)
char* ptr3 = (char*)malloc(765);
eos_assert(ptr3 != nullptr, "should have allocated a 772 char buf");
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
char* ptr4 = (char*)eosio::malloc(764);
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)
char* ptr4 = (char*)malloc(764);
eos_assert(ptr4 != nullptr, "should have allocated a 764 char buf");
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
char* ptr5 = (char*)eosio::malloc(4);
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)
char* ptr5 = (char*)malloc(4);
eos_assert(ptr5 != nullptr, "should have allocated a 4 char buf");
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
char* ptr6 = (char*)eosio::malloc(4);
assert(ptr6 == nullptr, "should not have allocated a char buf");
char* ptr6 = (char*)malloc(4);
eos_assert(ptr6 == nullptr, "should not have allocated a char buf");
}
void test_memory::test_memory_hunks_disjoint()
{
// leave 8 bytes of initial buffer to allocate later
char* ptr1 = (char*)eosio::malloc(8 * 1024 - 12);
assert(ptr1 != nullptr, "should have allocated a 8184 char buf");
char* ptr1 = (char*)malloc(8 * 1024 - 12);
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
char* loop_ptr1[14];
......@@ -172,69 +172,69 @@ void test_memory::test_memory_hunks_disjoint()
for (int i = 0; i < 14; ++i)
{
// 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);
assert(loop_ptr1[i] != nullptr, "should have allocated a 64K char buf");
loop_ptr1[i] = (char*)malloc(64 * 1024 - 28);
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
// will leave 8 bytes to allocate later (verifying that we circle back in the list
char* ptr2 = (char*)eosio::malloc(65412);
assert(ptr2 != nullptr, "should have allocated a 65412 char buf");
char* ptr2 = (char*)malloc(65412);
eos_assert(ptr2 != nullptr, "should have allocated a 65412 char buf");
char* loop_ptr2[14];
for (int i = 0; i < 14; ++i)
{
// 12 char buffer to leave 8 bytes for another pass
loop_ptr2[i] = (char*)eosio::malloc(12);
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]");
loop_ptr2[i] = (char*)malloc(12);
eos_assert(loop_ptr2[i] != nullptr, "should have allocated a 12 char buf");
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
char* ptr3 = (char*)eosio::malloc(4);
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)
char* ptr3 = (char*)malloc(4);
eos_assert(ptr3 != nullptr, "should have allocated a 4 char buf");
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);
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)
char* ptr4 = (char*)malloc(4);
eos_assert(ptr4 != nullptr, "should have allocated a 4 char buf");
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);
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)
char* ptr5 = (char*)malloc(4);
eos_assert(ptr5 != nullptr, "should have allocated a 4 char buf");
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)
char* loop_ptr3[13];
for (int i = 0; i < 13; ++i)
{
// 4 char buffer to use up buffer
loop_ptr3[i] = (char*)eosio::malloc(4);
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]");
loop_ptr3[i] = (char*)malloc(4);
eos_assert(loop_ptr3[i] != nullptr, "should have allocated a 4 char buf");
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);
assert(ptr6 == nullptr, "should not have allocated a char buf");
char* ptr6 = (char*)malloc(4);
eos_assert(ptr6 == nullptr, "should not have allocated a char buf");
eosio::free(loop_ptr1[3]);
eosio::free(loop_ptr2[3]);
eosio::free(loop_ptr3[3]);
free(loop_ptr1[3]);
free(loop_ptr2[3]);
free(loop_ptr3[3]);
char* slot3_ptr[64];
for (int i = 0; i < 64; ++i)
{
slot3_ptr[i] = (char*)eosio::malloc(1020);
assert(slot3_ptr[i] != nullptr, "should have allocated a 1020 char buf");
slot3_ptr[i] = (char*)malloc(1020);
eos_assert(slot3_ptr[i] != nullptr, "should have allocated a 1020 char buf");
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
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);
assert(ptr7 == nullptr, "should not have allocated a char buf");
char* ptr7 = (char*)malloc(4);
eos_assert(ptr7 == nullptr, "should not have allocated a char buf");
}
void test_memory::test_memset_memcpy()
......@@ -299,15 +299,15 @@ void test_memory::test_memcmp()
char buf1[] = "abcde";
char buf2[] = "abcde";
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 buf4[] = "fghij";
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 buf6[] = "abcde";
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() {
size_t size1 = 100;
eosio::string str1(size1);
assert( str1.get_size() == size1, "str1.get_size() == size1" );
//assert( str1.is_own_memory() == true, "str1.is_own_memory() == true" );
eos_assert( str1.get_size() == size1, "str1.get_size() == size1" );
//eos_assert( str1.is_own_memory() == true, "str1.is_own_memory() == true" );
/*
size_t size2 = 0;
eosio::string str2(size2);
assert( str2.get_size() == size2, "str2.get_size() == size2" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
eos_assert( str2.get_size() == size2, "str2.get_size() == size2" );
eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
*/
}
......@@ -26,15 +26,15 @@ void test_string::construct_with_data() {
eosio::string str1(data, size, false);
assert( str1.get_size() == size, "str1.get_size() == size" );
assert( str1.get_data() == data, "str1.get_data() == data" );
assert( str1.is_own_memory() == false, "str1.is_own_memory() == false" );
eos_assert( str1.get_size() == size, "str1.get_size() == size" );
eos_assert( str1.get_data() == data, "str1.get_data() == data" );
eos_assert( str1.is_own_memory() == false, "str1.is_own_memory() == false" );
eosio::string str2(data, 0, false);
assert( str2.get_size() == 0, "str2.get_size() == 0" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
eos_assert( str2.get_size() == 0, "str2.get_size() == 0" );
eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
}
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);
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_size() == substr_size, "str.get_size() == substr_size" );
eos_assert( str.get_data() == data + offset, "str.get_data() == data + offset" );
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() {
......@@ -58,18 +58,18 @@ void test_string::construct_with_data_copied() {
eosio::string str1(data, size, true);
assert( str1.get_size() == size, "str1.get_size() == size" );
assert( str1.get_data() != data, "str1.get_data() != data" );
eos_assert( str1.get_size() == size, "str1.get_size() == size" );
eos_assert( str1.get_data() != data, "str1.get_data() != data" );
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);
assert( str2.get_size() == 0, "str2.get_size() == 0" );
assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
eos_assert( str2.get_size() == 0, "str2.get_size() == 0" );
eos_assert( str2.get_data() == nullptr, "str2.get_data() == nullptr" );
eos_assert( str2.is_own_memory() == false, "str2.is_own_memory() == false" );
}
void test_string::copy_constructor() {
......@@ -80,11 +80,11 @@ void test_string::copy_constructor() {
eosio::string str2 = str1;
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()" );
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()" );
assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
eos_assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" );
eos_assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" );
eos_assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" );
eos_assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" );
eos_assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
}
void test_string::assignment_operator() {
......@@ -96,11 +96,11 @@ void test_string::assignment_operator() {
eosio::string str2;
str2 = str1;
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()" );
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()" );
assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
eos_assert( str1.get_size() == str2.get_size(), "str1.get_size() == str2.get_size()" );
eos_assert( str1.get_data() == str2.get_data(), "str1.get_data() == str2.getget_data_size()" );
eos_assert( str1.is_own_memory() == str2.is_own_memory(), "str1.is_own_memory() == str2.is_own_memory()" );
eos_assert( str1.get_refcount() == str2.get_refcount(), "str1.get_refcount() == str2.get_refcount()" );
eos_assert( str1.get_refcount() == 2, "str1.refcount() == 2" );
}
void test_string::index_operator() {
......@@ -110,7 +110,7 @@ void test_string::index_operator() {
eosio::string str(data, size, false);
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() {
size_t substr_size = 5;
size_t offset = 2;
eosio::string substr = str.substr(offset, substr_size, false);
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_size() == substr_size, "str.get_size() == substr_size" );
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++) {
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() {
......@@ -166,13 +166,13 @@ void test_string::concatenation_null_terminated() {
str1 += str2;
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_data() != data1, "str1.get_data() != data1" );
eos_assert( str1.get_size() == size1 + size2 - 1, "str1.get_size == size1 + size2 - 1" );
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++) {
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() {
str1 += str2;
assert( str1.get_data() != data1, "str1.get_data() != data1" );
assert( str1.get_size() == size1 + size2, "str1.get_size == size1 + size2" );
eos_assert( str1.get_data() != data1, "str1.get_data() != data1" );
eos_assert( str1.get_size() == size1 + size2, "str1.get_size == size1 + size2" );
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++) {
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() {
eosio::string str(100);
str.assign(data, size, true);
assert( str.get_size() == size, "str.get_size() == size" );
assert( str.get_data() != data, "str.get_data() != data" );
eos_assert( str.get_size() == size, "str.get_size() == size" );
eos_assert( str.get_data() != data, "str.get_data() != data" );
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);
assert( str.get_size() == 0, "str.get_size() == 0" );
assert( str.get_data() == nullptr, "str.get_data() == nullptr" );
assert( str.is_own_memory() == false, "str.is_own_memory() == false" );
eos_assert( str.get_size() == 0, "str.get_size() == 0" );
eos_assert( str.get_data() == nullptr, "str.get_data() == nullptr" );
eos_assert( str.is_own_memory() == false, "str.is_own_memory() == false" );
}
......@@ -254,15 +254,15 @@ void test_string::comparison_operator() {
size_t size8 = sizeof(data8)/sizeof(char);
eosio::string str8(data8, size8, false);
assert( str1 == str2, "str1 == str2" );
assert( str1 != str3, "str1 != str3" );
assert( str1 < str3, "str1 < str3" );
assert( str2 > str4, "str2 > str4" );
assert( str1.compare(str2) == 0, "str1.compare(str2) == 0" );
assert( str1.compare(str3) < 0, "str1.compare(str3) < 0" );
assert( str1.compare(str4) > 0, "str1.compare(str4) > 0" );
assert( str5.compare(str6) < 0, "st5.compare(str6) < 0" );
assert( str7.compare(str8) > 0, "str7.compare(str8) > 0" );
eos_assert( str1 == str2, "str1 == str2" );
eos_assert( str1 != str3, "str1 != str3" );
eos_assert( str1 < str3, "str1 < str3" );
eos_assert( str2 > str4, "str2 > str4" );
eos_assert( str1.compare(str2) == 0, "str1.compare(str2) == 0" );
eos_assert( str1.compare(str3) < 0, "str1.compare(str3) < 0" );
eos_assert( str1.compare(str4) > 0, "str1.compare(str4) > 0" );
eos_assert( str5.compare(str6) < 0, "st5.compare(str6) < 0" );
eos_assert( str7.compare(str8) > 0, "str7.compare(str8) > 0" );
}
void test_string::print_null_terminated() {
......@@ -334,18 +334,18 @@ void test_string::string_literal() {
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++) {
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";
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++) {
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")
include_directories("${CMAKE_SOURCE_DIR}/contracts")
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")
endif()
#if(WASM_TOOLCHAIN)
# file(GLOB WASM_UNIT_TESTS "wasm_tests/*.cpp")
#endif()
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} )
......
......@@ -262,13 +262,13 @@ BOOST_FIXTURE_TEST_CASE(account_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try {
produce_blocks(2);
create_account( N(testapi), 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(acc3), asset::from_string("100000.0000 EOS") );
create_account( N(acc4), 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(acc2) ); //, 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") );
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);
set_code( N(testapi), test_api_wast );
set_code( N(acc1), test_api_wast );
......@@ -389,19 +389,17 @@ BOOST_FIXTURE_TEST_CASE(action_tests, tester) { try {
* compiler_builtins_tests test case
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try {
return;
produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.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(acc3), asset::from_string("1.0000 EOS") );
create_account( N(acc4), asset::from_string("1.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(acc2) ); //, 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") );
produce_blocks(1000);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" );
produce_blocks(1000);
set_code( N(testapi), test_api_wast );
produce_blocks(1);
return;
CALL_TEST_FUNCTION( *this, "test_compiler_builtins", "test_multi3", {});
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,
......@@ -437,13 +435,13 @@ BOOST_FIXTURE_TEST_CASE(compiler_builtins_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try {
produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.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(acc3), asset::from_string("1.0000 EOS") );
create_account( N(acc4), asset::from_string("1.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(acc2) ); //, 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") );
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);
set_code( N(testapi), test_api_wast );
produce_blocks(1);
......@@ -488,10 +486,10 @@ BOOST_FIXTURE_TEST_CASE(transaction_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(chain_tests, tester) { try {
produce_blocks(2);
create_account( N(testapi), asset::from_string("100000.0000 EOS") );
create_account( N(acc1), asset::from_string("0.0000 EOS") );
create_account( N(testapi) ); //, asset::from_string("100000.0000 EOS") );
create_account( N(acc1) ); //, asset::from_string("0.0000 EOS") );
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);
set_code( N(testapi), test_api_wast );
......@@ -551,9 +549,9 @@ return;
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try {
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);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" );
transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code( N(testapi), test_api_wast );
produce_blocks(1000);
......@@ -577,9 +575,9 @@ BOOST_FIXTURE_TEST_CASE(fixedpoint_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_wast);
produce_blocks(1000);
......@@ -603,9 +601,9 @@ BOOST_FIXTURE_TEST_CASE(real_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_wast);
produce_blocks(1000);
......@@ -638,9 +636,9 @@ BOOST_FIXTURE_TEST_CASE(crypto_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000);
......@@ -668,9 +666,9 @@ BOOST_FIXTURE_TEST_CASE(memory_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(extended_memory_test_initial_memory, tester) { try {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000);
......@@ -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 {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000);
......@@ -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 {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000);
......@@ -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 {
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);
transfer(N(inita), N(testapi), "100.0000 EOS", "memo");
transfer(N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code(N(testapi), test_api_mem_wast);
produce_blocks(1000);
......@@ -720,11 +718,11 @@ BOOST_FIXTURE_TEST_CASE(extended_memory_test_page_memory_negative_bytes, tester)
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try {
produce_blocks(1000);
create_account( N(testapi), asset::from_string("1000.0000 EOS") );
create_account( N(testextmem), asset::from_string("100.0000 EOS") );
create_account( N(testapi) ); //, asset::from_string("1000.0000 EOS") );
create_account( N(testextmem) ); //, asset::from_string("100.0000 EOS") );
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);
set_code( N(testapi), test_api_mem_wast );
produce_blocks(1000);
......@@ -772,16 +770,16 @@ BOOST_FIXTURE_TEST_CASE(string_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try {
produce_blocks(2);
create_account(N(testapi), asset::from_string("100000.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(acc2), 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(testapi) ); //, asset::from_string("100000.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(acc2) ); //, 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"));
produce_blocks(1000);
//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);
produce_blocks(1000);
string captured = "";
......@@ -821,10 +819,10 @@ BOOST_FIXTURE_TEST_CASE(print_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try {
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);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" );
transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code( N(testapi), test_api_wast );
produce_blocks(1000);
......@@ -884,10 +882,10 @@ BOOST_FIXTURE_TEST_CASE(math_tests, tester) { try {
*************************************************************************************/
BOOST_FIXTURE_TEST_CASE(types_tests, tester) { try {
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);
transfer( N(inita), N(testapi), "100.0000 EOS", "memo" );
transfer( N(inita), N(testapi), "100.0000 EOS", "memo", N(eosio) );
produce_blocks(1000);
set_code( N(testapi), test_api_wast );
produce_blocks(1000);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册