pull/1236/head
Taylor Gerring 10 years ago
parent a67a15528a
commit e82100367f
  1. 24
      tests/block_test.go
  2. 42
      tests/state_test.go
  3. 9
      tests/transaction_test.go
  4. 31
      tests/vm_test.go

@ -1,45 +1,49 @@
package tests
import (
"path/filepath"
"testing"
)
var baseDir = filepath.Join(".", "files")
var blockTestDir = filepath.Join(baseDir, "BlockTests")
// TODO: refactor test setup & execution to better align with vm and tx tests
func TestBcValidBlockTests(t *testing.T) {
// SimpleTx3 genesis block does not validate against calculated state root
// as of 2015-06-09. unskip once working /Gustav
runBlockTestsInFile("files/BlockTests/bcValidBlockTest.json", []string{"SimpleTx3"}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcValidBlockTest.json"), []string{"SimpleTx3"}, t)
}
func TestBcUncleTests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcUncleTest.json", []string{}, t)
runBlockTestsInFile("files/BlockTests/bcBruncleTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcUncleTest.json"), []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcBruncleTest.json"), []string{}, t)
}
func TestBcUncleHeaderValidityTests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcUncleHeaderValiditiy.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcUncleHeaderValiditiy.json"), []string{}, t)
}
func TestBcInvalidHeaderTests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcInvalidHeaderTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcInvalidHeaderTest.json"), []string{}, t)
}
func TestBcInvalidRLPTests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcInvalidRLPTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcInvalidRLPTest.json"), []string{}, t)
}
func TestBcRPCAPITests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcRPC_API_Test.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcRPC_API_Test.json"), []string{}, t)
}
func TestBcForkBlockTests(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcForkBlockTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcForkBlockTest.json"), []string{}, t)
}
func TestBcTotalDifficulty(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcTotalDifficultyTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcTotalDifficultyTest.json"), []string{}, t)
}
func TestBcWallet(t *testing.T) {
runBlockTestsInFile("files/BlockTests/bcWalletTest.json", []string{}, t)
runBlockTestsInFile(filepath.Join(blockTestDir, "bcWalletTest.json"), []string{}, t)
}

@ -1,64 +1,70 @@
package tests
import "testing"
import (
"os"
"path/filepath"
"testing"
)
var stateTestDir = filepath.Join(baseDir, "StateTests")
func TestStateSystemOperations(t *testing.T) {
const fn = "../files/StateTests/stSystemOperationsTest.json"
fn := filepath.Join(stateTestDir, "stSystemOperationsTest.json")
RunVmTest(fn, t)
}
func TestStateExample(t *testing.T) {
const fn = "../files/StateTests/stExample.json"
fn := filepath.Join(stateTestDir, "stExample.json")
RunVmTest(fn, t)
}
func TestStatePreCompiledContracts(t *testing.T) {
const fn = "../files/StateTests/stPreCompiledContracts.json"
fn := filepath.Join(stateTestDir, "stPreCompiledContracts.json")
RunVmTest(fn, t)
}
func TestStateRecursiveCreate(t *testing.T) {
const fn = "../files/StateTests/stRecursiveCreate.json"
fn := filepath.Join(stateTestDir, "stRecursiveCreate.json")
RunVmTest(fn, t)
}
func TestStateSpecial(t *testing.T) {
const fn = "../files/StateTests/stSpecialTest.json"
fn := filepath.Join(stateTestDir, "stSpecialTest.json")
RunVmTest(fn, t)
}
func TestStateRefund(t *testing.T) {
const fn = "../files/StateTests/stRefundTest.json"
fn := filepath.Join(stateTestDir, "stRefundTest.json")
RunVmTest(fn, t)
}
func TestStateBlockHash(t *testing.T) {
const fn = "../files/StateTests/stBlockHashTest.json"
fn := filepath.Join(stateTestDir, "stBlockHashTest.json")
RunVmTest(fn, t)
}
func TestStateInitCode(t *testing.T) {
const fn = "../files/StateTests/stInitCodeTest.json"
fn := filepath.Join(stateTestDir, "stInitCodeTest.json")
RunVmTest(fn, t)
}
func TestStateLog(t *testing.T) {
const fn = "../files/StateTests/stLogTests.json"
fn := filepath.Join(stateTestDir, "stLogTests.json")
RunVmTest(fn, t)
}
func TestStateTransaction(t *testing.T) {
const fn = "../files/StateTests/stTransactionTest.json"
fn := filepath.Join(stateTestDir, "stTransactionTest.json")
RunVmTest(fn, t)
}
func TestCallCreateCallCode(t *testing.T) {
const fn = "../files/StateTests/stCallCreateCallCodeTest.json"
fn := filepath.Join(stateTestDir, "stCallCreateCallCodeTest.json")
RunVmTest(fn, t)
}
func TestMemory(t *testing.T) {
const fn = "../files/StateTests/stMemoryTest.json"
fn := filepath.Join(stateTestDir, "stMemoryTest.json")
RunVmTest(fn, t)
}
@ -66,7 +72,7 @@ func TestMemoryStress(t *testing.T) {
if os.Getenv("TEST_VM_COMPLEX") == "" {
t.Skip()
}
const fn = "../files/StateTests/stMemoryStressTest.json"
fn := filepath.Join(stateTestDir, "stMemoryStressTest.json")
RunVmTest(fn, t)
}
@ -74,22 +80,22 @@ func TestQuadraticComplexity(t *testing.T) {
if os.Getenv("TEST_VM_COMPLEX") == "" {
t.Skip()
}
const fn = "../files/StateTests/stQuadraticComplexityTest.json"
fn := filepath.Join(stateTestDir, "stQuadraticComplexityTest.json")
RunVmTest(fn, t)
}
func TestSolidity(t *testing.T) {
const fn = "../files/StateTests/stSolidityTest.json"
fn := filepath.Join(stateTestDir, "stSolidityTest.json")
RunVmTest(fn, t)
}
func TestWallet(t *testing.T) {
const fn = "../files/StateTests/stWalletTest.json"
fn := filepath.Join(stateTestDir, "stWalletTest.json")
RunVmTest(fn, t)
}
func TestStateTestsRandom(t *testing.T) {
fns, _ := filepath.Glob("../files/StateTests/RandomTests/*")
fns, _ := filepath.Glob("./files/StateTests/RandomTests/*")
for _, fn := range fns {
RunVmTest(fn, t)
}

@ -1,9 +1,12 @@
package tests
import (
"path/filepath"
"testing"
)
var transactionTestDir = filepath.Join(baseDir, "TransactionTests")
func TestTransactions(t *testing.T) {
notWorking := make(map[string]bool, 100)
@ -17,7 +20,7 @@ func TestTransactions(t *testing.T) {
}
var err error
err = RunTransactionTests("./files/TransactionTests/ttTransactionTest.json",
err = RunTransactionTests(filepath.Join(transactionTestDir, "ttTransactionTest.json"),
notWorking)
if err != nil {
t.Fatal(err)
@ -27,7 +30,7 @@ func TestTransactions(t *testing.T) {
func TestWrongRLPTransactions(t *testing.T) {
notWorking := make(map[string]bool, 100)
var err error
err = RunTransactionTests("./files/TransactionTests/ttWrongRLPTransaction.json",
err = RunTransactionTests(filepath.Join(transactionTestDir, "ttWrongRLPTransaction.json"),
notWorking)
if err != nil {
t.Fatal(err)
@ -37,7 +40,7 @@ func TestWrongRLPTransactions(t *testing.T) {
func Test10MBtx(t *testing.T) {
notWorking := make(map[string]bool, 100)
var err error
err = RunTransactionTests("./files/TransactionTests/tt10mbDataField.json",
err = RunTransactionTests(filepath.Join(transactionTestDir, "tt10mbDataField.json"),
notWorking)
if err != nil {
t.Fatal(err)

@ -1,77 +1,80 @@
package tests
import (
"path/filepath"
"testing"
)
var vmTestDir = filepath.Join(baseDir, "VMTests")
// 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) {
const fn = "../files/VMTests/vmArithmeticTest.json"
fn := filepath.Join(vmTestDir, "vmArithmeticTest.json")
RunVmTest(fn, t)
}
func TestBitwiseLogicOperation(t *testing.T) {
const fn = "../files/VMTests/vmBitwiseLogicOperationTest.json"
fn := filepath.Join(vmTestDir, "vmBitwiseLogicOperationTest.json")
RunVmTest(fn, t)
}
func TestBlockInfo(t *testing.T) {
const fn = "../files/VMTests/vmBlockInfoTest.json"
fn := filepath.Join(vmTestDir, "vmBlockInfoTest.json")
RunVmTest(fn, t)
}
func TestEnvironmentalInfo(t *testing.T) {
const fn = "../files/VMTests/vmEnvironmentalInfoTest.json"
fn := filepath.Join(vmTestDir, "vmEnvironmentalInfoTest.json")
RunVmTest(fn, t)
}
func TestFlowOperation(t *testing.T) {
const fn = "../files/VMTests/vmIOandFlowOperationsTest.json"
fn := filepath.Join(vmTestDir, "vmIOandFlowOperationsTest.json")
RunVmTest(fn, t)
}
func TestLogTest(t *testing.T) {
const fn = "../files/VMTests/vmLogTest.json"
fn := filepath.Join(vmTestDir, "vmLogTest.json")
RunVmTest(fn, t)
}
func TestPerformance(t *testing.T) {
const fn = "../files/VMTests/vmPerformanceTest.json"
fn := filepath.Join(vmTestDir, "vmPerformanceTest.json")
RunVmTest(fn, t)
}
func TestPushDupSwap(t *testing.T) {
const fn = "../files/VMTests/vmPushDupSwapTest.json"
fn := filepath.Join(vmTestDir, "vmPushDupSwapTest.json")
RunVmTest(fn, t)
}
func TestVMSha3(t *testing.T) {
const fn = "../files/VMTests/vmSha3Test.json"
fn := filepath.Join(vmTestDir, "vmSha3Test.json")
RunVmTest(fn, t)
}
func TestVm(t *testing.T) {
const fn = "../files/VMTests/vmtests.json"
fn := filepath.Join(vmTestDir, "vmtests.json")
RunVmTest(fn, t)
}
func TestVmLog(t *testing.T) {
const fn = "../files/VMTests/vmLogTest.json"
fn := filepath.Join(vmTestDir, "vmLogTest.json")
RunVmTest(fn, t)
}
func TestInputLimits(t *testing.T) {
const fn = "../files/VMTests/vmInputLimits.json"
fn := filepath.Join(vmTestDir, "vmInputLimits.json")
RunVmTest(fn, t)
}
func TestInputLimitsLight(t *testing.T) {
const fn = "../files/VMTests/vmInputLimitsLight.json"
fn := filepath.Join(vmTestDir, "vmInputLimitsLight.json")
RunVmTest(fn, t)
}
func TestVMRandom(t *testing.T) {
fns, _ := filepath.Glob("../files/VMTests/RandomTests/*")
fns, _ := filepath.Glob(filepath.Join(baseDir, "RandomTests", "*"))
for _, fn := range fns {
RunVmTest(fn, t)
}

Loading…
Cancel
Save