5d6e3fcecc
Some checks failed
Publish Images / Build and Test (push) Has been cancelled
Build and Test / Set build metadata (push) Has been cancelled
Build and Test / Build test suite matrix (push) Has been cancelled
Build and Test / preview-release-notes (push) Has been cancelled
Lint commit / commitlint (push) Has been cancelled
Publish Images / Release (push) Has been cancelled
Build and Test / Build and Test (push) Has been cancelled
Build and Test / Test the Super-linter GitHub Action (push) Has been cancelled
Build and Test / Run test cases (push) Has been cancelled
Build and Test / Check if all the tests passed (push) Has been cancelled
Add support to run Commitlint against commit messages. It supports the current modes: - Lint the commit message of the last commit - Lint the commit messages of the pushed commits in case there is more than one pushed commit This commit also removes stuff that we used to run commitlint as a standalone tool because we can now use the commitlint instance that Super-linter ships: - lint-commit steps in lint-commit the GitHub Actions workflow - lint-commit Make target - commitlint and its dependencies in package.json and package-lock.json |
||
---|---|---|
.. | ||
ansible | ||
arm | ||
bash | ||
bash_exec | ||
checkov | ||
clang_format | ||
clojure | ||
cloudformation | ||
coffeescript | ||
cpp | ||
csharp | ||
css | ||
css_prettier | ||
dart | ||
dockerfile_hadolint | ||
dotnet_sln_format_analyzers | ||
dotnet_sln_format_style | ||
dotnet_sln_format_whitespace | ||
editorconfig | ||
env | ||
gherkin | ||
git_commitlint | ||
git_merge_conflict_markers | ||
github_actions | ||
gitleaks | ||
go | ||
go_modules | ||
go_releaser | ||
google_java_format | ||
graphql_prettier | ||
groovy | ||
html | ||
html_prettier | ||
java | ||
javascript_es | ||
javascript_prettier | ||
javascript_standard | ||
jscpd | ||
json | ||
json_prettier | ||
jsonc | ||
jsonc_prettier | ||
jsx | ||
jsx_prettier | ||
kotlin | ||
kubernetes_kubeconform | ||
latex | ||
lua | ||
markdown | ||
markdown_prettier | ||
natural_language | ||
openapi | ||
perl | ||
php_builtin | ||
php_phpcs | ||
php_phpstan | ||
php_psalm | ||
powershell | ||
protobuf | ||
python_black | ||
python_flake8 | ||
python_isort | ||
python_mypy | ||
python_pyink | ||
python_pylint | ||
python_ruff | ||
r | ||
raku | ||
renovate | ||
ruby | ||
rust_2015 | ||
rust_2018 | ||
rust_2021 | ||
rust_clippy | ||
scalafmt | ||
shell_shfmt | ||
snakemake_lint | ||
snakemake_snakefmt | ||
sqlfluff | ||
states | ||
tekton | ||
terraform_fmt | ||
terraform_terrascan | ||
terraform_tflint | ||
terragrunt | ||
tsx | ||
typescript_es | ||
typescript_prettier | ||
typescript_standard | ||
vue_prettier | ||
xml | ||
yaml | ||
yaml_prettier | ||
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