superlint/test/linters/README.md
Marco Ferrari 11b70102c3
feat!: run linters against the workspace (#5041)
- Run jscpd, gitleaks, textlint  against the entire workspace instead of
  running them over single files, one by one.
- Implement a warning function for deprecated variables.
- Deprecate the VALIDATE_JSCPD_ALL_CODEBASE variable.
- Remove duplicate configuration files when they are the same as the
  ones we provide in TEMPLATES.
- Add a missing tests for ansible-lint.
- Move ANSIBLE_DIRECTORY configuration when running tests in
  buildFileList, where similar configs are.
- Simplify ansible-lint test cases to include only what's necessary, and
  not an entire set of roles, playbooks, and inventory.
- Write instructions about major upgrades in the upgrade guide.
2023-12-24 17:56:15 +01:00

49 lines
1.7 KiB
Markdown

# 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