summaryrefslogtreecommitdiff
path: root/rust/rust_test.go
diff options
context:
space:
mode:
authorIvan Lozano <ivanlozano@google.com>2020-04-28 10:10:23 -0400
committerIvan Lozano <ivanlozano@google.com>2020-04-29 15:31:34 -0400
commit9d1df10e2a7aacb4ada52000dc299ce8c187330a (patch)
tree46e467230778530d2ddac2cdcabccc33e1be757b /rust/rust_test.go
parent52c0b7b35b5c5b510bac0a0a98d493b7d953a10d (diff)
Provide 32-bit and 64-bit Rust libs by default.
CC libraries which depend on Rust libraries get missing dependency errors when building 32-bit variants dependent on Rust modules which don't explicitly have "multilib: both" declared. Because CC libraries use MultilibBoth by default, Rust should do the same. This also fixes a bug where the ARM32 toolchain incorrectly embedded toolchain64Bit instead of toolchain32Bit. Bug: 154730212 Test: Rust libraries provide both variants by default. Change-Id: Ia545fe069d3c6b77c3d18f4f10267e2c72ee0bab
Diffstat (limited to 'rust/rust_test.go')
-rw-r--r--rust/rust_test.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/rust/rust_test.go b/rust/rust_test.go
index 02b190f0f..32eddc161 100644
--- a/rust/rust_test.go
+++ b/rust/rust_test.go
@@ -240,7 +240,7 @@ func TestNoStdlibs(t *testing.T) {
rust_binary {
name: "fizz-buzz",
srcs: ["foo.rs"],
- no_stdlibs: true,
+ no_stdlibs: true,
}`)
module := ctx.ModuleForTests("fizz-buzz", "android_arm64_armv8-a").Module().(*Module)
@@ -248,3 +248,16 @@ func TestNoStdlibs(t *testing.T) {
t.Errorf("no_stdlibs did not suppress dependency on libstd")
}
}
+
+// Test that libraries provide both 32-bit and 64-bit variants.
+func TestMultilib(t *testing.T) {
+ ctx := testRust(t, `
+ rust_library_rlib {
+ name: "libfoo",
+ srcs: ["foo.rs"],
+ crate_name: "foo",
+ }`)
+
+ _ = ctx.ModuleForTests("libfoo", "android_arm64_armv8-a_rlib")
+ _ = ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_rlib")
+}