aboutsummaryrefslogtreecommitdiffstats
path: root/prog/export_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-05 13:31:14 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-05 15:52:42 +0200
commitffe7e17368d7ae6c2b40da2ce0703d8ad8a116ac (patch)
tree195b7c32977fdaab05acb1282a727fb480593431 /prog/export_test.go
parent4fc47026945ebec3fc81d0c897547670034cfb58 (diff)
prog, sys: move types to prog
Large overhaul moves syscalls and arg types from sys to prog. Sys package now depends on prog and contains only generated descriptions of syscalls. Introduce prog.Target type that encapsulates all targer properties, like syscall list, ptr/page size, etc. Also moves OS-dependent pieces like mmap call generation from prog to sys. Update #191
Diffstat (limited to 'prog/export_test.go')
-rw-r--r--prog/export_test.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/prog/export_test.go b/prog/export_test.go
new file mode 100644
index 000000000..c5337d695
--- /dev/null
+++ b/prog/export_test.go
@@ -0,0 +1,47 @@
+// Copyright 2017 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
+
+import (
+ "math/rand"
+ "testing"
+ "time"
+)
+
+// Export guts for testing.
+
+func init() {
+ debug = true
+}
+
+var (
+ CalcChecksumsCall = calcChecksumsCall
+ AssignSizesCall = assignSizesCall
+ DefaultArg = defaultArg
+ InitTest = initTest
+)
+
+func PtrSize() uint64 {
+ return ptrSize
+}
+
+func DataOffset() uint64 {
+ return dataOffset
+}
+
+func PageSize() uint64 {
+ return pageSize
+}
+
+func initTest(t *testing.T) (rand.Source, int) {
+ t.Parallel()
+ iters := 10000
+ if testing.Short() {
+ iters = 100
+ }
+ seed := int64(time.Now().UnixNano())
+ rs := rand.NewSource(seed)
+ t.Logf("seed=%v", seed)
+ return rs, iters
+}