Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Unified Diff: fuzzer/go/common/build_skia.go

Issue 1668543004: Add AddressSanitizer to fuzzer analysis (Closed) Base URL: https://skia.googlesource.com/buildbot@remove-old-tests
Patch Set: add multi threaded delete Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fuzzer/go/common/build_skia.go
diff --git a/fuzzer/go/common/build_skia.go b/fuzzer/go/common/build_skia.go
index c473a3bf3df0d18b8affe769b4a7e4a90733e7a1..191f7dadad1f5068d4216a2f86a15d37475ddd4a 100644
--- a/fuzzer/go/common/build_skia.go
+++ b/fuzzer/go/common/build_skia.go
@@ -10,8 +10,10 @@ import (
"go.skia.org/infra/go/exec"
)
-// BuildClangHarness builds the test harness for parsing skp files using clang. If any step fails, it returns an error.
+// BuildClangHarness builds the test harness for parsing skp files using clang. If any step fails,
+// it returns an error.
func BuildClangHarness(buildType string, isClean bool) error {
+ glog.Infof("Building %s clang harness", buildType)
buildVars := []string{
fmt.Sprintf("CC=%s", config.Common.ClangPath),
fmt.Sprintf("CXX=%s", config.Common.ClangPlusPlusPath),
@@ -19,8 +21,24 @@ func BuildClangHarness(buildType string, isClean bool) error {
return buildHarness(buildType, isClean, buildVars)
}
-// BuildFuzzingHarness builds the test harness for parsing skp files using afl-instrumented clang. If any step fails, it returns an error.
+// BuildASANHarness builds the test harness for parsing skp files using clang and AddressSanitizer.
+// If any step fails, it returns an error.
+func BuildASANHarness(buildType string, isClean bool) error {
+ glog.Infof("Building %s ASAN harness", buildType)
+ buildVars := []string{
+ fmt.Sprintf("CC=%s", config.Common.ClangPath),
+ fmt.Sprintf("CXX=%s", config.Common.ClangPlusPlusPath),
+ "CXXFLAGS=-O1 -g -fsanitize=address -fno-omit-frame-pointer",
+ "LDFLAGS=-g -fsanitize=address",
+ ASAN_OPTIONS,
+ }
+ return buildHarness(buildType, isClean, buildVars)
+}
+
+// BuildFuzzingHarness builds the test harness for parsing skp files using afl-instrumented clang.
+// If any step fails, it returns an error.
func BuildFuzzingHarness(buildType string, isClean bool) error {
+ glog.Infof("Building %s fuzzing harness", buildType)
buildVars := []string{
fmt.Sprintf("CC=%s", filepath.Join(config.Generator.AflRoot, "afl-clang")),
fmt.Sprintf("CXX=%s", filepath.Join(config.Generator.AflRoot, "afl-clang++")),
@@ -35,8 +53,6 @@ func BuildFuzzingHarness(buildType string, isClean bool) error {
// Finally, it runs those build files.
// If any step fails in unexpected ways, it returns an error.
func buildHarness(buildType string, isClean bool, buildVars []string) error {
- glog.Infof("Building %s fuzzing harness", buildType)
-
// clean previous build if specified
buildLocation := filepath.Join("out", buildType)
if isClean {
@@ -48,8 +64,8 @@ func buildHarness(buildType string, isClean bool, buildVars []string) error {
gypCmd := &exec.Command{
Name: "./gyp_skia",
Dir: config.Generator.SkiaRoot,
- LogStdout: false,
- LogStderr: false,
+ LogStdout: config.Common.VerboseBuilds,
+ LogStderr: config.Common.VerboseBuilds,
Env: append(buildVars, "GYP_DEFINES=skia_clang_build=1"),
}
@@ -63,7 +79,7 @@ func buildHarness(buildType string, isClean bool, buildVars []string) error {
ninjaCmd := &exec.Command{
Name: ninjaPath,
Args: []string{"-C", buildLocation, "fuzz"},
- LogStdout: true,
+ LogStdout: config.Common.VerboseBuilds,
LogStderr: true,
InheritPath: true,
Dir: config.Generator.SkiaRoot,

Powered by Google App Engine
This is Rietveld 408576698