summaryrefslogtreecommitdiff
path: root/apex/apex_test.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2024-09-25 16:43:32 -0700
committer Colin Cross <ccross@android.com> 2024-09-25 20:22:33 -0700
commit18cb570c4c7676fc47fca26bc1e4c494da29c8bf (patch)
treeba55d561dc150178faf758ae1299d64c89050d6c /apex/apex_test.go
parent8bf14fcb89c300143dda1b8b5ce6ff8d28583109 (diff)
Only propgate strict updatability linting to modules that are in the apex
apex_strict_updatability_lint was propagating strict updatability linting much further than necessary by following all transitive dependencies, not just static dependencies of modules that are in the apex. This caused unnecessary lint checks, requiring the libcore exception in b/208656169 and the allowlist in b/215736885. Use apex.WalkPayloadDeps instead, which tracks whether the dependency is inside the same apex or not, and stop propagating the flag when a module outside the apex is reached. Bug: 208656169 Bug: 215736885 Test: m lint-check Flag: EXEMPT refactor Change-Id: I8d801ff1414e0bdb5997d29ab453488d3ab76d64
Diffstat (limited to 'apex/apex_test.go')
-rw-r--r--apex/apex_test.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 2b9772821..cc46beedc 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -10055,67 +10055,6 @@ func TestApexStrictUpdtabilityLint(t *testing.T) {
}
}
-func TestUpdatabilityLintSkipLibcore(t *testing.T) {
- bp := `
- apex {
- name: "myapex",
- key: "myapex.key",
- java_libs: ["myjavalib"],
- updatable: true,
- min_sdk_version: "29",
- }
- apex_key {
- name: "myapex.key",
- }
- java_library {
- name: "myjavalib",
- srcs: ["MyClass.java"],
- apex_available: [ "myapex" ],
- sdk_version: "current",
- min_sdk_version: "29",
- lint: {
- baseline_filename: "lint-baseline.xml",
- }
- }
- `
-
- testCases := []struct {
- testCaseName string
- moduleDirectory string
- disallowedFlagExpected bool
- }{
- {
- testCaseName: "lintable module defined outside libcore",
- moduleDirectory: "",
- disallowedFlagExpected: true,
- },
- {
- testCaseName: "lintable module defined in libcore root directory",
- moduleDirectory: "libcore/",
- disallowedFlagExpected: false,
- },
- {
- testCaseName: "lintable module defined in libcore child directory",
- moduleDirectory: "libcore/childdir/",
- disallowedFlagExpected: true,
- },
- }
-
- for _, testCase := range testCases {
- lintFileCreator := android.FixtureAddTextFile(testCase.moduleDirectory+"lint-baseline.xml", "")
- bpFileCreator := android.FixtureAddTextFile(testCase.moduleDirectory+"Android.bp", bp)
- result := testApex(t, "", lintFileCreator, bpFileCreator)
- myjavalib := result.ModuleForTests("myjavalib", "android_common_apex29")
- sboxProto := android.RuleBuilderSboxProtoForTests(t, result, myjavalib.Output("lint.sbox.textproto"))
- cmdFlags := fmt.Sprintf("--baseline %vlint-baseline.xml --disallowed_issues NewApi", testCase.moduleDirectory)
- disallowedFlagActual := strings.Contains(*sboxProto.Commands[0].Command, cmdFlags)
-
- if disallowedFlagActual != testCase.disallowedFlagExpected {
- t.Errorf("Failed testcase: %v \nActual lint cmd: %v", testCase.testCaseName, *sboxProto.Commands[0].Command)
- }
- }
-}
-
// checks transtive deps of an apex coming from bootclasspath_fragment
func TestApexStrictUpdtabilityLintBcpFragmentDeps(t *testing.T) {
bp := `