diff options
| author | 2022-12-12 15:11:46 -0800 | |
|---|---|---|
| committer | 2022-12-12 15:11:46 -0800 | |
| commit | 5caad2b138b99c81806df804cd283af702c4a3b1 (patch) | |
| tree | 99d4fcccc5f69b69db92c0f17560235f0bedfc5d /java/app_test.go | |
| parent | c576383336ad18aef520881ce8bd53e8ca36451f (diff) | |
Add test for missing certificate with AllowMissingDependencies
Add a test that verifies that that missing certificate path inserted
when AllowMissingDependencies is set uses a well formed extension
that won't trip up sign_target_files_apks.
Fixes: 259861670
Test: TestCertificates
Change-Id: I00656809698aed5f9d3aaadaecda9848d2882223
Diffstat (limited to 'java/app_test.go')
| -rw-r--r-- | java/app_test.go | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/java/app_test.go b/java/app_test.go index e216c630b..bc971e3e1 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -1490,6 +1490,7 @@ func TestCertificates(t *testing.T) { testCases := []struct { name string bp string + allowMissingDependencies bool certificateOverride string expectedCertSigningFlags string expectedCertificate string @@ -1505,7 +1506,7 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "", expectedCertSigningFlags: "", - expectedCertificate: "build/make/target/product/security/testkey.x509.pem build/make/target/product/security/testkey.pk8", + expectedCertificate: "build/make/target/product/security/testkey", }, { name: "module certificate property", @@ -1524,7 +1525,7 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "", expectedCertSigningFlags: "", - expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8", + expectedCertificate: "cert/new_cert", }, { name: "path certificate property", @@ -1538,7 +1539,7 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "", expectedCertSigningFlags: "", - expectedCertificate: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8", + expectedCertificate: "build/make/target/product/security/expiredkey", }, { name: "certificate overrides", @@ -1557,7 +1558,7 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "foo:new_certificate", expectedCertSigningFlags: "", - expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8", + expectedCertificate: "cert/new_cert", }, { name: "certificate signing flags", @@ -1578,7 +1579,7 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "", expectedCertSigningFlags: "--lineage lineage.bin --rotation-min-sdk-version 32", - expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8", + expectedCertificate: "cert/new_cert", }, { name: "cert signing flags from filegroup", @@ -1604,7 +1605,20 @@ func TestCertificates(t *testing.T) { `, certificateOverride: "", expectedCertSigningFlags: "--lineage lineage.bin --rotation-min-sdk-version 32", - expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8", + expectedCertificate: "cert/new_cert", + }, + { + name: "missing with AllowMissingDependencies", + bp: ` + android_app { + name: "foo", + srcs: ["a.java"], + certificate: ":new_certificate", + sdk_version: "current", + } + `, + expectedCertificate: "out/soong/.intermediates/foo/android_common/missing", + allowMissingDependencies: true, }, } @@ -1616,17 +1630,32 @@ func TestCertificates(t *testing.T) { if test.certificateOverride != "" { variables.CertificateOverrides = []string{test.certificateOverride} } + if test.allowMissingDependencies { + variables.Allow_missing_dependencies = proptools.BoolPtr(true) + } + }), + android.FixtureModifyContext(func(ctx *android.TestContext) { + ctx.SetAllowMissingDependencies(test.allowMissingDependencies) }), ).RunTestWithBp(t, test.bp) foo := result.ModuleForTests("foo", "android_common") + certificate := foo.Module().(*AndroidApp).certificate + android.AssertPathRelativeToTopEquals(t, "certificates key", test.expectedCertificate+".pk8", certificate.Key) + // The sign_target_files_apks and check_target_files_signatures + // tools require that certificates have a .x509.pem extension. + android.AssertPathRelativeToTopEquals(t, "certificates pem", test.expectedCertificate+".x509.pem", certificate.Pem) + signapk := foo.Output("foo.apk") - signCertificateFlags := signapk.Args["certificates"] - android.AssertStringEquals(t, "certificates flags", test.expectedCertificate, signCertificateFlags) + if signapk.Rule != android.ErrorRule { + signCertificateFlags := signapk.Args["certificates"] + expectedFlags := certificate.Pem.String() + " " + certificate.Key.String() + android.AssertStringEquals(t, "certificates flags", expectedFlags, signCertificateFlags) - certSigningFlags := signapk.Args["flags"] - android.AssertStringEquals(t, "cert signing flags", test.expectedCertSigningFlags, certSigningFlags) + certSigningFlags := signapk.Args["flags"] + android.AssertStringEquals(t, "cert signing flags", test.expectedCertSigningFlags, certSigningFlags) + } }) } } |