1
0
mirror of synced 2025-12-21 02:46:50 -05:00
Files
docs/content/code-security/codeql-cli/codeql-cli-manual/resolve-tests.md

110 lines
3.0 KiB
Markdown

---
title: resolve tests
versions:
fpt: '*'
ghae: '*'
ghec: '*'
ghes: '*'
topics:
- Advanced Security
- Code scanning
- CodeQL
type: reference
product: '{% data reusables.gated-features.codeql %}'
autogenerated: codeql-cli
intro: '[Deep plumbing] Find QL unit tests in given directories.'
redirect_from:
- /code-security/codeql-cli/manual/resolve-tests
---
<!-- Content after this section is automatically generated -->
{% data reusables.codeql-cli.man-pages-version-note %}
## Synopsis
```shell copy
codeql resolve tests <options>... -- <test|dir>...
```
## Description
\[Deep plumbing] Find QL unit tests in given directories.
This plumbing command is responsible for expanding the command-line
parameters of subcommands that run QL unit tests, to an actual list of
individual .ql and .qlref files to execute.
## Primary options
#### `<test|dir>...`
Each argument is one of:
- A `.ql` or `.qlref` file that defines a test to run.
- A directory which will be searched recursively for tests to run.
#### `--slice=<N/M>`
\[Advanced] Divide the test cases into _M_ roughly equal-sized slices
and process only the _N_th of them. This can be used for manual
parallelization of the testing process.
#### `--[no-]strict-test-discovery`
\[Advanced] Only use queries that can be strongly identified as tests.
This mode tries to distinguish between `.ql` files that define unit
tests and `.ql` files that are meant to be useful queries. This option
is used by tools, such as IDEs, that need to identify all unit tests in
a directory tree without depending on previous knowledge of how the
files in it are arranged.
Within a QL pack whose `qlpack.yml` declares a `tests` directory, all
`.ql` files in that directory are considered tests, and `.ql` files
outside it are ignored. In a QL pack that doesn't declare a `tests`
directory, a `.ql` file is identified as a test only if it has a
corresponding `.expected` file.
For consistency, `.qlref` files are limited by the same rules as `.ql`
files even though a `.qlref` file cannot really be a non-test.
#### `--format=<fmt>`
Select output format, either `text` _(default)_ or `json`.
### Common options
#### `-h, --help`
Show this help text.
#### `-J=<opt>`
\[Advanced] Give option to the JVM running the command.
(Beware that options containing spaces will not be handled correctly.)
#### `-v, --verbose`
Incrementally increase the number of progress messages printed.
#### `-q, --quiet`
Incrementally decrease the number of progress messages printed.
#### `--verbosity=<level>`
\[Advanced] Explicitly set the verbosity level to one of errors,
warnings, progress, progress+, progress++, progress+++. Overrides `-v`
and `-q`.
#### `--logdir=<dir>`
\[Advanced] Write detailed logs to one or more files in the given
directory, with generated names that include timestamps and the name of
the running subcommand.
(To write a log file with a name you have full control over, instead
give `--log-to-stderr` and redirect stderr as desired.)