blob: 14e9368ca874af3c134c0c626f484ed20b76f282 [file] [log] [blame]
package android
import (
"path/filepath"
"testing"
)
func TestFileGroupWithPathProp(t *testing.T) {
// TODO(b/247782695), TODO(b/242847534) Fix mixed builds for filegroups
t.Skip("Re-enable once filegroups are corrected for mixed builds")
outBaseDir := "outputbase"
pathPrefix := outBaseDir + "/execroot/__main__"
expectedOutputfile := filepath.Join(pathPrefix, "a/b/c/d/test.aidl")
testCases := []struct {
bp string
rel string
}{
{
bp: `
filegroup {
name: "baz",
srcs: ["a/b/c/d/test.aidl"],
path: "a/b",
bazel_module: { label: "//:baz" },
}
`,
rel: "c/d/test.aidl",
},
{
bp: `
filegroup {
name: "baz",
srcs: ["a/b/c/d/test.aidl"],
bazel_module: { label: "//:baz" },
}
`,
rel: "a/b/c/d/test.aidl",
},
}
for _, testCase := range testCases {
result := GroupFixturePreparers(
PrepareForTestWithFilegroup,
).RunTestWithBp(t, testCase.bp)
fg := result.Module("baz", "").(*fileGroup)
AssertStringEquals(t, "src relativeRoot", testCase.rel, fg.srcs[0].Rel())
AssertStringEquals(t, "src full path", expectedOutputfile, fg.srcs[0].String())
}
}
func TestFilegroupDefaults(t *testing.T) {
bp := FixtureAddTextFile("p/Android.bp", `
filegroup_defaults {
name: "defaults",
visibility: ["//x"],
}
filegroup {
name: "foo",
defaults: ["defaults"],
visibility: ["//y"],
}
`)
result := GroupFixturePreparers(
PrepareForTestWithFilegroup,
PrepareForTestWithDefaults,
PrepareForTestWithVisibility,
bp).RunTest(t)
rules := effectiveVisibilityRules(result.Config, qualifiedModuleName{pkg: "p", name: "foo"})
AssertDeepEquals(t, "visibility", []string{"//x", "//y"}, rules.Strings())
}