174 lines
4.8 KiB
Markdown
174 lines
4.8 KiB
Markdown
---
|
|
title: test extract
|
|
versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖
|
|
fpt: '*'
|
|
ghec: '*'
|
|
ghes: '*'
|
|
topics:
|
|
- Code Security
|
|
- Code scanning
|
|
- CodeQL
|
|
type: reference
|
|
product: '{% data reusables.gated-features.codeql %}'
|
|
autogenerated: codeql-cli
|
|
intro: '[Plumbing] Build a dataset for a test directory.'
|
|
redirect_from:
|
|
- /code-security/codeql-cli/manual/test-extract
|
|
---
|
|
|
|
<!-- markdownlint-disable GHD053 -->
|
|
|
|
<!-- markdownlint-disable GHD030 -->
|
|
|
|
<!-- Content after this section is automatically generated -->
|
|
|
|
{% data reusables.codeql-cli.man-pages-version-note %}
|
|
|
|
## Synopsis
|
|
|
|
```shell copy
|
|
codeql test extract [--source-root=<dir>] <options>... -- <testDirectory>
|
|
```
|
|
|
|
## Description
|
|
|
|
\[Plumbing] Build a dataset for a test directory.
|
|
|
|
Build a database for a specified test directory, without actually
|
|
running any test queries. Outputs the path to the raw QL dataset to
|
|
execute test queries against.
|
|
|
|
## Options
|
|
|
|
### Primary Options
|
|
|
|
#### `<testDirectory>`
|
|
|
|
\[Mandatory] The path to the test directory.
|
|
|
|
#### `--database=<dir>`
|
|
|
|
Override the location of the database being created. By default it will
|
|
be a subdirectory whose name is derived from the name of the test
|
|
directory itself with '.testproj' appended.
|
|
|
|
#### `-s, --source-root=<dir>`
|
|
|
|
\[Advanced] The root source code directory, if different from the test
|
|
directory.
|
|
|
|
#### `--search-path=<dir>[:<dir>...]`
|
|
|
|
A list of directories under which extractor packs may be found. The
|
|
directories can either be the extractor packs themselves or directories
|
|
that contain extractors as immediate subdirectories.
|
|
|
|
If the path contains multiple directory trees, their order defines
|
|
precedence between them: if the target language is matched in more than
|
|
one of the directory trees, the one given first wins.
|
|
|
|
The extractors bundled with the CodeQL toolchain itself will always be
|
|
found, but if you need to use separately distributed extractors you need
|
|
to give this option (or, better yet, set up `--search-path` in a
|
|
per-user configuration file).
|
|
|
|
(Note: On Windows the path separator is `;`).
|
|
|
|
#### `--cleanup`
|
|
|
|
Remove the test database instead of creating it.
|
|
|
|
#### `--[no-]show-extractor-output`
|
|
|
|
\[Advanced] Show the output from extractor scripts that create test
|
|
databases. This can be useful while developing or editing test cases.
|
|
Beware that it can cause duplicated or malformed output if you use this
|
|
with multiple threads!
|
|
|
|
#### `--[no-]check-undefined-labels`
|
|
|
|
\[Advanced] Report errors for undefined labels.
|
|
|
|
#### `--[no-]check-unused-labels`
|
|
|
|
\[Advanced] Report errors for unused labels.
|
|
|
|
#### `--[no-]check-repeated-labels`
|
|
|
|
\[Advanced] Report errors for repeated labels.
|
|
|
|
#### `--[no-]check-redefined-labels`
|
|
|
|
\[Advanced] Report errors for redefined labels.
|
|
|
|
#### `--[no-]check-use-before-definition`
|
|
|
|
\[Advanced] Report errors for labels used before they're defined.
|
|
|
|
#### `--[no-]fail-on-trap-errors`
|
|
|
|
\[Advanced] Exit non-zero if an error occurs during trap import.
|
|
|
|
#### `--[no-]include-location-in-star`
|
|
|
|
\[Advanced] Construct entity IDs that encode the location in the TRAP
|
|
file they came from. Can be useful for debugging of TRAP generators, but
|
|
takes up a lot of space in the dataset.
|
|
|
|
#### `--[no-]linkage-aware-import`
|
|
|
|
\[Advanced] Controls whether [codeql dataset import](/code-security/codeql-cli/codeql-cli-manual/dataset-import) is linkage-aware _(default)_ or not. On projects where this part of database creation
|
|
consumes too much memory, disabling this option may help them progress
|
|
at the expense of database completeness.
|
|
|
|
Available since `v2.15.3`.
|
|
|
|
#### `--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.)
|
|
|
|
#### `--common-caches=<dir>`
|
|
|
|
\[Advanced] Controls the location of cached data on disk that will
|
|
persist between several runs of the CLI, such as downloaded QL packs and
|
|
compiled query plans. If not set explicitly, this defaults to a
|
|
directory named `.codeql` in the user's home directory; it will be
|
|
created if it doesn't already exist.
|
|
|
|
Available since `v2.15.2`.
|