fune/tools/lint/test/test_android_format.py
Makoto Kato fa9e8b41cc Bug 1740799 - Add android-format lint test. r=nalexander,linter-reviewers,sylvestre
To run unit test for android-format lint, we have to add another simple Gradle
project. It is runs with specific parameter (`androidFormatLintTest`), so
`./mach build` etc doesn't run it.

Also `type:global`'s lint doesn't have any test framework, so I will add it.

Differential Revision: https://phabricator.services.mozilla.com/D162181
2022-11-18 00:55:03 +00:00

38 lines
1 KiB
Python

import mozunit
from conftest import build
LINTER = "android-format"
def test_basic(global_lint, config):
substs = {
"GRADLE_ANDROID_FORMAT_LINT_CHECK_TASKS": [
"spotlessJavaCheck",
"spotlessKotlinCheck",
],
"GRADLE_ANDROID_FORMAT_LINT_FIX_TASKS": [
"spotlessJavaApply",
"spotlessKotlinApply",
],
"GRADLE_ANDROID_FORMAT_LINT_FOLDERS": ["tools/lint/test/files/android-format"],
}
results = global_lint(
config=config,
topobjdir=build.topobjdir,
root=build.topsrcdir,
substs=substs,
extra_args=["-PandroidFormatLintTest"],
)
print(results)
# When first task (spotlessJavaCheck) hits error, we won't check next Kotlin error.
# So results length will be 1.
assert len(results) == 1
assert results[0].level == "error"
# Since android-format is global lint, fix=True overrides repository files directly.
# No way to add this test.
if __name__ == "__main__":
mozunit.main()