xref: /aosp_15_r20/build/soong/android/filegroup_test.go (revision 333d2b3687b3a337dbcca9d65000bca186795e39)
1*333d2b36SAndroid Build Coastguard Workerpackage android
2*333d2b36SAndroid Build Coastguard Worker
3*333d2b36SAndroid Build Coastguard Workerimport (
4*333d2b36SAndroid Build Coastguard Worker	"testing"
5*333d2b36SAndroid Build Coastguard Worker)
6*333d2b36SAndroid Build Coastguard Worker
7*333d2b36SAndroid Build Coastguard Workerfunc TestFilegroupDefaults(t *testing.T) {
8*333d2b36SAndroid Build Coastguard Worker	bp := FixtureAddTextFile("p/Android.bp", `
9*333d2b36SAndroid Build Coastguard Worker		filegroup_defaults {
10*333d2b36SAndroid Build Coastguard Worker			name: "defaults",
11*333d2b36SAndroid Build Coastguard Worker			visibility: ["//x"],
12*333d2b36SAndroid Build Coastguard Worker		}
13*333d2b36SAndroid Build Coastguard Worker		filegroup {
14*333d2b36SAndroid Build Coastguard Worker			name: "foo",
15*333d2b36SAndroid Build Coastguard Worker			defaults: ["defaults"],
16*333d2b36SAndroid Build Coastguard Worker			visibility: ["//y"],
17*333d2b36SAndroid Build Coastguard Worker		}
18*333d2b36SAndroid Build Coastguard Worker	`)
19*333d2b36SAndroid Build Coastguard Worker	result := GroupFixturePreparers(
20*333d2b36SAndroid Build Coastguard Worker		PrepareForTestWithFilegroup,
21*333d2b36SAndroid Build Coastguard Worker		PrepareForTestWithDefaults,
22*333d2b36SAndroid Build Coastguard Worker		PrepareForTestWithVisibility,
23*333d2b36SAndroid Build Coastguard Worker		bp).RunTest(t)
24*333d2b36SAndroid Build Coastguard Worker	rules := effectiveVisibilityRules(result.Config, qualifiedModuleName{pkg: "p", name: "foo"})
25*333d2b36SAndroid Build Coastguard Worker	AssertDeepEquals(t, "visibility", []string{"//x", "//y"}, rules.Strings())
26*333d2b36SAndroid Build Coastguard Worker}
27