Put rust_test.data_libs under lib[64]
Rust test binary depending on native libraries would require them under lib[64] directory so that the test binary can open them with default rpath values. Bug: 204562227 Test: presubmit Change-Id: I029bb32c4c98fba21bd28e579a9df9f184a7f045
This commit is contained in:
10
rust/test.go
10
rust/test.go
@@ -15,6 +15,8 @@
|
|||||||
package rust
|
package rust
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/google/blueprint/proptools"
|
"github.com/google/blueprint/proptools"
|
||||||
|
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
@@ -151,9 +153,15 @@ func (test *testDecorator) install(ctx ModuleContext) {
|
|||||||
ctx.ModuleErrorf("data_lib %q is not a linkable module", depName)
|
ctx.ModuleErrorf("data_lib %q is not a linkable module", depName)
|
||||||
}
|
}
|
||||||
if linkableDep.OutputFile().Valid() {
|
if linkableDep.OutputFile().Valid() {
|
||||||
|
// Copy the output in "lib[64]" so that it's compatible with
|
||||||
|
// the default rpath values.
|
||||||
|
libDir := "lib"
|
||||||
|
if linkableDep.Target().Arch.ArchType.Multilib == "lib64" {
|
||||||
|
libDir = "lib64"
|
||||||
|
}
|
||||||
test.data = append(test.data,
|
test.data = append(test.data,
|
||||||
android.DataPath{SrcPath: linkableDep.OutputFile().Path(),
|
android.DataPath{SrcPath: linkableDep.OutputFile().Path(),
|
||||||
RelativeInstallPath: linkableDep.RelativeInstallPath()})
|
RelativeInstallPath: filepath.Join(libDir, linkableDep.RelativeInstallPath())})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@@ -187,12 +187,12 @@ func TestDataLibsRelativeInstallPath(t *testing.T) {
|
|||||||
t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath)
|
t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath)
|
||||||
}
|
}
|
||||||
entries := android.AndroidMkEntriesForTest(t, ctx, module)[0]
|
entries := android.AndroidMkEntriesForTest(t, ctx, module)[0]
|
||||||
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:foo/bar/baz") {
|
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:lib64/foo/bar/baz") {
|
||||||
t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:foo/bar/baz`,"+
|
t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:lib64/foo/bar/baz`,"+
|
||||||
" but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0])
|
" but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0])
|
||||||
}
|
}
|
||||||
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][1], ":librust_test_lib.so:foo/bar/baz") {
|
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][1], ":librust_test_lib.so:lib64/foo/bar/baz") {
|
||||||
t.Errorf("expected LOCAL_TEST_DATA to end with `:librust_test_lib.so:foo/bar/baz`,"+
|
t.Errorf("expected LOCAL_TEST_DATA to end with `:librust_test_lib.so:lib64/foo/bar/baz`,"+
|
||||||
" but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][1])
|
" but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][1])
|
||||||
}
|
}
|
||||||
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][2], ":rusty:foo/bar/baz") {
|
if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][2], ":rusty:foo/bar/baz") {
|
||||||
|
Reference in New Issue
Block a user