Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b082eae authored by Chun-Wei Wang's avatar Chun-Wei Wang
Browse files

Fix incompatible APK container signature

Somehow this issue is only reproducible on TH.

In the pushTestApex() method, buildHelper.getTestFile()
will reference a file like:
/tmp/tf-workfolder10675344980669124774/tests-zip_4606121987780006706/host/testcases/StagedRollbackTest/test.rebootless_apex_v1.apex

while installPackage(REBOOTLESS_V2) will reference a file like:
/tmp/tf-workfolder10675344980669124774/tests-zip_4606121987780006706/target/testcases/ApexTestCases/x86_64/test.rebootless_apex_v2.apex

Those 2 files have incompatible signatures.

This CL ensures both v1 and v2 are accessed by buildHelper.getTestFile()
so they have compatible signatures.

Bug: 242639590
Test: atest StagedInstallInternalTest
Change-Id: I8dfafa5754b714867e0c60f7ccb8689c9471da01
parent 8fcfbbc7
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -169,6 +169,12 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test {
        assertTrue(getDevice().pushFile(apex, "/" + partition + "/apex/" + fileName));
    }

    private void installTestApex(String fileName, String... extraArgs) throws Exception {
        CompatibilityBuildHelper buildHelper = new CompatibilityBuildHelper(getBuild());
        final File apex = buildHelper.getTestFile(fileName);
        getDevice().installPackage(apex, false, extraArgs);
    }

    private void pushTestVendorApexAllowList(String installerPackageName) throws Exception {
        if (!getDevice().isAdbRoot()) {
            getDevice().enableAdbRoot();
@@ -551,7 +557,7 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test {
        pushTestApex(REBOOTLESS_V1, "vendor");
        getDevice().reboot();
        runPhase("testVendorApex_VerifyFactory");
        installPackage(REBOOTLESS_V2, "--staged");
        installTestApex(REBOOTLESS_V2, "--staged");
        getDevice().reboot();
        runPhase("testVendorApex_VerifyData");
    }
@@ -565,7 +571,7 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test {
        pushTestApex(REBOOTLESS_V1, "vendor");
        getDevice().reboot();
        runPhase("testVendorApex_VerifyFactory");
        installPackage(REBOOTLESS_V2, "--force-non-staged");
        installTestApex(REBOOTLESS_V2, "--force-non-staged");
        runPhase("testVendorApex_VerifyData");
    }