Reland: Remove workarounds by data_device_bins

This reverts commit 4e2e4c9337, plus
replacing data_device_bins with data_device_bins_both.

Previously, the test has dirty hacks that force building the device
executable in correct name. Switch to the proper solution now that we
have it.

Bug: 228775576
Test: atest ApkVerityTest
Test: lunch cf_x86_64_tv-eng; atest ApkVerityTest (against cf_x86_tv VM)
Change-Id: Iccb457131d74a83b9f5cb8457833d7c5ea495b05
Merged-In: Iccb457131d74a83b9f5cb8457833d7c5ea495b05
(cherry picked from commit 3b6c701cc7)
This commit is contained in:
Victor Hsieh
2022-06-23 09:52:54 -07:00
parent 2d31bbe7ec
commit 921da951ef
4 changed files with 18 additions and 21 deletions

View File

@@ -37,8 +37,8 @@ java_test_host {
"general-tests",
"vts",
],
target_required: [
"block_device_writer_module",
data_device_bins_both: [
"block_device_writer",
],
data: [
":ApkVerityTestCertDer",

View File

@@ -31,10 +31,18 @@
<target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
<option name="cleanup" value="true" />
<option name="push" value="block_device_writer->/data/local/tmp/block_device_writer" />
<option name="push" value="ApkVerityTestCert.der->/data/local/tmp/ApkVerityTestCert.der" />
</target_preparer>
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
<!-- The build system produces both 32 and 64 bit variants with bitness suffix. Let
FilePusher find the filename with bitness and push to a remote name without bitness.
-->
<option name="append-bitness" value="true" />
<option name="cleanup" value="true" />
<option name="push" value="block_device_writer->/data/local/tmp/block_device_writer" />
</target_preparer>
<test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
<option name="jar" value="ApkVerityTest.jar" />
</test>

View File

@@ -24,12 +24,7 @@ package {
}
cc_test {
// Depending on how the test runs, the executable may be uploaded to different location.
// Before the bug in the file pusher is fixed, workaround by making the name unique.
// See b/124718249#comment12.
name: "block_device_writer_module",
stem: "block_device_writer",
name: "block_device_writer",
srcs: ["block_device_writer.cpp"],
cflags: [
"-D_FILE_OFFSET_BITS=64",
@@ -42,20 +37,13 @@ cc_test {
"libbase",
"libutils",
],
// For some reasons, cuttlefish (x86) uses x86_64 test suites for testing. Unfortunately, when
// the uploader does not pick up the executable from correct output location. The following
// workaround allows the test to:
// * upload the 32-bit exectuable for both 32 and 64 bits devices to use
// * refer to the same executable name in Java
// * no need to force the Java test to be archiecture specific.
//
// See b/145573317 for details.
compile_multilib: "both",
multilib: {
lib32: {
suffix: "",
suffix: "32",
},
lib64: {
suffix: "64", // not really used
suffix: "64",
},
},

View File

@@ -32,11 +32,12 @@ import java.util.ArrayList;
* <p>To use this class, please push block_device_writer binary to /data/local/tmp.
* 1. In Android.bp, add:
* <pre>
* target_required: ["block_device_writer_module"],
* data_device_bins_both: ["block_device_writer"],
* </pre>
* 2. In AndroidText.xml, add:
* <pre>
* <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
* <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
* <option name="append-bitness" value="true" />
* <option name="push" value="block_device_writer->/data/local/tmp/block_device_writer" />
* </target_preparer>
* </pre>