lint/test/linters/README.md
George L. Yermulnik 417a58a62d
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
fix: skip symbolic links when passing files to prettier (#6620)
Skip symbolic links when passing files to Prettier

- Fix #6378
- [`lib/functions/detectFiles.sh`]: Add `IsNotSymbolicLink()` function
  to check whether provided file is symbolic link or not
- [`lib/functions/buildFileList.sh`]: Use `IsNotSymbolicLink()` function
  to not add files that are symbolic links to the file array for
  Prettier
- [`test/lib/detectFilesTest.sh`]: Add test for `IsNotSymbolicLink()`
  function
- Add `test/linters/prettier/test_symlink_good.md` file symlinked into parent
  dir's `README.md` to test it is skipped from Prettier (also exclude
  its directory from JSCPD to suppress error about cloned content)
2025-03-05 13:33:32 +00:00

1.8 KiB

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

  • symboliclinks/notSymbolicLink is not a symbolic link
  • symboliclinks/symbolicLink is a symbolic link