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
5b3d4fae
Commit
5b3d4fae
authored
Jan 01, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Work in progress external test runner
parent
61d67f2a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
3 deletions
+75
-3
db_query_interface.go
db_query_interface.go
+9
-3
test_runner.go
test_runner.go
+35
-0
test_runner_test.go
test_runner_test.go
+31
-0
No files found.
db_query_interface.go
View file @
5b3d4fae
...
...
@@ -68,12 +68,18 @@ func (i *DbInterface) ParseInput(input string) bool {
fmt
.
Println
(
hex
.
EncodeToString
([]
byte
(
i
.
trie
.
root
)))
case
"get"
:
fmt
.
Println
(
i
.
trie
.
Get
(
tokens
[
1
]))
case
"root"
:
fmt
.
Println
(
hex
.
EncodeToString
([]
byte
(
i
.
trie
.
root
)))
case
"rawroot"
:
fmt
.
Println
(
i
.
trie
.
root
)
case
"exit"
,
"quit"
,
"q"
:
return
false
case
"help"
:
fmt
.
Println
(
`query commands:
update KEY VALUE
get KEY
fmt
.
Printf
(
`QUERY COMMANDS:
update KEY VALUE - Updates/Creates a new value for the given key
get KEY - Retrieves the given key
root - Prints the hex encoded merkle root
rawroot - Prints the raw merkle root
`
)
default
:
fmt
.
Println
(
"Unknown command:"
,
tokens
[
0
])
...
...
test_runner.go
0 → 100644
View file @
5b3d4fae
package
main
import
(
"fmt"
"testing"
"encoding/json"
)
type
TestSource
struct
{
Inputs
map
[
string
]
string
Expectation
string
}
func
NewTestSource
(
source
string
)
*
TestSource
{
s
:=
&
TestSource
{}
err
:=
json
.
Unmarshal
([]
byte
(
source
),
s
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
return
s
}
type
TestRunner
struct
{
source
*
TestSource
}
func
NewTestRunner
(
t
*
testing
.
T
)
*
TestRunner
{
return
&
TestRunner
{}
}
func
(
runner
*
TestRunner
)
RunFromString
(
input
string
,
Cb
func
(
*
TestSource
))
{
source
:=
NewTestSource
(
input
)
Cb
(
source
)
}
test_runner_test.go
0 → 100644
View file @
5b3d4fae
package
main
import
(
_
"fmt"
"testing"
"encoding/hex"
)
var
testsource
=
`{"Inputs":{
"doe": "reindeer",
"dog": "puppy",
"dogglesworth": "cat"
},
"Expectation":"e378927bfc1bd4f01a2e8d9f59bd18db8a208bb493ac0b00f93ce51d4d2af76c"
}`
func
TestTestRunner
(
t
*
testing
.
T
)
{
db
,
_
:=
NewMemDatabase
()
trie
:=
NewTrie
(
db
,
""
)
runner
:=
NewTestRunner
(
t
)
runner
.
RunFromString
(
testsource
,
func
(
source
*
TestSource
)
{
for
key
,
value
:=
range
source
.
Inputs
{
trie
.
Update
(
key
,
value
)
}
if
hex
.
EncodeToString
([]
byte
(
trie
.
root
))
!=
source
.
Expectation
{
t
.
Error
(
"trie root did not match"
)
}
})
}
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