diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-09-14 19:25:01 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-09-15 16:02:37 +0200 |
| commit | 52a33fd516102a98d3753bf69417235b655a68dc (patch) | |
| tree | 351ab73db934d3b4e4babbe27e8801c659f2631b /prog/encodingexec_test.go | |
| parent | 25f4fe0662f7f3b390d16b2e786f2ba0aa0293f1 (diff) | |
prog: remove default target and all global state
Now each prog function accepts the desired target explicitly.
No global, implicit state involved.
This is much cleaner and allows cross-OS/arch testing, etc.
Diffstat (limited to 'prog/encodingexec_test.go')
| -rw-r--r-- | prog/encodingexec_test.go | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/prog/encodingexec_test.go b/prog/encodingexec_test.go index 9a2dd1d1e..3b37783f2 100644 --- a/prog/encodingexec_test.go +++ b/prog/encodingexec_test.go @@ -1,23 +1,20 @@ // Copyright 2016 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 prog_test +package prog import ( "bytes" "encoding/binary" "fmt" "testing" - - . "github.com/google/syzkaller/prog" - _ "github.com/google/syzkaller/sys" ) func TestSerializeForExecRandom(t *testing.T) { - rs, iters := InitTest(t) + target, rs, iters := initTest(t) buf := make([]byte, ExecBufferSize) for i := 0; i < iters; i++ { - p := Generate(rs, 10, nil) + p := target.Generate(rs, 10, nil) if err := p.SerializeForExec(buf, i%16); err != nil { t.Fatalf("failed to serialize: %v", err) } @@ -45,12 +42,13 @@ func TestSerializeForExec(t *testing.T) { argResult = uint64(ExecArgResult) argData = uint64(ExecArgData) ) + target, _, _ := initTest(t) var ( - dataOffset = DataOffset() - ptrSize = PtrSize() + dataOffset = target.DataOffset + ptrSize = target.PtrSize ) callID := func(name string) uint64 { - c := SyscallMap[name] + c := target.SyscallMap[name] if c == nil { t.Fatalf("unknown syscall %v", name) } @@ -267,7 +265,7 @@ func TestSerializeForExec(t *testing.T) { for i, test := range tests { i, test := i, test t.Run(fmt.Sprintf("%v:%v", i, test.prog), func(t *testing.T) { - p, err := Deserialize([]byte(test.prog)) + p, err := target.Deserialize([]byte(test.prog)) if err != nil { t.Fatalf("failed to deserialize prog %v: %v", i, err) } |
