Commit 7cf1ddeb authored by yann300's avatar yann300

fix tests

parent b8bed49f
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
"ignore": [ "ignore": [
"node_modules/*", "node_modules/*",
"build/*", "build/*",
"test/trace/*" "test/resources/*"
] ]
} }
} }
...@@ -20,6 +20,7 @@ function CodeManager (_web3, _traceManager) { ...@@ -20,6 +20,7 @@ function CodeManager (_web3, _traceManager) {
this.traceManager = _traceManager this.traceManager = _traceManager
this.currentAddress = '' this.currentAddress = ''
codeResolver.setWeb3(_web3) codeResolver.setWeb3(_web3)
this.codeResolver = codeResolver
} }
CodeManager.prototype.resolveStep = function (stepIndex, tx) { CodeManager.prototype.resolveStep = function (stepIndex, tx) {
......
...@@ -14,7 +14,6 @@ TraceRetriever.prototype.getTrace = function (txHash, callback) { ...@@ -14,7 +14,6 @@ TraceRetriever.prototype.getTrace = function (txHash, callback) {
fullStorage: !this.debugStorageAtAvailable() fullStorage: !this.debugStorageAtAvailable()
} }
this.web3.debug.traceTransaction(txHash, options, function (error, result) { this.web3.debug.traceTransaction(txHash, options, function (error, result) {
console.log(JSON.stringify(result))
callback(error, result) callback(error, result)
}) })
} }
......
'use strict'
var traceHelper = require('../src/helpers/traceHelper')
var traceInvokation = require('./resources/contractInvokationTrace')
function TestTraceRetriever () {
this.storages = {} // contains all intial storage (by addresses)
}
TestTraceRetriever.prototype.getTrace = function (txHash, callback) {
console.log(traceInvokation)
callback(null, traceInvokation)
}
/* not used */
TestTraceRetriever.prototype.getStorage = function (tx, address, callback) {
if (traceHelper.isContractCreation(address)) {
callback(null, {})
} else if (this.storages[address]) {
callback(null, this.storages[address])
} else {
/*
return storage
*/
/*
var self = this
this.web3.debug.storageAt(tx.blockNumber.toString(), tx.transactionIndex, address, function (error, result) {
self.storages[address] = result
callback(error, result)
})
*/
}
}
TestTraceRetriever.prototype.debugStorageAtAvailable = function () {
return false // storageAt not available if using geth
}
module.exports = TestTraceRetriever
'use strict' 'use strict'
var tape = require('tape') var tape = require('tape')
var init = require('../src/helpers/init') var init = require('../src/helpers/init')
// var traceInvokation = require('./trace/contractInvokationTrace') var txInvokation = require('./resources/contractInvokationTx')
var txInvokation = require('./trace/contractInvokationTx') var TestTraceRetriever = require('./TestTraceRetriever')
var contractCode = require('./resources/contractInvokationCode')
tape('CodeManager', function (t) { tape('CodeManager', function (t) {
var codeManager var codeManager
var context = init.loadContext() var context = init.loadContext()
codeManager = context.codeManager codeManager = context.codeManager
context.traceManager.traceRetriever = new TestTraceRetriever()
codeManager.codeResolver.cacheExecutingCode('0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5', contractCode) // so a call to web3 is not necessary
context.traceManager.resolveTrace(txInvokation, function (success) { context.traceManager.resolveTrace(txInvokation, function (success) {
if (!success) { if (!success) {
t.fail(' - traceManager.resolveTrace - failed') t.fail(' - traceManager.resolveTrace - failed')
......
module.exports = '0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460415780636d4ce63c14605757603f565b005b605560048080359060200190919050506089565b005b606260048050506078565b6040518082815260200191505060405180910390f35b600060006000505490506086565b90565b80600060005081905550602d6040516045806100f083390180828152602001915050604051809103906000f0600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550602281016000600050819055505b505660606040526040516020806045833981016040528080519060200190919050505b806001016000600050819055505b50600a80603b6000396000f360606040526008565b00'
\ No newline at end of file
...@@ -2,9 +2,8 @@ ...@@ -2,9 +2,8 @@
var TraceManager = require('../src/trace/traceManager') var TraceManager = require('../src/trace/traceManager')
var tape = require('tape') var tape = require('tape')
var init = require('../src/helpers/init') var init = require('../src/helpers/init')
var traceHelper = require('../src/helpers/traceHelper') var TestTraceRetriever = require('./TestTraceRetriever')
var traceInvokation = require('./trace/contractInvokationTrace') var txInvokation = require('./resources/contractInvokationTx')
var txInvokation = require('./trace/contractInvokationTx')
tape('TraceManager', function (t) { tape('TraceManager', function (t) {
var traceManager var traceManager
...@@ -297,39 +296,3 @@ tape('TraceManager', function (t) { ...@@ -297,39 +296,3 @@ tape('TraceManager', function (t) {
st.end() st.end()
}) })
}) })
/*
TestTraceRetriever
*/
function TestTraceRetriever () {
this.storages = {} // contains all intial storage (by addresses)
}
TestTraceRetriever.prototype.getTrace = function (txHash, callback) {
console.log(traceInvokation)
callback(null, traceInvokation)
}
/* not used */
TestTraceRetriever.prototype.getStorage = function (tx, address, callback) {
if (traceHelper.isContractCreation(address)) {
callback(null, {})
} else if (this.storages[address]) {
callback(null, this.storages[address])
} else {
/*
return storage
*/
/*
var self = this
this.web3.debug.storageAt(tx.blockNumber.toString(), tx.transactionIndex, address, function (error, result) {
self.storages[address] = result
callback(error, result)
})
*/
}
}
TestTraceRetriever.prototype.debugStorageAtAvailable = function () {
return false // storageAt not available if using geth
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment