summaryrefslogtreecommitdiff
path: root/filesystem/filesystem_test.go
diff options
context:
space:
mode:
author Inseob Kim <inseob@google.com> 2025-03-20 10:46:06 +0900
committer Inseob Kim <inseob@google.com> 2025-03-20 16:23:15 +0900
commit761504986f77360de49aeea124d2b8b00cfd8ec5 (patch)
tree478b43e57c55c8ad274db14bafbc184d29225b0f /filesystem/filesystem_test.go
parent0452561890a94dcc17022643cf3c1f7b812269e3 (diff)
Fix overridden deps to be skipped correctly
Current implementation only checks the name of the direct child and the owner of the packaging spec. But this can cause unintentionally installing unnecessary dependencies of overridden modules. This can be fixed by 1) gathering all overridden modules, 2) walking deps with skipping overridden modules, and 3) installing packages from visitied modules only. Bug: 330141242 Test: TH Test: try building pixel system image Change-Id: I4a646941b61e890b5cd2c9aa137e74c80777f837
Diffstat (limited to 'filesystem/filesystem_test.go')
-rw-r--r--filesystem/filesystem_test.go33
1 files changed, 23 insertions, 10 deletions
diff --git a/filesystem/filesystem_test.go b/filesystem/filesystem_test.go
index bf7f5b64b..e57e45cb6 100644
--- a/filesystem/filesystem_test.go
+++ b/filesystem/filesystem_test.go
@@ -736,15 +736,14 @@ func TestOverrideModulesInDeps(t *testing.T) {
stl: "none",
system_shared_libs: [],
}
- android_filesystem {
- name: "myfilesystem",
- deps: ["myapp"],
+ phony {
+ name: "myapp_phony",
+ required: ["myapp"],
}
- android_filesystem {
- name: "myfilesystem_overridden",
- deps: ["myapp", "myoverrideapp"],
+ phony {
+ name: "myoverrideapp_phony",
+ required: ["myoverrideapp"],
}
-
android_app {
name: "myapp",
platform_apis: true,
@@ -755,15 +754,29 @@ func TestOverrideModulesInDeps(t *testing.T) {
base: "myapp",
required: ["libbar"],
}
+ android_filesystem {
+ name: "myfilesystem",
+ deps: ["myapp"],
+ }
+ android_filesystem {
+ name: "myfilesystem_overridden",
+ deps: ["myapp", "myoverrideapp"],
+ }
+ android_filesystem {
+ name: "myfilesystem_overridden_indirect",
+ deps: ["myapp_phony", "myoverrideapp_phony"],
+ }
`)
partition := result.ModuleForTests(t, "myfilesystem", "android_common")
fileList := android.ContentFromFileRuleForTests(t, result.TestContext, partition.Output("fileList"))
android.AssertStringEquals(t, "filesystem without override app", "app/myapp/myapp.apk\nlib64/libfoo.so\n", fileList)
- overriddenPartition := result.ModuleForTests(t, "myfilesystem_overridden", "android_common")
- overriddenFileList := android.ContentFromFileRuleForTests(t, result.TestContext, overriddenPartition.Output("fileList"))
- android.AssertStringEquals(t, "filesystem with override app", "app/myoverrideapp/myoverrideapp.apk\nlib64/libbar.so\n", overriddenFileList)
+ for _, overridden := range []string{"myfilesystem_overridden", "myfilesystem_overridden_indirect"} {
+ overriddenPartition := result.ModuleForTests(t, overridden, "android_common")
+ overriddenFileList := android.ContentFromFileRuleForTests(t, result.TestContext, overriddenPartition.Output("fileList"))
+ android.AssertStringEquals(t, "filesystem with "+overridden, "app/myoverrideapp/myoverrideapp.apk\nlib64/libbar.so\n", overriddenFileList)
+ }
}
func TestRamdiskPartitionSetsDevNodes(t *testing.T) {