aboutsummaryrefslogtreecommitdiffstats
path: root/vm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vm.cpp')
-rw-r--r--vm.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/vm.cpp b/vm.cpp
index 7306ef32..0ac21156 100644
--- a/vm.cpp
+++ b/vm.cpp
@@ -24,7 +24,7 @@
#include <libdevcore/CommonIO.h>
#include <boost/filesystem/path.hpp>
-#define FILL_TESTS
+//#define FILL_TESTS
using namespace std;
using namespace json_spirit;
@@ -512,12 +512,10 @@ void doTests(json_spirit::mValue& v, bool _fillin)
}
bytes output;
- u256 gas;
+ VM vm(fev.gas);
try
{
- VM vm(fev.gas);
output = vm.go(fev).toVector();
- gas = vm.gas(); // Get the remaining gas
}
catch (Exception const& _e)
{
@@ -554,7 +552,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", gas);
+ fev.push(o, "gas", vm.gas());
}
else
{
@@ -578,7 +576,7 @@ void doTests(json_spirit::mValue& v, bool _fillin)
else
BOOST_CHECK(output == fromHex(o["out"].get_str()));
- BOOST_CHECK(test.toInt(o["gas"]) == gas);
+ BOOST_CHECK(test.toInt(o["gas"]) == vm.gas());
BOOST_CHECK(test.addresses == fev.addresses);
BOOST_CHECK(test.callcreates == fev.callcreates);
}
@@ -621,11 +619,13 @@ void executeTests(const string& _name)
if (ptestPath == NULL)
{
cnote << " could not find environment variable ETHEREUM_TEST_PATH \n";
- testPath = "../../../tests/vmtests";
+ testPath = "../../../tests";
}
else
testPath = ptestPath;
+ testPath += "/vmtests";
+
#ifdef FILL_TESTS
try
{
@@ -654,7 +654,7 @@ void executeTests(const string& _name)
cnote << "Testing VM..." << _name;
json_spirit::mValue v;
string s = asString(contents(testPath + "/" + _name + ".json"));
- BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of " + _name + ".json is empty. Have you cloned the 'tests' repo branch develop and set ETHEREUM_TEST_PATH to its path?");
+ BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of " + testPath + "/" + _name + ".json is empty. Have you cloned the 'tests' repo branch develop and set ETHEREUM_TEST_PATH to its path?");
json_spirit::read_string(s, v);
dev::test::doTests(v, false);
}
@@ -715,4 +715,3 @@ BOOST_AUTO_TEST_CASE(vmSystemOperationsTest)
{
dev::test::executeTests("vmSystemOperationsTest");
}
-