tests: update to upstream commit 2bb0c3da3b (#15806)
Also raise traceLimit once again and print the VM error and output on failure.
This commit is contained in:
parent
ae71da1b03
commit
1c2378b926
@ -100,6 +100,8 @@ type StructLogger struct {
|
|||||||
|
|
||||||
logs []StructLog
|
logs []StructLog
|
||||||
changedValues map[common.Address]Storage
|
changedValues map[common.Address]Storage
|
||||||
|
output []byte
|
||||||
|
err error
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewStructLogger returns a new logger
|
// NewStructLogger returns a new logger
|
||||||
@ -172,17 +174,19 @@ func (l *StructLogger) CaptureFault(env *EVM, pc uint64, op OpCode, gas, cost ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *StructLogger) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) error {
|
func (l *StructLogger) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) error {
|
||||||
fmt.Printf("0x%x", output)
|
l.output = output
|
||||||
if err != nil {
|
l.err = err
|
||||||
fmt.Printf(" error: %v\n", err)
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// StructLogs returns a list of captured log entries
|
// StructLogs returns the captured log entries.
|
||||||
func (l *StructLogger) StructLogs() []StructLog {
|
func (l *StructLogger) StructLogs() []StructLog { return l.logs }
|
||||||
return l.logs
|
|
||||||
}
|
// Error returns the VM error captured by the trace.
|
||||||
|
func (l *StructLogger) Error() error { return l.err }
|
||||||
|
|
||||||
|
// Output returns the VM return value captured by the trace.
|
||||||
|
func (l *StructLogger) Output() []byte { return l.output }
|
||||||
|
|
||||||
// WriteTrace writes a formatted trace to the given writer
|
// WriteTrace writes a formatted trace to the given writer
|
||||||
func WriteTrace(writer io.Writer, logs []StructLog) {
|
func WriteTrace(writer io.Writer, logs []StructLog) {
|
||||||
|
@ -39,16 +39,12 @@ func TestState(t *testing.T) {
|
|||||||
st.fails(`^stRevertTest/RevertPrefoundEmptyOOG\.json/EIP158`, "bug in test")
|
st.fails(`^stRevertTest/RevertPrefoundEmptyOOG\.json/EIP158`, "bug in test")
|
||||||
st.fails(`^stRevertTest/RevertPrecompiledTouch\.json/Byzantium`, "bug in test")
|
st.fails(`^stRevertTest/RevertPrecompiledTouch\.json/Byzantium`, "bug in test")
|
||||||
st.fails(`^stRevertTest/RevertPrefoundEmptyOOG\.json/Byzantium`, "bug in test")
|
st.fails(`^stRevertTest/RevertPrefoundEmptyOOG\.json/Byzantium`, "bug in test")
|
||||||
st.fails(`^stRandom/randomStatetest645\.json/EIP150/.*`, "known bug #15119")
|
st.fails(`^stRandom2/randomStatetest64[45]\.json/(EIP150|Frontier|Homestead)/.*`, "known bug #15119")
|
||||||
st.fails(`^stRandom/randomStatetest645\.json/Frontier/.*`, "known bug #15119")
|
|
||||||
st.fails(`^stRandom/randomStatetest645\.json/Homestead/.*`, "known bug #15119")
|
|
||||||
st.fails(`^stRandom/randomStatetest644\.json/EIP150/.*`, "known bug #15119")
|
|
||||||
st.fails(`^stRandom/randomStatetest644\.json/Frontier/.*`, "known bug #15119")
|
|
||||||
st.fails(`^stRandom/randomStatetest644\.json/Homestead/.*`, "known bug #15119")
|
|
||||||
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/EIP158/2`, "known bug ")
|
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/EIP158/2`, "known bug ")
|
||||||
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/EIP158/3`, "known bug ")
|
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/EIP158/3`, "known bug ")
|
||||||
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/Byzantium/2`, "known bug ")
|
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/Byzantium/2`, "known bug ")
|
||||||
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/Byzantium/3`, "known bug ")
|
st.fails(`^stCreateTest/TransactionCollisionToEmpty\.json/Byzantium/3`, "known bug ")
|
||||||
|
|
||||||
st.walk(t, stateTestDir, func(t *testing.T, name string, test *StateTest) {
|
st.walk(t, stateTestDir, func(t *testing.T, name string, test *StateTest) {
|
||||||
for _, subtest := range test.Subtests() {
|
for _, subtest := range test.Subtests() {
|
||||||
subtest := subtest
|
subtest := subtest
|
||||||
@ -68,8 +64,7 @@ func TestState(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Transactions with gasLimit above this value will not get a VM trace on failure.
|
// Transactions with gasLimit above this value will not get a VM trace on failure.
|
||||||
//const traceErrorLimit = 400000
|
const traceErrorLimit = 400000
|
||||||
const traceErrorLimit = 0
|
|
||||||
|
|
||||||
func withTrace(t *testing.T, gasLimit uint64, test func(vm.Config) error) {
|
func withTrace(t *testing.T, gasLimit uint64, test func(vm.Config) error) {
|
||||||
err := test(vm.Config{})
|
err := test(vm.Config{})
|
||||||
@ -93,4 +88,6 @@ func withTrace(t *testing.T, gasLimit uint64, test func(vm.Config) error) {
|
|||||||
} else {
|
} else {
|
||||||
t.Log("EVM operation log:\n" + buf.String())
|
t.Log("EVM operation log:\n" + buf.String())
|
||||||
}
|
}
|
||||||
|
t.Logf("EVM output: 0x%x", tracer.Output())
|
||||||
|
t.Logf("EVM error: %v", tracer.Error())
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 37f555fbc091fbf761aa6f02227132fb31f0681c
|
Subproject commit 2bb0c3da3bbb15c528bcef2a7e5ac4bd73f81f87
|
Loading…
Reference in New Issue
Block a user