# извлечение теста

\[Сантехника] Создайте набор данных для тестового каталога.

> \[!NOTE]
> Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье <https://github.com/github/codeql-cli-binaries/releases>.
>
> Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с <span style="white-space: nowrap;">`--help`</span> параметром в терминале.

## Synopsis

```shell copy
codeql test extract [--print-database] [--source-root=<dir>] <options>... -- <testDirectory>
```

## Description

```
          \[Сантехника] Создание набора данных для тестового каталога.
```

Создайте базу данных для указанного тестового каталога без фактического выполнения тестовых запросов. Выводит путь к необработанному набору данных QL для выполнения тестовых запросов.

## Options

### Основные параметры

#### `<testDirectory>`

```
          \[Обязательный] Путь к тестовой папке.
```

#### `--database=<dir>`

Переопределите расположение создаваемой базы данных. По умолчанию это будет подкаталог, имя которого является производным от имени самого тестового каталога с добавлением ".testproj".

#### `-D, --print-database`

Распечатайте путь к созданной базе данных, а не набор данных внутри него.

#### `-s, --source-root=<dir>`

```
          \[Дополнительно] Корневой каталог исходного кода, если отличается от тестового каталога.
```

#### `--search-path=<dir>[:<dir>...]`

Список каталогов, в которых можно найти пакеты средств извлечения. Каталоги могут быть пакетами средств извлечения сами или каталоги, содержащие извлекатели в качестве непосредственных подкаталогов.

Если путь содержит несколько деревьев каталогов, их порядок определяет приоритет между ними: если целевой язык совпадает с несколькими деревьями каталогов, то один из первых выигрывает.

Средства извлечения, упакованные с цепочкой инструментов CodeQL, всегда будут найдены, но если вам нужно использовать отдельные распределенные извлекатели, необходимо предоставить этот параметр (или, еще лучше, настроить `--search-path` в файле конфигурации для каждого пользователя).

(Примечание. В Windows разделитель путей имеет значение `;`).

#### `--cleanup`

Удалите тестовую базу данных вместо ее создания.

#### `--[no-]show-extractor-output`

```
          \[Дополнительно] Отображение выходных данных из скриптов извлечения, создающих тестовые базы данных. Это может быть полезно при разработке или редактировании тестовых вариантов.
```

Убедитесь, что это может привести к повторяющимся или неправильно сформированным выходным данным, если вы используете это с несколькими потоками!

#### `--[no-]check-undefined-labels`

```
          \[Дополнительно] Сообщить об ошибках для неопределенных меток.
```

#### `--[no-]check-unused-labels`

```
          \[Дополнительно] Сообщить об ошибках для неиспользуемых меток.
```

#### `--[no-]check-repeated-labels`

```
          \[Дополнительно] Сообщить об ошибках для повторяющихся меток.
```

#### `--[no-]check-redefined-labels`

```
          \[Дополнительно] Сообщить об ошибках для переопределенных меток.
```

#### `--[no-]check-use-before-definition`

```
          \[Дополнительно] Сообщить об ошибках для меток, используемых перед их определением.
```

#### `--[no-]fail-on-trap-errors`

```
          \[Дополнительно] Выход ненулевых, если ошибка возникает во время импорта ловушки.
```

#### `--[no-]include-location-in-star`

```
          \[Дополнительно] Создание идентификаторов сущностей, кодируемых расположением в файле TRAP, из который они были получены. Может быть полезно для отладки генераторов TRAP, но занимает много места в наборе данных.
```

#### `--[no-]linkage-aware-import`

```
          \[Дополнительно] Определяет, поддерживается ли [импорт](/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import) набора данных codeql с учетом _компоновки (по умолчанию)._ В проектах, где эта часть создания базы данных потребляет слишком много памяти, отключение этого параметра может помочь им выполняться за счет полноты базы данных.
```

Доступно с момента `v2.15.3`.

#### `--format=<fmt>`

Выберите выходной формат либо (по умолчанию),\_ либо `text`\_`json`.

### Распространенные параметры

#### `-h, --help`

Отображение этого текста справки.

#### `-J=<opt>`

```
          \[Дополнительно] Укажите параметр JVM, выполняя команду.
```

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

#### `-v, --verbose`

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

#### `-q, --quiet`

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

#### `--verbosity=<level>`

```
          \[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет `-v` и `-q`.
```

#### `--logdir=<dir>`

```
          \[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.
```

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте `--log-to-stderr` и перенаправите stderr по мере необходимости.)

#### `--common-caches=<dir>`

```
          \[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем `.codeql` в домашнем каталоге пользователя; он будет создан, если он еще не существует.
```

Доступно с момента `v2.15.2`.