From 729b1deab8c6cd16fdecec42918dffe6dfa3993b Mon Sep 17 00:00:00 2001 From: AtkinsChang Date: Tue, 21 Nov 2017 23:17:25 +0800 Subject: [PATCH 1/2] Fix solidity test revert --- lib/testing/soliditytest.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/testing/soliditytest.js b/lib/testing/soliditytest.js index ca40847..101a943 100644 --- a/lib/testing/soliditytest.js +++ b/lib/testing/soliditytest.js @@ -7,6 +7,7 @@ var artifactor = require("truffle-artifactor"); var contract = require("truffle-contract"); var series = require("async").series; var path = require("path"); +var utils = require("web3").utils var SolidityTest = { define: function(abstraction, dependency_paths, runner, mocha) { @@ -30,6 +31,12 @@ var SolidityTest = { // Function that checks transaction logs to see if a test failed. function processResult(result) { + if (result.receipt.status != null) { + // note: testrpc is numeric, geth is hex + if (utils.toBigNumber(result.receipt.status).toNumber() != 1) { + throw new Error("transaction revert"); + } + } result.logs.forEach(function(log) { if (log.event == "TestEvent" && log.args.result == false) { throw new Error(log.args.message); From e6e8084120918598a59ae14103782a28287312bd Mon Sep 17 00:00:00 2001 From: AtkinsChang Date: Wed, 22 Nov 2017 01:12:06 +0800 Subject: [PATCH 2/2] Fix against old web3 api --- lib/testing/soliditytest.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/testing/soliditytest.js b/lib/testing/soliditytest.js index 101a943..322e92a 100644 --- a/lib/testing/soliditytest.js +++ b/lib/testing/soliditytest.js @@ -7,7 +7,8 @@ var artifactor = require("truffle-artifactor"); var contract = require("truffle-contract"); var series = require("async").series; var path = require("path"); -var utils = require("web3").utils +var Web3 = require("web3"); +var web3 = new Web3(); var SolidityTest = { define: function(abstraction, dependency_paths, runner, mocha) { @@ -33,7 +34,7 @@ var SolidityTest = { function processResult(result) { if (result.receipt.status != null) { // note: testrpc is numeric, geth is hex - if (utils.toBigNumber(result.receipt.status).toNumber() != 1) { + if (web3.toBigNumber(result.receipt.status).toNumber() != 1) { throw new Error("transaction revert"); } }