diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-06-17 12:47:35 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-06-17 14:41:15 +0200 |
| commit | e8e63830a60fc048df976188bf726abc32045162 (patch) | |
| tree | 9e38c6b9d3e6cbaeba29cc5b29ed36aac0706d3d /ipc/ipc_test.go | |
| parent | baad3b4b027658f49ba318c41dfc745788ba87d1 (diff) | |
pkg/ipc: move from ipc
Diffstat (limited to 'ipc/ipc_test.go')
| -rw-r--r-- | ipc/ipc_test.go | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/ipc/ipc_test.go b/ipc/ipc_test.go deleted file mode 100644 index 00c1cd95c..000000000 --- a/ipc/ipc_test.go +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2015 syzkaller project authors. All rights reserved. -// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. - -package ipc - -import ( - "math/rand" - "os" - "testing" - "time" - - "github.com/google/syzkaller/pkg/csource" - "github.com/google/syzkaller/pkg/fileutil" - "github.com/google/syzkaller/prog" -) - -const timeout = 10 * time.Second - -func buildExecutor(t *testing.T) string { - return buildProgram(t, "../executor/executor.cc") -} - -func buildSource(t *testing.T, src []byte) string { - tmp, err := fileutil.WriteTempFile(src) - if err != nil { - t.Fatalf("%v", err) - } - defer os.Remove(tmp) - return buildProgram(t, tmp) -} - -func buildProgram(t *testing.T, src string) string { - bin, err := csource.Build("c++", src) - if err != nil { - t.Fatalf("%v", err) - } - return bin -} - -func initTest(t *testing.T) (rand.Source, int) { - t.Parallel() - iters := 100 - if testing.Short() { - iters = 10 - } - seed := int64(time.Now().UnixNano()) - rs := rand.NewSource(seed) - t.Logf("seed=%v", seed) - return rs, iters -} - -func TestEmptyProg(t *testing.T) { - bin := buildExecutor(t) - defer os.Remove(bin) - - cfg := Config{ - Timeout: timeout, - } - env, err := MakeEnv(bin, 0, cfg) - if err != nil { - t.Fatalf("failed to create env: %v", err) - } - defer env.Close() - - p := new(prog.Prog) - opts := &ExecOpts{} - output, _, failed, hanged, err := env.Exec(opts, p) - if err != nil { - t.Fatalf("failed to run executor: %v", err) - } - if len(output) != 0 { - t.Fatalf("output on empty program") - } - if failed || hanged { - t.Fatalf("empty program failed") - } -} - -func TestExecute(t *testing.T) { - rs, iters := initTest(t) - flags := []uint64{0, FlagThreaded, FlagThreaded | FlagCollide} - - bin := buildExecutor(t) - defer os.Remove(bin) - - for _, flag := range flags { - t.Logf("testing flags 0x%x\n", flag) - cfg := Config{ - Flags: flag, - Timeout: timeout, - } - env, err := MakeEnv(bin, 0, cfg) - if err != nil { - t.Fatalf("failed to create env: %v", err) - } - defer env.Close() - - for i := 0; i < iters/len(flags); i++ { - p := prog.Generate(rs, 10, nil) - opts := &ExecOpts{} - output, _, _, _, err := env.Exec(opts, p) - if err != nil { - t.Logf("program:\n%s\n", p.Serialize()) - t.Fatalf("failed to run executor: %v\n%s", err, output) - } - } - } -} |
