aboutsummaryrefslogtreecommitdiffstats
path: root/prog/parse_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-14 19:25:01 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-15 16:02:37 +0200
commit52a33fd516102a98d3753bf69417235b655a68dc (patch)
tree351ab73db934d3b4e4babbe27e8801c659f2631b /prog/parse_test.go
parent25f4fe0662f7f3b390d16b2e786f2ba0aa0293f1 (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/parse_test.go')
-rw-r--r--prog/parse_test.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/prog/parse_test.go b/prog/parse_test.go
index 2f5dd75d6..aae1e0a17 100644
--- a/prog/parse_test.go
+++ b/prog/parse_test.go
@@ -8,10 +8,14 @@ import (
)
func TestParseSingle(t *testing.T) {
+ target, err := GetTarget("linux", "amd64")
+ if err != nil {
+ t.Fatal(err)
+ }
const execLog = `getpid()
gettid()
`
- entries := ParseLog([]byte(execLog))
+ entries := target.ParseLog([]byte(execLog))
if len(entries) != 1 {
t.Fatalf("got %v programs, want 1", len(entries))
}
@@ -36,7 +40,11 @@ gettid()
}
func TestParseMulti(t *testing.T) {
- entries := ParseLog([]byte(execLog))
+ target, err := GetTarget("linux", "amd64")
+ if err != nil {
+ t.Fatal(err)
+ }
+ entries := target.ParseLog([]byte(execLog))
if len(entries) != 5 {
for i, ent := range entries {
t.Logf("program #%v: %s\n", i, ent.P)
@@ -99,11 +107,15 @@ munlockall()
`
func TestParseFault(t *testing.T) {
+ target, err := GetTarget("linux", "amd64")
+ if err != nil {
+ t.Fatal(err)
+ }
const execLog = `2015/12/21 12:18:05 executing program 1 (fault-call:1 fault-nth:55):
gettid()
getpid()
`
- entries := ParseLog([]byte(execLog))
+ entries := target.ParseLog([]byte(execLog))
if len(entries) != 1 {
t.Fatalf("got %v programs, want 1", len(entries))
}