# テストデータ抽出

\[プラミング] テスト ディレクトリのデータセットを作成します。

> \[!NOTE]
> このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 <https://github.com/github/codeql-cli-binaries/releases> をご覧ください。
>
> 以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで <span style="white-space: nowrap;">`--help`</span> オプションを指定してコマンドを実行してください。

## 概要

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

## Description

```
          \[プラミング] テスト ディレクトリのデータセットを作成します。
```

テスト クエリを実際に実行せずに、指定したテスト ディレクトリのデータベースを構築します。 テスト クエリを実行する生の QL データセットへのパスを出力します。

## オプション

### 主なオプション

#### `<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`

```
          \[詳細設定] トラップのインポート中にエラーが発生した場合、0 以外で終了します。
```

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

```
          \[詳細設定] 元の TRAP ファイル内の場所をエンコードするエンティティ ID を構築します。 TRAP ジェネレーターのデバッグに役立つ場合がありますが、データセット内で多くの領域を占有します。
```

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

```
          \[詳細設定] [codeql データセットのインポート](/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import)がリンケージ対応 _(既定)_ かどうかを制御します。 データベース作成のこの部分で消費されるメモリが多すぎるプロジェクトでは、このオプションを無効にすると、データベースの完全性が犠牲になりますが、進行しやすくなる場合があります。

          `v2.15.3` 以降で使用できます。
```

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

出力形式 (`text`*(既定値)* または `json`) を選びます。

### 共通オプション

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

このヘルプ テキストを表示します。

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

```
          \[詳細設定] コマンドを実行している JVM にオプションを指定します
```

(スペースを含むオプションは正しく処理されないことに注意してください)。

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

出力される進行状況メッセージの数を段階的に増やします。

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

出力される進行状況メッセージの数を段階的に減らします。

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

```
          \[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 
          `-v` と `-q` がオーバーライドされます。
```

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

```
          \[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます
```

(完全に制御できる名前でログ ファイルを書き込むには、代わりに `--log-to-stderr` を指定し、必要に応じて stderr をリダイレクトします)。

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

```
          \[[詳細設定] ダウンロードした QL パックやコンパイル済みクエリ プランなど、CLI の複数の実行間に保持される、ディスク上でキャッシュされたデータの場所を制御します。 明示的に設定されない場合、デフォルトではユーザーのホーム ディレクトリに名前が付けられた `.codeql` ディレクトリになります。まだ存在しない場合は作成されます。

          `v2.15.2` 以降で使用できます。
```