Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
80592f24
Commit
80592f24
authored
Mar 12, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more obvious failure for ethtest
parent
3a88da57
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
10 deletions
+9
-10
main.go
cmd/ethtest/main.go
+5
-5
execution.go
core/execution.go
+1
-4
environment.go
vm/environment.go
+2
-0
vm.go
vm/vm.go
+1
-1
No files found.
cmd/ethtest/main.go
View file @
80592f24
...
...
@@ -136,7 +136,7 @@ func RunVmTest(r io.Reader) (failed int) {
rexp
:=
helper
.
FromHex
(
test
.
Out
)
if
bytes
.
Compare
(
rexp
,
ret
)
!=
0
{
fmt
.
Printf
(
"%s's return failed. Expected %x, got %x
\n
"
,
name
,
rexp
,
ret
)
fmt
.
Printf
(
"
FAIL:
%s's return failed. Expected %x, got %x
\n
"
,
name
,
rexp
,
ret
)
failed
=
1
}
...
...
@@ -148,7 +148,7 @@ func RunVmTest(r io.Reader) (failed int) {
if
len
(
test
.
Exec
)
==
0
{
if
obj
.
Balance
()
.
Cmp
(
ethutil
.
Big
(
account
.
Balance
))
!=
0
{
fmt
.
Printf
(
"%s's : (%x) balance failed. Expected %v, got %v => %v
\n
"
,
name
,
obj
.
Address
()[
:
4
],
account
.
Balance
,
obj
.
Balance
(),
new
(
big
.
Int
)
.
Sub
(
ethutil
.
Big
(
account
.
Balance
),
obj
.
Balance
()))
fmt
.
Printf
(
"
FAIL:
%s's : (%x) balance failed. Expected %v, got %v => %v
\n
"
,
name
,
obj
.
Address
()[
:
4
],
account
.
Balance
,
obj
.
Balance
(),
new
(
big
.
Int
)
.
Sub
(
ethutil
.
Big
(
account
.
Balance
),
obj
.
Balance
()))
failed
=
1
}
}
...
...
@@ -158,20 +158,20 @@ func RunVmTest(r io.Reader) (failed int) {
vexp
:=
helper
.
FromHex
(
value
)
if
bytes
.
Compare
(
v
,
vexp
)
!=
0
{
fmt
.
Printf
(
"%s's : (%x: %s) storage failed. Expected %x, got %x (%v %v)
\n
"
,
name
,
obj
.
Address
()[
0
:
4
],
addr
,
vexp
,
v
,
ethutil
.
BigD
(
vexp
),
ethutil
.
BigD
(
v
))
fmt
.
Printf
(
"
FAIL:
%s's : (%x: %s) storage failed. Expected %x, got %x (%v %v)
\n
"
,
name
,
obj
.
Address
()[
0
:
4
],
addr
,
vexp
,
v
,
ethutil
.
BigD
(
vexp
),
ethutil
.
BigD
(
v
))
failed
=
1
}
}
}
if
!
bytes
.
Equal
(
ethutil
.
Hex2Bytes
(
test
.
PostStateRoot
),
statedb
.
Root
())
{
fmt
.
Printf
(
"%s's : Post state root error. Expected %s, got %x
\n
"
,
name
,
test
.
PostStateRoot
,
statedb
.
Root
())
fmt
.
Printf
(
"
FAIL:
%s's : Post state root error. Expected %s, got %x
\n
"
,
name
,
test
.
PostStateRoot
,
statedb
.
Root
())
failed
=
1
}
if
len
(
test
.
Logs
)
>
0
{
if
len
(
test
.
Logs
)
!=
len
(
logs
)
{
fmt
.
Printf
(
"log length mismatch. Expected %d, got %d"
,
len
(
test
.
Logs
),
len
(
logs
))
fmt
.
Printf
(
"
FAIL:
log length mismatch. Expected %d, got %d"
,
len
(
test
.
Logs
),
len
(
logs
))
failed
=
1
}
else
{
/*
...
...
core/execution.go
View file @
80592f24
...
...
@@ -25,10 +25,7 @@ func (self *Execution) Addr() []byte {
func
(
self
*
Execution
)
Call
(
codeAddr
[]
byte
,
caller
vm
.
ContextRef
)
([]
byte
,
error
)
{
// Retrieve the executing code
var
code
[]
byte
if
self
.
env
.
State
()
.
GetStateObject
(
codeAddr
)
!=
nil
{
code
=
self
.
env
.
State
()
.
GetCode
(
codeAddr
)
}
code
:=
self
.
env
.
State
()
.
GetCode
(
codeAddr
)
return
self
.
exec
(
code
,
codeAddr
,
caller
)
}
...
...
vm/environment.go
View file @
80592f24
...
...
@@ -36,10 +36,12 @@ type Account interface {
SubBalance
(
amount
*
big
.
Int
)
AddBalance
(
amount
*
big
.
Int
)
Balance
()
*
big
.
Int
Address
()
[]
byte
}
// generic transfer method
func
Transfer
(
from
,
to
Account
,
amount
*
big
.
Int
)
error
{
//fmt.Printf(":::%x::: %v < %v\n", from.Address(), from.Balance(), amount)
if
from
.
Balance
()
.
Cmp
(
amount
)
<
0
{
return
errors
.
New
(
"Insufficient balance in account"
)
}
...
...
vm/vm.go
View file @
80592f24
...
...
@@ -380,7 +380,7 @@ func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.I
// 0x20 range
case
SHA3
:
size
,
offset
:=
stack
.
pop
(),
stack
.
pop
()
offset
,
size
:=
stack
.
pop
(),
stack
.
pop
()
data
:=
crypto
.
Sha3
(
mem
.
Get
(
offset
.
Int64
(),
size
.
Int64
()))
stack
.
push
(
ethutil
.
BigD
(
data
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment