Skip to content
Permalink
Browse files

prog, pkg/{csource,ifuzz,ipc,repro}: make tests deterministic on travis

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 06a2b89fc3e93a6c381a5d9df229766f706b58d0
Showing with 19 additions and 4 deletions.
  1. +3 −0 pkg/csource/csource_test.go
  2. +4 −0 pkg/ifuzz/ifuzz_test.go
  3. +3 −0 pkg/ipc/ipc_test.go
  4. +4 −0 pkg/repro/repro_test.go
  5. +4 −0 prog/export_test.go
  6. +1 −4 prog/prog_test.go
@@ -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)
@@ -6,6 +6,7 @@ package ifuzz_test
import (
"encoding/hex"
"math/rand"
"os"
"testing"
"time"

@@ -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))

@@ -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)
@@ -5,6 +5,7 @@ package repro

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

@@ -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
@@ -6,6 +6,7 @@ package prog
import (
"fmt"
"math/rand"
"os"
"testing"
"time"
)
@@ -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)
}
@@ -9,7 +9,6 @@ import (
"math/rand"
"strings"
"testing"
"time"
)

func TestGeneration(t *testing.T) {
@@ -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

0 comments on commit 06a2b89

Please sign in to comment.
You can’t perform that action at this time.