From c01c07e3112b070a47be366fd057a8874eb95645 Mon Sep 17 00:00:00 2001 From: chriseth Date: Tue, 7 Apr 2015 14:03:57 +0200 Subject: Retain more gas for the case that the called contract is not yet created. --- SolidityEndToEndTest.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index b169263d..5d6386cc 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -1414,8 +1414,6 @@ BOOST_AUTO_TEST_CASE(sha3) testSolidityAgainstCpp("a(bytes32)", f, u256(-1)); } -#ifdef PRECOMPILED_CONTRACTS_GAS_FIXED_IN_SOLIDITY - BOOST_AUTO_TEST_CASE(sha256) { char const* sourceCode = "contract test {\n" @@ -3631,5 +3629,3 @@ BOOST_AUTO_TEST_SUITE_END() } } } // end namespaces - -#endif -- cgit v1.2.3 From 32ae2ea75c2eaf6a4bfa1d28f5e8c7c8c9ca5746 Mon Sep 17 00:00:00 2001 From: Liana Husikyan Date: Thu, 26 Mar 2015 12:22:49 +0100 Subject: added createing FunctionType from ArrayType VariableDeclaration added test --- SolidityEndToEndTest.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index b169263d..3c4c2bc0 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -966,6 +966,19 @@ BOOST_AUTO_TEST_CASE(simple_accessor) BOOST_CHECK(callContractFunction("data()") == encodeArgs(8)); } +BOOST_AUTO_TEST_CASE(array_accessor) +{ + char const* sourceCode = R"( + contract test { + uint[8] datas; + function test() { + datas[2] = 8; + } + })"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("data(2)") == encodeArgs(8)); +} + BOOST_AUTO_TEST_CASE(multiple_elementary_accessors) { char const* sourceCode = "contract test {\n" -- cgit v1.2.3 From a33564fbccf2829cb591bbf8b8df42a456566e16 Mon Sep 17 00:00:00 2001 From: Liana Husikyan Date: Tue, 31 Mar 2015 11:07:10 +0200 Subject: some more tests --- SolidityEndToEndTest.cpp | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 3c4c2bc0..1b7f4129 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -967,16 +967,43 @@ BOOST_AUTO_TEST_CASE(simple_accessor) } BOOST_AUTO_TEST_CASE(array_accessor) +{ + char const* sourceCode = R"( + contract test { + uint[8] data; + uint[] dynamicData; + function test() { + data[2] = 8; + dynamicData.length = 3; + dynamicData[2] = 8; + } + } + )"; + compileAndRun(sourceCode); + BOOST_CHECK(callContractFunction("data(uint256)", 2) == encodeArgs(8)); + BOOST_CHECK(callContractFunction("data(uint256)", 8) == encodeArgs()); + BOOST_CHECK(callContractFunction("dynamicData(uint256)", 2) == encodeArgs(8)); + BOOST_CHECK(callContractFunction("dynamicData(uint256)", 8) == encodeArgs()); +} + +BOOST_AUTO_TEST_CASE(accessors_mapping_for_array) { char const* sourceCode = R"( contract test { - uint[8] datas; - function test() { - datas[2] = 8; - } - })"; + mapping(uint => uint[8]) data; + mapping(uint => uint[]) dynamicData; + function test() { + data[2][2] = 8; + dynamicData[2].length = 3; + dynamicData[2][2] = 8; + } + } + )"; compileAndRun(sourceCode); - BOOST_CHECK(callContractFunction("data(2)") == encodeArgs(8)); + BOOST_CHECK(callContractFunction("data(uint256,uint256)", 2, 2) == encodeArgs(8)); + BOOST_CHECK(callContractFunction("data(uint256, 256)", 2, 8) == encodeArgs()); + BOOST_CHECK(callContractFunction("dynamicData(uint256,uint256)", 2, 2) == encodeArgs(8)); + BOOST_CHECK(callContractFunction("dynamicData(uint256,uint256)", 2, 8) == encodeArgs()); } BOOST_AUTO_TEST_CASE(multiple_elementary_accessors) -- cgit v1.2.3 From 4d4a999db24b2baed1d72075a5f4ff5173942e24 Mon Sep 17 00:00:00 2001 From: Liana Husikyan Date: Wed, 1 Apr 2015 14:22:42 +0200 Subject: added implementation to append code for State variable accessor fixed tests --- SolidityEndToEndTest.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 1b7f4129..ee9c1f69 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -970,8 +970,8 @@ BOOST_AUTO_TEST_CASE(array_accessor) { char const* sourceCode = R"( contract test { - uint[8] data; - uint[] dynamicData; + uint[8] public data; + uint[] public dynamicData; function test() { data[2] = 8; dynamicData.length = 3; @@ -980,6 +980,7 @@ BOOST_AUTO_TEST_CASE(array_accessor) } )"; compileAndRun(sourceCode); + auto res = callContractFunction("data(uint256)", 2) ; BOOST_CHECK(callContractFunction("data(uint256)", 2) == encodeArgs(8)); BOOST_CHECK(callContractFunction("data(uint256)", 8) == encodeArgs()); BOOST_CHECK(callContractFunction("dynamicData(uint256)", 2) == encodeArgs(8)); @@ -990,8 +991,8 @@ BOOST_AUTO_TEST_CASE(accessors_mapping_for_array) { char const* sourceCode = R"( contract test { - mapping(uint => uint[8]) data; - mapping(uint => uint[]) dynamicData; + mapping(uint => uint[8]) public data; + mapping(uint => uint[]) public dynamicData; function test() { data[2][2] = 8; dynamicData[2].length = 3; -- cgit v1.2.3 From 5c0fe54f3fff424380dc77dc1c109f0eb68cf852 Mon Sep 17 00:00:00 2001 From: Liana Husikyan Date: Wed, 1 Apr 2015 18:16:57 +0200 Subject: added < uint256 uinttype to test --- SolidityEndToEndTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index ee9c1f69..7163d469 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -972,10 +972,13 @@ BOOST_AUTO_TEST_CASE(array_accessor) contract test { uint[8] public data; uint[] public dynamicData; + uint24[] public smallTypeData; function test() { data[2] = 8; dynamicData.length = 3; dynamicData[2] = 8; + smallTypeData.length = 2; + smallTypeData[1] = 2; } } )"; @@ -985,6 +988,8 @@ BOOST_AUTO_TEST_CASE(array_accessor) BOOST_CHECK(callContractFunction("data(uint256)", 8) == encodeArgs()); BOOST_CHECK(callContractFunction("dynamicData(uint256)", 2) == encodeArgs(8)); BOOST_CHECK(callContractFunction("dynamicData(uint256)", 8) == encodeArgs()); + BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 1) == encodeArgs(2)); + BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 8) == encodeArgs()); } BOOST_AUTO_TEST_CASE(accessors_mapping_for_array) -- cgit v1.2.3 From 377e5435580e2e7e948e4a7690f0249f6af032d9 Mon Sep 17 00:00:00 2001 From: Liana Husikyan Date: Thu, 2 Apr 2015 17:03:02 +0200 Subject: fixes added more tests --- SolidityEndToEndTest.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 7163d469..4622e422 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -973,23 +973,31 @@ BOOST_AUTO_TEST_CASE(array_accessor) uint[8] public data; uint[] public dynamicData; uint24[] public smallTypeData; + struct st { uint a; uint[] finalArray; } + mapping(uint256 => mapping(uint256 => st[5])) public multiple_map; + function test() { - data[2] = 8; + data[0] = 8; dynamicData.length = 3; dynamicData[2] = 8; - smallTypeData.length = 2; - smallTypeData[1] = 2; + smallTypeData.length = 128; + smallTypeData[1] = 22; + smallTypeData[127] = 2; + multiple_map[2][1][2].a = 3; + multiple_map[2][1][2].finalArray.length = 4; + multiple_map[2][1][2].finalArray[3] = 5; } } )"; compileAndRun(sourceCode); - auto res = callContractFunction("data(uint256)", 2) ; - BOOST_CHECK(callContractFunction("data(uint256)", 2) == encodeArgs(8)); + BOOST_CHECK(callContractFunction("data(uint256)", 0) == encodeArgs(8)); BOOST_CHECK(callContractFunction("data(uint256)", 8) == encodeArgs()); BOOST_CHECK(callContractFunction("dynamicData(uint256)", 2) == encodeArgs(8)); BOOST_CHECK(callContractFunction("dynamicData(uint256)", 8) == encodeArgs()); - BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 1) == encodeArgs(2)); - BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 8) == encodeArgs()); + BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 1) == encodeArgs(22)); + BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 127) == encodeArgs(2)); + BOOST_CHECK(callContractFunction("smallTypeData(uint256)", 128) == encodeArgs()); + BOOST_CHECK(callContractFunction("multiple_map(uint256,uint256,uint256)", 2, 1, 2) == encodeArgs(3)); } BOOST_AUTO_TEST_CASE(accessors_mapping_for_array) -- cgit v1.2.3 From ec8d4cd0814674287c30eee41ead3c18f7ddec02 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Wed, 8 Apr 2015 23:09:06 +0200 Subject: Fix solidity tests. --- SolidityEndToEndTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'SolidityEndToEndTest.cpp') diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp index 29bf334f..0d7a933b 100644 --- a/SolidityEndToEndTest.cpp +++ b/SolidityEndToEndTest.cpp @@ -1522,8 +1522,6 @@ BOOST_AUTO_TEST_CASE(ecrecover) BOOST_CHECK(callContractFunction("a(bytes32,uint8,bytes32,bytes32)", h, v, r, s) == encodeArgs(addr)); } -#endif - BOOST_AUTO_TEST_CASE(inter_contract_calls) { char const* sourceCode = R"( @@ -3683,3 +3681,5 @@ BOOST_AUTO_TEST_SUITE_END() } } } // end namespaces + +#endif -- cgit v1.2.3