forked from cerc-io/plugeth
Readers
This commit is contained in:
parent
73c1c2c4af
commit
3bc64b6b6e
@ -1,25 +0,0 @@
|
|||||||
package helper
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func CreateTests(t *testing.T, uri string, value interface{}) {
|
|
||||||
resp, err := http.Get(uri)
|
|
||||||
if err != nil {
|
|
||||||
t.Error(err)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
data, err := ioutil.ReadAll(resp.Body)
|
|
||||||
|
|
||||||
err = json.Unmarshal(data, &value)
|
|
||||||
if err != nil {
|
|
||||||
t.Error(err)
|
|
||||||
}
|
|
||||||
}
|
|
42
tests/helper/readers.go
Normal file
42
tests/helper/readers.go
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package helper
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func readJSON(t *testing.T, reader io.Reader, value interface{}) {
|
||||||
|
data, err := ioutil.ReadAll(reader)
|
||||||
|
err = json.Unmarshal(data, &value)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateHttpTests(t *testing.T, uri string, value interface{}) {
|
||||||
|
resp, err := http.Get(uri)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
readJSON(t, resp.Body, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateFileTests(t *testing.T, fn string, value interface{}) {
|
||||||
|
file, err := os.Open(fn)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
readJSON(t, file, value)
|
||||||
|
}
|
@ -41,7 +41,7 @@ type VmTest struct {
|
|||||||
|
|
||||||
func RunVmTest(url string, t *testing.T) {
|
func RunVmTest(url string, t *testing.T) {
|
||||||
tests := make(map[string]VmTest)
|
tests := make(map[string]VmTest)
|
||||||
helper.CreateTests(t, url, &tests)
|
helper.CreateHttpTests(t, url, &tests)
|
||||||
|
|
||||||
for name, test := range tests {
|
for name, test := range tests {
|
||||||
state := ethstate.New(helper.NewTrie())
|
state := ethstate.New(helper.NewTrie())
|
||||||
@ -88,12 +88,12 @@ func RunVmTest(url string, t *testing.T) {
|
|||||||
|
|
||||||
// I've created a new function for each tests so it's easier to identify where the problem lies if any of them fail.
|
// I've created a new function for each tests so it's easier to identify where the problem lies if any of them fail.
|
||||||
func TestVMArithmetic(t *testing.T) {
|
func TestVMArithmetic(t *testing.T) {
|
||||||
|
//helper.Logger.SetLogLevel(5)
|
||||||
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmArithmeticTest.json"
|
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmArithmeticTest.json"
|
||||||
RunVmTest(url, t)
|
RunVmTest(url, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestVMSystemOperation(t *testing.T) {
|
func TestVMSystemOperation(t *testing.T) {
|
||||||
//helper.Logger.SetLogLevel(5)
|
|
||||||
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmSystemOperationsTest.json"
|
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmSystemOperationsTest.json"
|
||||||
RunVmTest(url, t)
|
RunVmTest(url, t)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user