Browse Source

singletest when refill

Solidity Contract Inheritance Test
cl-refactor
winsvega 10 years ago
parent
commit
65f53a5f28
  1. 152
      test/libethereum/StateTestsFiller/stSolidityTestFiller.json
  2. 4
      test/libethereum/state.cpp

152
test/libethereum/StateTestsFiller/stSolidityTestFiller.json

@ -1,4 +1,156 @@
{
"ContractInheritance" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "45678256",
"currentGasLimit" : "1000000000000000000000",
"currentNumber" : "120",
"currentTimestamp" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
"0x" : "0x01"
}
}
},
"pre" :
{
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
"//" : "contract base ",
"//" : "{ ",
"//" : " function methodA() returns (uint32) ",
"//" : " { ",
"//" : " return 1; ",
"//" : " } ",
"//" : "} ",
"//" : " ",
"//" : "contract frombase is base ",
"//" : "{ ",
"//" : " function methodA() returns (uint32) ",
"//" : " { ",
"//" : " return 2; ",
"//" : " } ",
"//" : "} ",
"//" : " ",
"//" : "contract main ",
"//" : "{ ",
"//" : " bool returnValue; ",
"//" : " function run() returns (bool) ",
"//" : " { ",
"//" : " returnValue = testInheretance(); ",
"//" : " return returnValue; ",
"//" : " } ",
"//" : " ",
"//" : " function testInheretance() returns (bool res) ",
"//" : " { ",
"//" : " res = true; ",
"//" : " base contract1; ",
"//" : " if (contract1.methodA() != 1) ",
"//" : " return false; ",
"//" : " ",
"//" : " frombase contract2; ",
"//" : " if (contract2.methodA() != 2) ",
"//" : " return false; ",
"//" : " } ",
"//" : "} ",
"code" : "0x6000357c0100000000000000000000000000000000000000000000000000000000900480633e0bca3b1461003a578063c04062261461004c57005b610042610099565b8060005260206000f35b61005461005e565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006000600060019250825060018273ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f16100fd57005b505060005163ffffffff1614156101135761011c565b60009250610194565b60028173ffffffffffffffffffffffffffffffffffffffff166381bda09b60206000827c010000000000000000000000000000000000000000000000000000000002600052600460006000866161da5a03f161017457005b505060005163ffffffff16141561018a57610193565b60009250610194565b5b50509056",
"nonce" : "0",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "50000000",
"nonce" : "0",
"code" : "",
"storage": {}
}
},
"transaction" :
{
"data" : "run()",
"data" : "0xc0406226",
"gasLimit" : "35000000",
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0"
}
},
"TestOverflow" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "45678256",
"currentGasLimit" : "1000000000000000000000",
"currentNumber" : "120",
"currentTimestamp" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
"0x" : "0x01"
}
}
},
"pre" :
{
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
"//" : "contract main ",
"//" : "{ ",
"//" : " bool returnValue; ",
"//" : " function run() returns (bool) ",
"//" : " { ",
"//" : " returnValue = testOverflow(); ",
"//" : " return returnValue; ",
"//" : " } ",
"//" : " ",
"//" : " function testOverflow() returns (bool res) ",
"//" : " { ",
"//" : " res = true; ",
"//" : " uint256 a = 115792089237316195423570985008687907853269984665640564039457584007913129639935; ",
"//" : " if (a + 1 != 0) ",
"//" : " return false; ",
"//" : " ",
"//" : " uint32 b = 4294967295; ",
"//" : " if (b + 1 != 0) ",
"//" : " return false; ",
"//" : " ",
"//" : " uint64 c = 18446744073709551615; ",
"//" : " if (c + 1 != 0) ",
"//" : " return false; ",
"//" : " } ",
"//" : "} ",
"code" : "0x6000357c0100000000000000000000000000000000000000000000000000000000900480638040cac41461003a578063c04062261461004c57005b610042610099565b8060005260206000f35b61005461005e565b8060005260206000f35b6000610068610099565b600060006101000a81548160ff02191690830217905550600060009054906101000a900460ff169050610096565b90565b60006000600060006001935083507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff925060006001840114156100db576100e4565b6000935061013b565b63ffffffff915060006001830163ffffffff1614156101025761010b565b6000935061013b565b67ffffffffffffffff905060006001820167ffffffffffffffff1614156101315761013a565b6000935061013b565b5b5050509056",
"nonce" : "0",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "50000000",
"nonce" : "0",
"code" : "",
"storage": {}
}
},
"transaction" :
{
"data" : "run()",
"data" : "0xc0406226",
"gasLimit" : "35000000",
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0"
}
},
"TestStoreGasPrices" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",

4
test/libethereum/state.cpp

@ -50,7 +50,7 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
continue;
}
std::cout << " " << i.first << "\n";
std::cout << " " << i.first << std::endl;
BOOST_REQUIRE(o.count("env") > 0);
BOOST_REQUIRE(o.count("pre") > 0);
BOOST_REQUIRE(o.count("transaction") > 0);
@ -67,7 +67,7 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
}
catch (Exception const& _e)
{
cnote << "Exception:\n" << diagnostic_information(_e);
cnote << "Exception: " << diagnostic_information(_e);
theState.commit();
}
catch (std::exception const& _e)

Loading…
Cancel
Save