mirror of
https://github.com/ddworken/hishtory.git
synced 2025-08-15 09:32:40 +02:00
Shard the fuzz test
This commit is contained in:
@ -60,15 +60,37 @@ var shellTesters []shellTester = []shellTester{bashTester{}, zshTester{}}
|
|||||||
|
|
||||||
var shardNumberAllocator int = 0
|
var shardNumberAllocator int = 0
|
||||||
|
|
||||||
func markTestForSharding(t *testing.T, testShardNumber int) {
|
func numTestShards() int {
|
||||||
numTestShardsStr := os.Getenv("NUM_TEST_SHARDS")
|
numTestShardsStr := os.Getenv("NUM_TEST_SHARDS")
|
||||||
currentShardNumberStr := os.Getenv("CURRENT_SHARD_NUM")
|
if numTestShardsStr == "" {
|
||||||
if numTestShardsStr != "" && currentShardNumberStr != "" {
|
return 0
|
||||||
|
}
|
||||||
numTestShards, err := strconv.Atoi(numTestShardsStr)
|
numTestShards, err := strconv.Atoi(numTestShardsStr)
|
||||||
require.NoError(t, err)
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("failed to parse NUM_TEST_SHARDS: %v", err))
|
||||||
|
}
|
||||||
|
return numTestShards
|
||||||
|
}
|
||||||
|
|
||||||
|
func currentShardNumber() int {
|
||||||
|
currentShardNumberStr := os.Getenv("CURRENT_SHARD_NUM")
|
||||||
|
if currentShardNumberStr == "" {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
currentShardNumber, err := strconv.Atoi(currentShardNumberStr)
|
currentShardNumber, err := strconv.Atoi(currentShardNumberStr)
|
||||||
require.NoError(t, err)
|
if err != nil {
|
||||||
if testShardNumber%numTestShards != currentShardNumber {
|
panic(fmt.Errorf("failed to parse CURRENT_SHARD_NUM: %v", err))
|
||||||
|
}
|
||||||
|
return currentShardNumber
|
||||||
|
}
|
||||||
|
|
||||||
|
func isShardedTestRun() bool {
|
||||||
|
return numTestShards() != 0 && currentShardNumber() != 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func markTestForSharding(t *testing.T, testShardNumber int) {
|
||||||
|
if isShardedTestRun() {
|
||||||
|
if testShardNumber%numTestShards() == currentShardNumber() {
|
||||||
t.Skip("Skipping sharded test")
|
t.Skip("Skipping sharded test")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,6 +142,12 @@ func FuzzTestMultipleUsers(f *testing.F) {
|
|||||||
if skipSlowTests() {
|
if skipSlowTests() {
|
||||||
f.Skip("skipping slow tests")
|
f.Skip("skipping slow tests")
|
||||||
}
|
}
|
||||||
|
if isShardedTestRun() {
|
||||||
|
if currentShardNumber() == 0 {
|
||||||
|
f.Skip("Skipping sharded test")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
s := os.Getenv("SPLIT_TESTS")
|
s := os.Getenv("SPLIT_TESTS")
|
||||||
if s != "" && s != "BASIC" {
|
if s != "" && s != "BASIC" {
|
||||||
f.Skip()
|
f.Skip()
|
||||||
|
Reference in New Issue
Block a user