Browse Source

Do not catch OutOfGas exception in tests separately

cl-refactor
Paweł Bylica 10 years ago
parent
commit
7a121c38b8
  1. 21
      test/vm.cpp

21
test/vm.cpp

@ -306,7 +306,6 @@ void doVMTests(json_spirit::mValue& v, bool _fillin)
auto vm = VMFace::create(vmKind, fev.gas); auto vm = VMFace::create(vmKind, fev.gas);
bytes output; bytes output;
auto outOfGas = false;
auto startTime = std::chrono::high_resolution_clock::now(); auto startTime = std::chrono::high_resolution_clock::now();
u256 gas; u256 gas;
@ -316,11 +315,6 @@ void doVMTests(json_spirit::mValue& v, bool _fillin)
output = vm->go(fev, fev.simpleTrace()).toVector(); output = vm->go(fev, fev.simpleTrace()).toVector();
gas = vm->gas(); gas = vm->gas();
} }
catch (OutOfGas const&)
{
outOfGas = true;
gas = 0;
}
catch (VMException const& _e) catch (VMException const& _e)
{ {
cnote << "VM did throw an exception: " << diagnostic_information(_e); cnote << "VM did throw an exception: " << diagnostic_information(_e);
@ -373,11 +367,11 @@ void doVMTests(json_spirit::mValue& v, bool _fillin)
o["exec"] = mValue(fev.exportExec()); o["exec"] = mValue(fev.exportExec());
if (!vmExceptionOccured) if (!vmExceptionOccured)
{ {
o["post"] = mValue(fev.exportState()); o["post"] = mValue(fev.exportState());
o["callcreates"] = fev.exportCallCreates(); o["callcreates"] = fev.exportCallCreates();
o["out"] = "0x" + toHex(output); o["out"] = "0x" + toHex(output);
fev.push(o, "gas", gas); fev.push(o, "gas", gas);
} }
} }
else else
{ {
@ -397,10 +391,7 @@ void doVMTests(json_spirit::mValue& v, bool _fillin)
checkOutput(output, o); checkOutput(output, o);
BOOST_CHECK_EQUAL(toInt(o["gas"]), gas); BOOST_CHECK_EQUAL(toInt(o["gas"]), gas);
if (outOfGas)
BOOST_CHECK_MESSAGE(gas == 0, "Remaining gas not 0 in out-of-gas state");
auto& expectedAddrs = test.addresses; auto& expectedAddrs = test.addresses;
auto& resultAddrs = fev.addresses; auto& resultAddrs = fev.addresses;
for (auto&& expectedPair : expectedAddrs) for (auto&& expectedPair : expectedAddrs)

Loading…
Cancel
Save