summaryrefslogtreecommitdiff
path: root/rust/testing.go
diff options
context:
space:
mode:
authorIvan Lozano <ivanlozano@google.com>2020-02-11 08:24:25 -0500
committerIvan Lozano <ivanlozano@google.com>2021-01-25 11:11:10 -0500
commit6cd99e6ab45dce7b1a3b865bacf76ce54651bd07 (patch)
treed107adced00e84c7b91a06cc4114df14b6990318 /rust/testing.go
parentf98384ad80493750c8a3fabea2db1812fc8089d1 (diff)
Add Rust fuzzing support.
Add a rust_fuzz module which builds a libfuzzer binary that enabes asan+sancov. This relies on the libfuzzer-sys crate. Bug: 147140513 Test: Local rust_fuzz example builds, fuzzes with asan+sancov. Change-Id: I57db3b8d25869791824ccfab768d13b0bb9d42fa
Diffstat (limited to 'rust/testing.go')
-rw-r--r--rust/testing.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/rust/testing.go b/rust/testing.go
index 07f557ab8..bb511b648 100644
--- a/rust/testing.go
+++ b/rust/testing.go
@@ -87,6 +87,13 @@ func GatherRequiredDepsForTest() string {
system_shared_libs: [],
export_include_dirs: ["libprotobuf-cpp-full-includes"],
}
+ cc_library {
+ name: "libclang_rt.asan-aarch64-android",
+ no_libcrt: true,
+ nocrt: true,
+ system_shared_libs: [],
+ export_include_dirs: ["libprotobuf-cpp-full-includes"],
+ }
rust_library {
name: "libstd",
crate_name: "std",
@@ -129,7 +136,12 @@ func GatherRequiredDepsForTest() string {
srcs: ["foo.rs"],
host_supported: true,
}
-
+ rust_library {
+ name: "liblibfuzzer_sys",
+ crate_name: "libfuzzer_sys",
+ srcs:["foo.rs"],
+ host_supported: true,
+ }
`
return bp
}
@@ -147,6 +159,7 @@ func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
ctx.RegisterModuleType("rust_library_host", RustLibraryHostFactory)
ctx.RegisterModuleType("rust_library_host_dylib", RustLibraryDylibHostFactory)
ctx.RegisterModuleType("rust_library_host_rlib", RustLibraryRlibHostFactory)
+ ctx.RegisterModuleType("rust_fuzz", RustFuzzFactory)
ctx.RegisterModuleType("rust_ffi", RustFFIFactory)
ctx.RegisterModuleType("rust_ffi_shared", RustFFISharedFactory)
ctx.RegisterModuleType("rust_ffi_static", RustFFIStaticFactory)