浏览代码

tests: update slow test lists, skip on windows/386 (#17758)

Felix Lange 7 年之前
父节点
当前提交
79ca6c7a65
共有 4 个文件被更改,包括 28 次插入15 次删除
  1. 7 3
      tests/block_test.go
  2. 11 6
      tests/init_test.go
  3. 9 1
      tests/state_test.go
  4. 1 5
      tests/vm_test.go

+ 7 - 3
tests/block_test.go

@@ -32,9 +32,13 @@ func TestBlockchain(t *testing.T) {
 	bt.skipLoad(`^bcTotalDifficultyTest/(lotsOfLeafs|lotsOfBranches|sideChainWithMoreTransactions)`)
 	// This test is broken
 	bt.fails(`blockhashNonConstArg_Constantinople`, "Broken test")
-
-	// Still failing tests
-	//	bt.skipLoad(`^bcWalletTest.*_Byzantium$`)
+	// Slow tests
+	bt.slow(`^bcExploitTest/DelegateCallSpam.json`)
+	bt.slow(`^bcExploitTest/ShanghaiLove.json`)
+	bt.slow(`^bcExploitTest/SuicideIssue.json`)
+	bt.slow(`^bcForkStressTest/`)
+	bt.slow(`^bcGasPricerTest/RPC_API_Test.json`)
+	bt.slow(`^bcWalletTest/`)
 
 	bt.walk(t, blockTestDir, func(t *testing.T, name string, test *BlockTest) {
 		if err := bt.checkFailure(t, name, test.Run()); err != nil {

+ 11 - 6
tests/init_test.go

@@ -25,6 +25,7 @@ import (
 	"path/filepath"
 	"reflect"
 	"regexp"
+	"runtime"
 	"sort"
 	"strings"
 	"testing"
@@ -90,7 +91,7 @@ type testMatcher struct {
 	configpat    []testConfig
 	failpat      []testFailure
 	skiploadpat  []*regexp.Regexp
-	skipshortpat []*regexp.Regexp
+	slowpat      []*regexp.Regexp
 	whitelistpat *regexp.Regexp
 }
 
@@ -105,8 +106,8 @@ type testFailure struct {
 }
 
 // skipShortMode skips tests matching when the -short flag is used.
-func (tm *testMatcher) skipShortMode(pattern string) {
-	tm.skipshortpat = append(tm.skipshortpat, regexp.MustCompile(pattern))
+func (tm *testMatcher) slow(pattern string) {
+	tm.slowpat = append(tm.slowpat, regexp.MustCompile(pattern))
 }
 
 // skipLoad skips JSON loading of tests matching the pattern.
@@ -133,11 +134,15 @@ func (tm *testMatcher) config(pattern string, cfg params.ChainConfig) {
 
 // findSkip matches name against test skip patterns.
 func (tm *testMatcher) findSkip(name string) (reason string, skipload bool) {
-	if testing.Short() {
-		for _, re := range tm.skipshortpat {
-			if re.MatchString(name) {
+	isWin32 := runtime.GOARCH == "386" && runtime.GOOS == "windows"
+	for _, re := range tm.slowpat {
+		if re.MatchString(name) {
+			if testing.Short() {
 				return "skipped in -short mode", false
 			}
+			if isWin32 {
+				return "skipped on 32bit windows", false
+			}
 		}
 	}
 	for _, re := range tm.skiploadpat {

+ 9 - 1
tests/state_test.go

@@ -30,7 +30,15 @@ func TestState(t *testing.T) {
 
 	st := new(testMatcher)
 	// Long tests:
-	st.skipShortMode(`^stQuadraticComplexityTest/`)
+	st.slow(`^stAttackTest/ContractCreationSpam`)
+	st.slow(`^stBadOpcode/badOpcodes`)
+	st.slow(`^stPreCompiledContracts/modexp`)
+	st.slow(`^stQuadraticComplexityTest/`)
+	st.slow(`^stStaticCall/static_Call50000`)
+	st.slow(`^stStaticCall/static_Return50000`)
+	st.slow(`^stStaticCall/static_Call1MB`)
+	st.slow(`^stSystemOperationsTest/CallRecursiveBomb`)
+	st.slow(`^stTransactionTest/Opcodes_TransactionInit`)
 	// Broken tests:
 	st.skipLoad(`^stTransactionTest/OverflowGasRequire\.json`) // gasLimit > 256 bits
 	st.skipLoad(`^stTransactionTest/zeroSigTransa[^/]*\.json`) // EIP-86 is not supported yet

+ 1 - 5
tests/vm_test.go

@@ -25,13 +25,9 @@ import (
 func TestVM(t *testing.T) {
 	t.Parallel()
 	vmt := new(testMatcher)
+	vmt.slow("^vmPerformance")
 	vmt.fails("^vmSystemOperationsTest.json/createNameRegistrator$", "fails without parallel execution")
 
-	vmt.skipLoad(`^vmInputLimits(Light)?.json`) // log format broken
-
-	vmt.skipShortMode("^vmPerformanceTest.json")
-	vmt.skipShortMode("^vmInputLimits(Light)?.json")
-
 	vmt.walk(t, vmTestDir, func(t *testing.T, name string, test *VMTest) {
 		withTrace(t, test.json.Exec.GasLimit, func(vmconfig vm.Config) error {
 			return vmt.checkFailure(t, name, test.Run(vmconfig))