Add Soong test for device proc-macro deps.
Ensure that devices can include proc_macros, which are host-only and may include host-only dependencies. Bug: 141491501 Test: Soong tests pass. Test: Test fails as expected when removing CL 1126496 Change-Id: I3ae7ab80283cd1fd4b800a533cb3205b3c108d45
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"android/soong/android"
|
||||
@@ -175,3 +176,28 @@ func TestDepsTracking(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Test to make sure proc_macros use host variants when building device modules.
|
||||
func TestProcMacroDeviceDeps(t *testing.T) {
|
||||
ctx := testRust(t, `
|
||||
rust_library_host_rlib {
|
||||
name: "libbar",
|
||||
srcs: ["foo.rs"],
|
||||
}
|
||||
rust_proc_macro {
|
||||
name: "libpm",
|
||||
rlibs: ["libbar"],
|
||||
srcs: ["foo.rs"],
|
||||
}
|
||||
rust_binary {
|
||||
name: "fizz-buzz",
|
||||
proc_macros: ["libpm"],
|
||||
srcs: ["foo.rs"],
|
||||
}
|
||||
`)
|
||||
rustc := ctx.ModuleForTests("libpm", "linux_glibc_x86_64").Rule("rustc")
|
||||
|
||||
if !strings.Contains(rustc.Args["libFlags"], "libbar/linux_glibc_x86_64") {
|
||||
t.Errorf("Proc_macro is not using host variant of dependent modules.")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user