aboutsummaryrefslogtreecommitdiff
path: root/java/dexpreopt_test.go
diff options
context:
space:
mode:
authormosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
committermosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
commitc7bade461dc55726f62997d13a48582f7c4b4655 (patch)
treeea0588da76060a2038f54f67efd046ca77634b10 /java/dexpreopt_test.go
parent0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff)
parent89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff)
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits) Revert "install_symlink: Make symlink target configurable" Reapply "Clear as much of cc.Module as possible after GenerateBuildActions" Revert "rust: config: Fix missing CPU variant LD flags in Rust" Rename build-flag in outdir Revert^4 "cipd: Default CIPD proxy server to on, add opt-out" Convert check-vintf-all to phony with actions Create a partial implementation of check-vintf-all for soong-only Configure RBE rust pool based on build variant Revert^3 "Add sdk version check to arr" Add jdk.internal.invoke to the allowlist Make droid always depend on symbols zip Import Device and Odm skus Don't install gob_gen in Soong Remove bazel reference from run_integration_tests.sh Fix bootstrap_test.sh Don't panic in aconfig libraries when AllowMissingDependencies is set Avoid returning nil paths from PathForModuleSrc Revert "Flag controled clang version" Rework module target dependencies on required deps Revert^2 "Add sdk version check to arr" ... Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'java/dexpreopt_test.go')
-rw-r--r--java/dexpreopt_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/java/dexpreopt_test.go b/java/dexpreopt_test.go
index f437da02c..775966153 100644
--- a/java/dexpreopt_test.go
+++ b/java/dexpreopt_test.go
@@ -402,3 +402,44 @@ func TestGenerateProfileEvenIfDexpreoptIsDisabled(t *testing.T) {
android.AssertArrayString(t, "outputs", expected, dexpreopt.AllOutputs())
}
+
+func TestAssumeValueFlags(t *testing.T) {
+ for _, platformSdkVersion := range []string{"", "28"} {
+ t.Run(platformSdkVersion, func(t *testing.T) {
+ preparers := android.GroupFixturePreparers(
+ PrepareForTestWithDexpreopt,
+ dexpreopt.PrepareForTestWithDexpreoptConfig,
+ dexpreopt.FixtureSetEnableUffdGc("false"),
+ dexpreopt.FixtureSetPlatformSdkVersion(platformSdkVersion),
+ )
+
+ result := preparers.RunTestWithBp(t, `
+ java_library {
+ name: "foo",
+ installable: true,
+ dex_preopt: {
+ profile: "art-profile",
+ },
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }`)
+
+ ctx := result.TestContext
+
+ // Ensure that we always have a valid (but possibly empty) assumed
+ // value flags file for use with dex2oat input.
+ ctx.SingletonForTests(t, "dexpreopt-soong-config").Output("out/soong/dexpreopt/assume_value_flags.txt")
+
+ // If the SDK version is set, it should exist in the command to
+ // generate the assumed value flags file for use with dex2oat input.
+ if platformSdkVersion != "" {
+ rule := ctx.SingletonForTests(t, "dexpreopt-soong-config").Rule("dexpreopt_assume_value_flags")
+ android.AssertStringDoesContain(t, "", rule.RuleParams.Command,
+ "echo '--assume-value=Landroid/os/Build$$VERSION;->SDK_INT:"+platformSdkVersion+"'")
+ android.AssertStringPathsRelativeToTopEquals(t, "", ctx.Config(), []string{
+ "out/soong/dexpreopt/assume_value_flags.txt",
+ }, rule.AllOutputs())
+ }
+ })
+ }
+}