Reland: Remove workarounds by data_device_bins
This reverts commit4e2e4c9337, 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 commit3b6c701cc7)
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user