Convert test that disallows non existent paths to use fixtures

This change needed to add some additional files to the registered
files for PrepareForTestWithJavaDefaultModules because otherwise they
would fail when "TestAllowNonExistentPaths = false". Those files were
being added by the TestJavaLintRequiresCustomLintFileToExist (albeit in
some cases in different locations to that required by the default
modules but as the files are needed by the modules defined in
PrepareForTestWithJavaDefaultModules they should be defined in it.

A couple of other places also provided some files so moving them into
PrepareForTestWithJavaDefaultModules caused some conflicts which needed
to be resolved.

Bug: 183184375
Test: m nothing
Change-Id: I76ce9f1673c1c1c4000635b76b8377d582224bf1
This commit is contained in:
Paul Duffin
2021-03-20 14:19:46 +00:00
parent 958408d921
commit 76e5c8a37f
5 changed files with 53 additions and 35 deletions

View File

@@ -133,6 +133,15 @@ func defaultModuleToPath(name string) string {
}
}
// Test that the PrepareForTestWithJavaDefaultModules provides all the files that it uses by
// running it in a fixture that requires all source files to exist.
func TestPrepareForTestWithJavaDefaultModules(t *testing.T) {
android.GroupFixturePreparers(
PrepareForTestWithJavaDefaultModules,
android.PrepareForTestDisallowNonExistentPaths,
).RunTest(t)
}
func TestJavaLinkType(t *testing.T) {
testJava(t, `
java_library {
@@ -1220,33 +1229,22 @@ func TestJavaLintWithoutBaseline(t *testing.T) {
}
func TestJavaLintRequiresCustomLintFileToExist(t *testing.T) {
config := TestConfig(t.TempDir(),
nil,
`
java_library {
name: "foo",
srcs: [
],
min_sdk_version: "29",
sdk_version: "system_current",
lint: {
baseline_filename: "mybaseline.xml",
},
}
`, map[string][]byte{
"build/soong/java/lint_defaults.txt": nil,
"prebuilts/cmdline-tools/tools/bin/lint": nil,
"prebuilts/cmdline-tools/tools/lib/lint-classpath.jar": nil,
"framework/aidl": nil,
"a.java": nil,
"AndroidManifest.xml": nil,
"build/make/target/product/security": nil,
})
config.TestAllowNonExistentPaths = false
testJavaErrorWithConfig(t,
"source path \"mybaseline.xml\" does not exist",
config,
)
android.GroupFixturePreparers(
PrepareForTestWithJavaDefaultModules,
android.PrepareForTestDisallowNonExistentPaths,
).ExtendWithErrorHandler(android.FixtureExpectsAllErrorsToMatchAPattern([]string{`source path "mybaseline.xml" does not exist`})).
RunTestWithBp(t, `
java_library {
name: "foo",
srcs: [
],
min_sdk_version: "29",
sdk_version: "system_current",
lint: {
baseline_filename: "mybaseline.xml",
},
}
`)
}
func TestJavaLintUsesCorrectBpConfig(t *testing.T) {