Skip to main content

test extract

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

この機能を使用できるユーザーについて

GitHub CodeQL は、インストール時にユーザーごとにライセンスされます。 CodeQL は、ライセンスの制限の下で特定のタスクでのみ使用できます。 詳しくは、「CodeQL CLI について」を参照してください。

GitHub Advanced Security ライセンスがある場合は、CodeQL を使用して、自動分析、継続的インテグレーション、継続的デリバリーを行うことができます。 詳しくは、「GitHub Advanced Security について」を参照してください。

この記事の内容

このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 https://github.com/github/codeql-cli-binaries/releases をご覧ください。

以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで --help オプションを指定してコマンドを実行してください。

構文

Shell
codeql test extract <options>... -- <testDir>

説明

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

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

[オプション]

主なオプション

<testDir>

[必須] テスト ディレクトリへのパス。

--database=<dir>

作成するデータベースの場所をオーバーライドします。 既定では、テスト ディレクトリ自体の名前に '.testproj' が追加された名前を持つサブディレクトリです。

--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 データセットのインポートがリンケージ対応 (既定) かどうかを制御します。 データベース作成のこの部分で消費されるメモリが多すぎるプロジェクトでは、このオプションを無効にすると、データベースの完全性が犠牲になりますが、進行しやすくなる場合があります。

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 以降で使用できます。