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) {
|
||||
tests := make(map[string]VmTest)
|
||||
helper.CreateTests(t, url, &tests)
|
||||
helper.CreateHttpTests(t, url, &tests)
|
||||
|
||||
for name, test := range tests {
|
||||
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.
|
||||
func TestVMArithmetic(t *testing.T) {
|
||||
//helper.Logger.SetLogLevel(5)
|
||||
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmArithmeticTest.json"
|
||||
RunVmTest(url, t)
|
||||
}
|
||||
|
||||
func TestVMSystemOperation(t *testing.T) {
|
||||
//helper.Logger.SetLogLevel(5)
|
||||
const url = "https://raw.githubusercontent.com/ethereum/tests/develop/vmtests/vmSystemOperationsTest.json"
|
||||
RunVmTest(url, t)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user