aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-04-03 08:50:40 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-04-05 08:40:36 +0200
commitdae7a62f02b804b36d1924046cfa5786cb31a89a (patch)
tree42c499139eae7595b6007b5527a2238d31420f65 /pkg
parente5d1b3ac44472b1e7741da6bbcc0e655b931025e (diff)
pkg/build: extract first build error instead of last
The first error is usually more informative and significant. Extract first error instead of last.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/build/build.go5
-rw-r--r--pkg/build/build_test.go25
2 files changed, 26 insertions, 4 deletions
diff --git a/pkg/build/build.go b/pkg/build/build.go
index 8d1b7a0f0..45b1500a2 100644
--- a/pkg/build/build.go
+++ b/pkg/build/build.go
@@ -149,7 +149,10 @@ func extractCauseInner(s []byte) []byte {
}
if bytes.Contains(line, pattern.pattern) {
cause = line
- break
+ if pattern.weak {
+ break
+ }
+ return cause
}
}
}
diff --git a/pkg/build/build_test.go b/pkg/build/build_test.go
index 7f0a9e607..7b534ef49 100644
--- a/pkg/build/build_test.go
+++ b/pkg/build/build_test.go
@@ -76,18 +76,37 @@ Analyzing: target //runsc:runsc (15 packages loaded)
Analyzing: target //runsc:runsc (92 packages loaded)
Analyzing: target //runsc:runsc (99 packages loaded)
Analyzing: target //runsc:runsc (115 packages loaded)
-ERROR: /syzkaller/managers/ptrace-direct-overlay-host/kernel/vdso/BUILD:13:1: no such target '@bazel_tools//tools/cpp:cc_flags': target 'cc_flags' not declared in package 'tools/cpp' defined by /syzkaller/home/.cache/bazel/_bazel_root/e1c9d86bae2b34f90e83d224bc900958/external/bazel_tools/tools/cpp/BUILD and referenced by '//vdso:vdso'
+ERROR: /kernel/vdso/BUILD:13:1: no such target '@bazel_tools//tools/cpp:cc_flags': target 'cc_flags' not declared in package 'tools/cpp' defined by /syzkaller/home/.cache/bazel/_bazel_root/e1c9d86bae2b34f90e83d224bc900958/external/bazel_tools/tools/cpp/BUILD and referenced by '//vdso:vdso'
ERROR: Analysis of target '//runsc:runsc' failed; build aborted: Analysis failed
INFO: Elapsed time: 14.914s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (189 packages loaded)
`,
- "ERROR: Analysis of target '//runsc:runsc' failed; build aborted: Analysis failed",
+ "ERROR: /kernel/vdso/BUILD:13:1: no such target '@bazel_tools//tools/cpp:cc_flags': target 'cc_flags' not declared in package 'tools/cpp' defined by /syzkaller/home/.cache/bazel/_bazel_root/e1c9d86bae2b34f90e83d224bc900958/external/bazel_tools/tools/cpp/BUILD and referenced by '//vdso:vdso'",
+ },
+ {`
+ld -T ld.script -X --warn-common -nopie -o bsd ${SYSTEM_HEAD} vers.o ${OBJS}
+ld: error: undefined symbol: __stack_smash_handler
+>>> referenced by bktr_card.c:0 (/kernel/sys/dev/pci/bktr/bktr_card.c:0)
+>>> bktr_card.o:(probeCard)
+
+ld: error: undefined symbol: __stack_smash_handler
+>>> referenced by vnd.c:0 (/kernel/sys/dev/vnd.c:0)
+>>> vnd.o:(vndencrypt)
+
+ld: error: undefined symbol: __stack_smash_handler
+>>> referenced by ihidev.c:0 (/kernel/sys/dev/i2c/ihidev.c:0)
+>>> ihidev.o:(ihidev_attach)
+
+ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
+*** Error 1 in /kernel/sys/arch/amd64/compile/SYZKALLER (Makefile:991 'bsd': @echo ld -T ld.script -X --warn-commo...)
+`,
+ "ld: error: undefined symbol: __stack_smash_handler",
},
} {
got := extractCauseInner([]byte(s.e))
if !bytes.Equal([]byte(s.expect), got) {
- t.Errorf("Expected %s, got %s", s.expect, got)
+ t.Errorf("Expected:\n%s\ngot:\n%s", s.expect, got)
}
}
}