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:36:09 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-06-14 03:36:09 +0000
commit0ef709565e2911abdf3b0279feedcd06fcf38254 (patch)
tree8047645dc04af135a75b9542cddf95f67d276d3e /java/app_test.go
parent1b0d92919d7924a64732e9a08f7ea6acf3b5aec1 (diff)
parentce320f86a084cb29d5f4e24aee221e9e4dd4fb47 (diff)
Merge "Pass --non-updatable-system flag to aapt2 when versionCode is unspecified" into main
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))
}