diff options
author | 2024-06-14 03:38:01 +0000 | |
---|---|---|
committer | 2024-06-14 03:38:01 +0000 | |
commit | 27c00a8bd2c4d93c0b70164778a11ad0f33dd09c (patch) | |
tree | ff8843d7042a339742abf53cc2480799341e8085 /java/app_test.go | |
parent | 0f81d852783f49a748dc3435345880df9268669c (diff) | |
parent | 0ef709565e2911abdf3b0279feedcd06fcf38254 (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.go | 49 |
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)) } |