123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package android
- import (
- "testing"
- )
- var packageTests = []struct {
- name string
- fs MockFS
- expectedErrors []string
- }{
- // Package default_visibility handling is tested in visibility_test.go
- {
- name: "package must not accept visibility, name or licenses properties",
- fs: map[string][]byte{
- "top/Android.bp": []byte(`
- package {
- name: "package",
- visibility: ["//visibility:private"],
- licenses: ["license"],
- }`),
- },
- expectedErrors: []string{
- `top/Android.bp:5:14: unrecognized property "licenses"`,
- `top/Android.bp:3:10: unrecognized property "name"`,
- `top/Android.bp:4:16: unrecognized property "visibility"`,
- },
- },
- {
- name: "multiple packages in separate directories",
- fs: map[string][]byte{
- "top/Android.bp": []byte(`
- package {
- }`),
- "other/Android.bp": []byte(`
- package {
- }`),
- "other/nested/Android.bp": []byte(`
- package {
- }`),
- },
- },
- {
- name: "package must not be specified more than once per package",
- fs: map[string][]byte{
- "top/Android.bp": []byte(`
- package {
- default_visibility: ["//visibility:private"],
- default_applicable_licenses: ["license"],
- }
- package {
- }`),
- },
- expectedErrors: []string{
- `module "//top" already defined`,
- },
- },
- }
- func TestPackage(t *testing.T) {
- for _, test := range packageTests {
- t.Run(test.name, func(t *testing.T) {
- GroupFixturePreparers(
- PrepareForTestWithArchMutator,
- PrepareForTestWithPackageModule,
- test.fs.AddToFixture(),
- ).
- ExtendWithErrorHandler(FixtureExpectsAllErrorsToMatchAPattern(test.expectedErrors)).
- RunTest(t)
- })
- }
- }
|