6f70adee89
textlint was expensive to run because we added every file in the list of files to lint to FILE_ARRAY_NATURAL_LANGUAGE. In #5041, we mitigated this issue but lost the ability to run textlint on changed files only. Given that textlint ignore files for which it doesn't have a plugin installed, and that we don't currently install additional plugins besides the default ones to lint markdown files and text files, we let textlint run on these files only, so we can have the feature to lint only changed files with this linter as well, back. |
||
---|---|---|
.. | ||
ansible | ||
arm | ||
bash | ||
bash_exec | ||
checkov | ||
clang_format | ||
clojure | ||
cloudformation | ||
coffeescript | ||
cpp | ||
csharp | ||
css | ||
dart | ||
dockerfile_hadolint | ||
editorconfig | ||
env | ||
gherkin | ||
github_actions | ||
gitleaks | ||
go | ||
go_modules | ||
google_java_format | ||
groovy | ||
html | ||
java | ||
javascript_es | ||
javascript_prettier | ||
javascript_standard | ||
jscpd | ||
json | ||
jsonc | ||
jsx | ||
kotlin | ||
kubernetes_kubeconform | ||
latex | ||
lua | ||
markdown | ||
natural_language | ||
openapi | ||
perl | ||
php_builtin | ||
php_phpcs | ||
php_phpstan | ||
php_psalm | ||
powershell | ||
protobuf | ||
python_black | ||
python_flake8 | ||
python_isort | ||
python_mypy | ||
python_pylint | ||
r | ||
raku | ||
renovate | ||
ruby | ||
rust_2015 | ||
rust_2018 | ||
rust_2021 | ||
rust_clippy | ||
scalafmt | ||
shell_shfmt | ||
snakemake_lint | ||
snakemake_snakefmt | ||
sql | ||
sqlfluff | ||
states | ||
tekton | ||
terraform_fmt | ||
terraform_terrascan | ||
terraform_tflint | ||
terragrunt | ||
tsx | ||
typescript_es | ||
typescript_standard | ||
xml | ||
yaml | ||
README.md |
Test Cases
This directory contains test cases that super-linter uses to validate if a particular linter is working.
These test cases focus on how super-linter invokes each linter and their exit codes. We deliberately avoid to verify if the output of a given linter matches the expectations because it's the responsibility of each linter to do so.
Test case format
Each super-linter language should have its own directory, named after the language they refer to.
The name of each test case denotes its nature:
- Test cases that are expected to pass validation contain the
good
string in their filename, or path. Example:markdown_good_5.md
- Test cases that are expected to fail validation contain the
bad
string in their filename, or path. Example:markdown_bad_5.md
Notes about specific tests
In this section, we explain the peculiarities of certain test cases.
SQL Fluff test cases
From version 0.12.0 SQLFluff requires a dialect to be set, and no longer sets a
default. This can be provided as a command-line argument, or a .sqlfluff
config file (either in the usualy place for SQLFluff config files, or within the
folder containg the SQL).
For SQLFluff we have added a default .sqlfluff
config file in its test
directory.
OpenAPI test cases
The _bad_
tests are valid .yml
/.json
but invalid OpenAPI specs.
The test extensions used are .ymlopenapi
/.jsonopenapi
instead of
.yml
/.json
. This is to prevent the YAML
and JSON
tests from picking them
up.
ARM test cases
apiVersions
older than 2 years (730 days) are treated as errors by the ARM linter if there is a newer version available.
Ansible test cases
roles/ghe-initialize
is a valid Ansible role