diff options
author | Paweł Bylica <pawel.bylica@imapp.pl> | 2014-10-17 00:20:49 +0800 |
---|---|---|
committer | Paweł Bylica <pawel.bylica@imapp.pl> | 2014-10-17 00:26:50 +0800 |
commit | 6d3cf5fad9e8e5b894177ba617eeb1ba9203771e (patch) | |
tree | 84e344129a975fa8c4da8e331bba0399b92da689 /vm.cpp | |
parent | fe210166867ebb5500450dda6a4cdeb1887b5e34 (diff) | |
download | dexon-solidity-6d3cf5fad9e8e5b894177ba617eeb1ba9203771e.tar.gz dexon-solidity-6d3cf5fad9e8e5b894177ba617eeb1ba9203771e.tar.zst dexon-solidity-6d3cf5fad9e8e5b894177ba617eeb1ba9203771e.zip |
Prepare VM test engine for running JIT-ed tests
Diffstat (limited to 'vm.cpp')
-rw-r--r-- | vm.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -493,7 +493,6 @@ void doTests(json_spirit::mValue& v, bool _fillin) BOOST_REQUIRE(o.count("pre") > 0); BOOST_REQUIRE(o.count("exec") > 0); - VM vm; dev::test::FakeExtVM fev; fev.importEnv(o["env"].get_obj()); fev.importState(o["pre"].get_obj()); @@ -508,11 +507,13 @@ void doTests(json_spirit::mValue& v, bool _fillin) fev.code = &fev.thisTxCode; } - vm.reset(fev.gas); bytes output; + u256 gas; try { - output = vm.go(fev).toBytes(); + VM vm(fev.gas); + output = vm.go(fev).toVector(); + gas = vm.gas(); // Get the remaining gas } catch (Exception const& _e) { @@ -549,7 +550,7 @@ void doTests(json_spirit::mValue& v, bool _fillin) o["post"] = mValue(fev.exportState()); o["callcreates"] = fev.exportCallCreates(); o["out"] = "0x" + toHex(output); - fev.push(o, "gas", vm.gas()); + fev.push(o, "gas", gas); } else { @@ -573,7 +574,7 @@ void doTests(json_spirit::mValue& v, bool _fillin) else BOOST_CHECK(output == fromHex(o["out"].get_str())); - BOOST_CHECK(test.toInt(o["gas"]) == vm.gas()); + BOOST_CHECK(test.toInt(o["gas"]) == gas); BOOST_CHECK(test.addresses == fev.addresses); BOOST_CHECK(test.callcreates == fev.callcreates); } |