aboutsummaryrefslogtreecommitdiff
path: root/java/java_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/java_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/java_test.go')
-rw-r--r--java/java_test.go70
1 files changed, 57 insertions, 13 deletions
diff --git a/java/java_test.go b/java/java_test.go
index 1ba78d49b..6e80dcd34 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -2740,16 +2740,6 @@ func TestMultiplePrebuilts(t *testing.T) {
contents: ["%v"],
}
`
- hasDep := func(ctx *android.TestResult, m android.Module, wantDep android.Module) bool {
- t.Helper()
- var found bool
- ctx.VisitDirectDeps(m, func(dep blueprint.Module) {
- if dep == wantDep {
- found = true
- }
- })
- return found
- }
hasFileWithStem := func(m android.TestingModule, stem string) bool {
t.Helper()
@@ -2793,7 +2783,8 @@ func TestMultiplePrebuilts(t *testing.T) {
// check that rdep gets the correct variation of dep
foo := ctx.ModuleForTests(t, "foo", "android_common")
expectedDependency := ctx.ModuleForTests(t, tc.expectedDependencyName, "android_common")
- android.AssertBoolEquals(t, fmt.Sprintf("expected dependency from %s to %s\n", foo.Module().Name(), tc.expectedDependencyName), true, hasDep(ctx, foo.Module(), expectedDependency.Module()))
+ android.AssertBoolEquals(t, fmt.Sprintf("expected dependency from %s to %s\n", foo.Module().Name(), tc.expectedDependencyName),
+ true, android.HasDirectDep(ctx, foo.Module(), expectedDependency.Module()))
// check that output file of dep is always bar.jar
// The filename should be agnostic to source/prebuilt/prebuilt_version
@@ -2920,6 +2911,59 @@ func TestApiLibraryAconfigDeclarations(t *testing.T) {
android.AssertStringDoesContain(t, "flagged api hide command not included", cmdline, "flags-config-exportable.xml")
}
+func TestDroidstubsAconfigPropagation(t *testing.T) {
+ result := android.GroupFixturePreparers(
+ prepareForJavaTest,
+ android.FixtureMergeMockFs(map[string][]byte{
+ "a/A.java": nil,
+ "a/current.txt": nil,
+ "a/removed.txt": nil,
+ }),
+ ).RunTestWithBp(t, `
+ aconfig_declarations {
+ name: "bar",
+ package: "com.example.package",
+ container: "com.android.foo",
+ srcs: [
+ "bar.aconfig",
+ ],
+ }
+ droidstubs {
+ name: "foo",
+ srcs: ["a/A.java"],
+ api_surface: "public",
+ check_api: {
+ current: {
+ api_file: "a/current.txt",
+ removed_api_file: "a/removed.txt",
+ }
+ },
+ aconfig_declarations: [
+ "bar",
+ ],
+ }
+
+ java_library {
+ name: "baz",
+ srcs: [
+ ":foo",
+ ],
+ }
+ `)
+
+ bazModule := result.ModuleForTests(t, "baz", "android_common").Module()
+ javaInfo, _ := android.OtherModuleProvider(result, bazModule, JavaInfoProvider)
+ aconfigProtos := javaInfo.AconfigIntermediateCacheOutputPaths
+
+ android.AssertIntEquals(t, "Expected to provide one aconfig proto file", 1, len(aconfigProtos))
+ android.AssertStringDoesContain(
+ t,
+ "Expected to provide bar/aconfig-cache.pb",
+ strings.Join(aconfigProtos.Strings(), " "),
+ "bar/aconfig-cache.pb",
+ )
+}
+
func TestTestOnly(t *testing.T) {
t.Parallel()
ctx := android.GroupFixturePreparers(
@@ -3150,7 +3194,7 @@ func assertTestOnlyAndTopLevel(t *testing.T, ctx *android.TestResult, expectedTe
}
}
- ctx.VisitAllModules(func(m blueprint.Module) {
+ ctx.VisitAllModules(func(m android.Module) {
addActuals(m, android.TestOnlyProviderKey)
})
@@ -3171,7 +3215,7 @@ func TestNativeRequiredDepOfJavaBinary(t *testing.T) {
t.Parallel()
findDepsOfModule := func(ctx *android.TestContext, module android.Module, depName string) []blueprint.Module {
var ret []blueprint.Module
- ctx.VisitDirectDeps(module, func(dep blueprint.Module) {
+ ctx.VisitDirectDeps(module, func(dep android.Module) {
if dep.Name() == depName {
ret = append(ret, dep)
}