Skip to content

Commit

Permalink
prog, pkg/{csource,ifuzz,ipc,repro}: make tests deterministic on travis
Browse files Browse the repository at this point in the history
Don't use random seed on travis as it produces flaky coverage reports,
and probably generally better for CI setting.
  • Loading branch information
dvyukov committed Jan 2, 2019
1 parent f049181 commit 06a2b89
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 4 deletions.
3 changes: 3 additions & 0 deletions pkg/csource/csource_test.go
Expand Up @@ -61,6 +61,9 @@ func TestGenerate(t *testing.T) {

func testTarget(t *testing.T, target *prog.Target, full bool) {
seed := int64(time.Now().UnixNano())
if os.Getenv("TRAVIS") != "" {
seed = 0 // required for deterministic coverage reports
}
rs := rand.NewSource(seed)
t.Logf("seed=%v", seed)
p := target.Generate(rs, 10, nil)
Expand Down
4 changes: 4 additions & 0 deletions pkg/ifuzz/ifuzz_test.go
Expand Up @@ -6,6 +6,7 @@ package ifuzz_test
import (
"encoding/hex"
"math/rand"
"os"
"testing"
"time"

Expand Down Expand Up @@ -36,6 +37,9 @@ func TestMode(t *testing.T) {

func TestDecode(t *testing.T) {
seed := int64(time.Now().UnixNano())
if os.Getenv("TRAVIS") != "" {
seed = 0 // required for deterministic coverage reports
}
t.Logf("seed=%v", seed)
r := rand.New(rand.NewSource(seed))

Expand Down
3 changes: 3 additions & 0 deletions pkg/ipc/ipc_test.go
Expand Up @@ -38,6 +38,9 @@ func initTest(t *testing.T) (*prog.Target, rand.Source, int, EnvFlags) {
iters = 10
}
seed := int64(time.Now().UnixNano())
if os.Getenv("TRAVIS") != "" {
seed = 0 // required for deterministic coverage reports
}
rs := rand.NewSource(seed)
t.Logf("seed=%v", seed)
target, err := prog.GetTarget(runtime.GOOS, runtime.GOARCH)
Expand Down
4 changes: 4 additions & 0 deletions pkg/repro/repro_test.go
Expand Up @@ -5,6 +5,7 @@ package repro

import (
"math/rand"
"os"
"testing"
"time"

Expand All @@ -18,6 +19,9 @@ func initTest(t *testing.T) (*rand.Rand, int) {
iters = 100
}
seed := int64(time.Now().UnixNano())
if os.Getenv("TRAVIS") != "" {
seed = 0 // required for deterministic coverage reports
}
rs := rand.NewSource(seed)
t.Logf("seed=%v", seed)
return rand.New(rs), iters
Expand Down
4 changes: 4 additions & 0 deletions prog/export_test.go
Expand Up @@ -6,6 +6,7 @@ package prog
import (
"fmt"
"math/rand"
"os"
"testing"
"time"
)
Expand All @@ -32,6 +33,9 @@ func initTargetTest(t *testing.T, os, arch string) *Target {

func randSource(t *testing.T) rand.Source {
seed := int64(time.Now().UnixNano())
if os.Getenv("TRAVIS") != "" {
seed = 0 // required for deterministic coverage reports
}
t.Logf("seed=%v", seed)
return rand.NewSource(seed)
}
Expand Down
5 changes: 1 addition & 4 deletions prog/prog_test.go
Expand Up @@ -9,7 +9,6 @@ import (
"math/rand"
"strings"
"testing"
"time"
)

func TestGeneration(t *testing.T) {
Expand Down Expand Up @@ -144,9 +143,7 @@ func TestCrossTarget(t *testing.T) {
}

func testCrossTarget(t *testing.T, target *Target, crossTargets []*Target) {
seed := int64(time.Now().UnixNano())
t.Logf("seed=%v", seed)
rs := rand.NewSource(seed)
rs := randSource(t)
iters := 100
if testing.Short() {
iters /= 10
Expand Down

0 comments on commit 06a2b89

Please sign in to comment.