platform_build_soong/android/filegroup_test.go
Liz Kammer 748209cb6b Disable all filegroups in mixed builds
Rather than individually denylisting filegroups until we prioritize a
solution for mixed builds that will correctly integrate into uses such
as proto, aidl, gensrcs, etc.

Test: mixed_droid
Change-Id: Iddbd391af7dd7cabc892b2b26dbc68e3aa506471
2022-10-24 11:11:58 -04:00

60 lines
1.3 KiB
Go

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 {
outBaseDir := "outputbase"
result := GroupFixturePreparers(
PrepareForTestWithFilegroup,
FixtureModifyConfig(func(config Config) {
config.BazelContext = MockBazelContext{
OutputBaseDir: outBaseDir,
LabelToOutputFiles: map[string][]string{
"//:baz": []string{"a/b/c/d/test.aidl"},
},
}
}),
).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())
}
}