summaryrefslogtreecommitdiff
path: root/java/app_test.go
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-06-14 03:38:01 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-06-14 03:38:01 +0000
commit27c00a8bd2c4d93c0b70164778a11ad0f33dd09c (patch)
treeff8843d7042a339742abf53cc2480799341e8085 /java/app_test.go
parent0f81d852783f49a748dc3435345880df9268669c (diff)
parent0ef709565e2911abdf3b0279feedcd06fcf38254 (diff)
Merge "Pass --non-updatable-system flag to aapt2 when versionCode is unspecified" into main am: 0ef709565e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3076227 Change-Id: I3b90331dc154b29292a9fcf72caf70458eaff233 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java/app_test.go')
-rw-r--r--java/app_test.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/java/app_test.go b/java/app_test.go
index 804949435..988a5b17d 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -4477,5 +4477,54 @@ func TestAppMinSdkVersionOverride(t *testing.T) {
fooOverride.BuildParams.Args["args"],
"--minSdkVersion 33",
)
+}
+
+func TestNonUpdatableSystem(t *testing.T) {
+ ctx := testApp(t, `
+ android_app {
+ name: "foo",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ aaptflags: [
+ "--version-code 1",
+ ],
+ }
+ android_app {
+ name: "bar",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }
+ android_test {
+ name: "baz",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }
+ android_test_helper_app {
+ name: "baz_helper",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }
+ `)
+
+ hasNonUpdatableSystemFlag := func(module android.TestingModule) bool {
+ moduleAapt2LinkRule := module.Rule("android/soong/java.aapt2Link")
+ linkFlags := moduleAapt2LinkRule.Args["flags"]
+ return strings.Contains(linkFlags, "--non-updatable-system")
+ }
+
+ foo := ctx.ModuleForTests("foo", "android_common")
+ android.AssertBoolEquals(t, "app should not pass `--non-updatable-flags` when --version-code is specified",
+ false, hasNonUpdatableSystemFlag(foo))
+
+ bar := ctx.ModuleForTests("bar", "android_common")
+ android.AssertBoolEquals(t, "app should pass `--non-updatable-flags` when --version-code is not specified",
+ true, hasNonUpdatableSystemFlag(bar))
+
+ baz := ctx.ModuleForTests("baz", "android_common")
+ android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
+ false, hasNonUpdatableSystemFlag(baz))
+ baz_helper := ctx.ModuleForTests("baz_helper", "android_common")
+ android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
+ false, hasNonUpdatableSystemFlag(baz_helper))
}