Skip to main content

resolve tests

[ディープ プラミング] 特定のディレクトリで QL 単体テストを検索します。

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

CodeQL は、次の種類のリポジトリで使用できます:

この記事の内容

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

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

構文

Shell
codeql resolve tests <options>... -- <test|dir>...

説明

[ディープ プラミング] 特定のディレクトリで QL 単体テストを検索します。

このプラミング コマンドには、QL 単体テストを実行するサブコマンドのコマンドライン パラメーターを、実行する個々の .ql と .qlref ファイルの実際のリストに拡張する役割があります。

[オプション]

主なオプション

<test|dir>...

各引数は、次のいずれかです。

  • 実行するテストを定義する .ql または .qlref ファイル。
  • 実行するテストを再帰的に検索するディレクトリ。

--slice=<N/M>

[詳細設定] テスト ケースをほぼ同じサイズの M 個のスライスに分割し、そのうちの N 番目のみを処理します。 これは、テスト プロセスの手動による並列化に使用できます。

--[no-]strict-test-discovery

[詳細設定] テストとして明確に識別できるクエリのみを使用します。 このモードでは、単体テストを定義する .ql ファイルと、有用なクエリを意図した .ql ファイルを区別しようとします。 このオプションは、ディレクトリ ツリー内のファイルがどのように配置されているかが事前にわからなくても、ディレクトリ ツリー内のすべての単体テストを識別する必要がある IDE などのツールで使用されます。

qlpack.ymltests ディレクトリを宣言する QL パック内では、そのディレクトリ内のすべての .ql ファイルがテストと見なされ、そのディレクトリの外部にある .ql ファイルは無視されます。 tests ディレクトリを宣言しない QL パックでは、対応する .expected ファイルがある場合にのみ、.ql ファイルがテストとして識別されます。

一貫性を保つために、.qlref ファイルが実際にはテストではないファイルにできない場合でも、.qlref ファイルは .ql ファイルと同じ規則によって制限されます。

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