diff --git a/tests/block_test.go b/tests/block_test.go index c017b746e..1f2e5a15b 100644 --- a/tests/block_test.go +++ b/tests/block_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) } diff --git a/tests/state_test.go b/tests/state_test.go index 5e7be124b..fa000ec53 100644 --- a/tests/state_test.go +++ b/tests/state_test.go @@ -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) } diff --git a/tests/transaction_test.go b/tests/transaction_test.go index 7ae1c8788..05942d3bf 100644 --- a/tests/transaction_test.go +++ b/tests/transaction_test.go @@ -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) diff --git a/tests/vm_test.go b/tests/vm_test.go index b42f83df8..faa3205bc 100644 --- a/tests/vm_test.go +++ b/tests/vm_test.go @@ -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) }