diff options
author | Chris Gross <chrisgross@google.com> | 2021-03-10 23:00:14 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-03-10 23:00:14 +0000 |
commit | 5989878a55d2d34a1a8e5e16bb37349c4949758b (patch) | |
tree | 93d8e18c914c88f6555a10a863db4bf72d778ce5 /java/java_test.go | |
parent | 31143d8dc32e15aeea395b1d467538d46027ce48 (diff) | |
parent | 622eac0b10f516bc59fe0d23db7f7cff52d44173 (diff) |
Merge changes from topic "SP1A.210222.001" into s-keystone-qcom-dev
* changes:
Fix the releax_check flag format verb.
Add non-fatal mode for verify_uses_libraries check.
Merge SP1A.210222.001
Diffstat (limited to 'java/java_test.go')
-rw-r--r-- | java/java_test.go | 109 |
1 files changed, 106 insertions, 3 deletions
diff --git a/java/java_test.go b/java/java_test.go index e7776c35d..11f6a7c21 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -127,7 +127,6 @@ func testJavaErrorWithConfig(t *testing.T, pattern string, config android.Config } t.Fatalf("missing expected error %q (0 errors are returned)", pattern) - return ctx, config } @@ -1179,6 +1178,110 @@ func TestIncludeSrcs(t *testing.T) { } } +func TestJavaLint(t *testing.T) { + ctx, _ := testJavaWithFS(t, ` + java_library { + name: "foo", + srcs: [ + "a.java", + "b.java", + "c.java", + ], + min_sdk_version: "29", + sdk_version: "system_current", + } + `, map[string][]byte{ + "lint-baseline.xml": nil, + }) + + foo := ctx.ModuleForTests("foo", "android_common") + rule := foo.Rule("lint") + + if !strings.Contains(rule.RuleParams.Command, "--baseline lint-baseline.xml") { + t.Error("did not pass --baseline flag") + } +} + +func TestJavaLintWithoutBaseline(t *testing.T) { + ctx, _ := testJavaWithFS(t, ` + java_library { + name: "foo", + srcs: [ + "a.java", + "b.java", + "c.java", + ], + min_sdk_version: "29", + sdk_version: "system_current", + } + `, map[string][]byte{}) + + foo := ctx.ModuleForTests("foo", "android_common") + rule := foo.Rule("lint") + + if strings.Contains(rule.RuleParams.Command, "--baseline") { + t.Error("passed --baseline flag for non existent file") + } +} + +func TestJavaLintRequiresCustomLintFileToExist(t *testing.T) { + config := testConfig( + 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, + ) +} + +func TestJavaLintUsesCorrectBpConfig(t *testing.T) { + ctx, _ := testJavaWithFS(t, ` + java_library { + name: "foo", + srcs: [ + "a.java", + "b.java", + "c.java", + ], + min_sdk_version: "29", + sdk_version: "system_current", + lint: { + error_checks: ["SomeCheck"], + baseline_filename: "mybaseline.xml", + }, + } + `, map[string][]byte{ + "mybaseline.xml": nil, + }) + + foo := ctx.ModuleForTests("foo", "android_common") + rule := foo.Rule("lint") + + if !strings.Contains(rule.RuleParams.Command, "--baseline mybaseline.xml") { + t.Error("did not use the correct file for baseline") + } +} + func TestGeneratedSources(t *testing.T) { ctx, _ := testJavaWithFS(t, ` java_library { @@ -2406,7 +2509,7 @@ func TestAidlFlagsArePassedToTheAidlCompiler(t *testing.T) { } func TestDataNativeBinaries(t *testing.T) { - ctx, config := testJava(t, ` + ctx, _ := testJava(t, ` java_test_host { name: "foo", srcs: ["a.java"], @@ -2422,7 +2525,7 @@ func TestDataNativeBinaries(t *testing.T) { buildOS := android.BuildOs.String() test := ctx.ModuleForTests("foo", buildOS+"_common").Module().(*TestHost) - entries := android.AndroidMkEntriesForTest(t, config, "", test)[0] + entries := android.AndroidMkEntriesForTest(t, ctx, test)[0] expected := []string{buildDir + "/.intermediates/bin/" + buildOS + "_x86_64_PY3/bin:bin"} actual := entries.EntryMap["LOCAL_COMPATIBILITY_SUPPORT_FILES"] if !reflect.DeepEqual(expected, actual) { |