aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/ipc_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-06-17 12:47:35 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-06-17 14:41:15 +0200
commite8e63830a60fc048df976188bf726abc32045162 (patch)
tree9e38c6b9d3e6cbaeba29cc5b29ed36aac0706d3d /ipc/ipc_test.go
parentbaad3b4b027658f49ba318c41dfc745788ba87d1 (diff)
pkg/ipc: move from ipc
Diffstat (limited to 'ipc/ipc_test.go')
-rw-r--r--ipc/ipc_test.go108
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)
- }
- }
- }
-}