これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド aet です。
プログラム:
NAME
aegis test - テストの実行
SYNOPSIS
イージス -テスト [ オプション...] [ 名=値 ][ ファイル名...]
イージス -テスト -独立 [ オプション...] [ 名=値 ][ ファイル名...]
イージス -テスト -リスト [ オプション...]
イージス -テスト -ヘルプ
DESCRIPTION
イージス -テスト コマンドはテストを実行するために使用されます。 ファイル名が指定されていない場合は、関連するすべてのテストが実行されます。
実行されます。 デフォルトでは、自動テストと手動テストの両方が実行されます。
コマンドラインでディレクトリに名前を付け、そのディレクトリ内のすべての関連テストに名前を付けることができます。
変更内のツリーが実行されます。 該当するテストがない場合はエラーになります。
各アーキテクチャは個別にテストする必要があります。 微妙な部分があるかもしれないからです
一部のアーキテクチャでのみ明らかにされる問題。 プロジェクトによっては、
アーキテクチャごとに異なるコード。
最後のテスト実行のステータスが記憶されるため、ステータスが存在しない場合はテストは実行されません。
必要。 (これは当てはまりません -回帰 残念ながらテストです。) テストは再実行する必要があります
以前にテストが失敗した場合、テスト ファイルが変更された場合、ビルドがあった場合、
そしてアーキテクチャごとに。
名前=値
あなたが追加することができます 名=値 ペアをコマンドラインに追加すると、これらは変更されずに
テストコマンド。 通常はコマンドラインの最後にありますが、これは
プロジェクト構成ファイル。
-力 このオプションを指定すると、暗黙的な Force=1 変数がリストに追加されます。
変数の割り当てのため、コマンドの最後に追加されます。 これは次のような場合に最も役立ちます。
バッチテストコマンド プロジェクト構成ファイルのフィールド。
これは最初は開発プロセスの最終実行のように見えるかもしれませんが、テスト スクリプトを実行できるようになります。
実際に何もせずにすべての正しい答えが得られるように書かれています。 あなた
これは環境変数を使用して常に実行できるため、これは何も新しいことではありません。
すべての変数の割り当てを取得して環境変数に変換することが可能です
$var を start コマンドの、シェルの名前の前ではなく、
コマンドの最後にあるデフォルトの場所。
File 名前 解釈
aegisプログラムは、ファイル名からプロジェクトファイル名を判別しようとします。
コマンドラインで指定します。 すべてのファイル名は、相対的なものとしてaegisプロジェクト内に保存されます
ベースラインディレクトリツリーのルートに移動します。 開発ディレクトリと
統合ディレクトリはこのベースラインディレクトリの影であるため、これらの相対名
こちらもお申し込みください。 コマンドラインで指定されたファイルは、最初に絶対パスに変換されます
必要であれば。 次に、それらはベースラインパスである開発ディレクトリと比較されます。
パス、およびベースライン相対名を決定するための統合ディレクトリパス。 です
指定されたファイルがこれらのディレクトリツリーのいずれかの外にある場合はエラーになります。
-BAse_RElative オプションを使用すると、相対ファイル名を次のように解釈できます。
ベースラインパスを基準にしています。 絶対ファイル名は引き続きさまざまなファイル名と比較されます
ベースライン相対名を決定するためのパス。
Relative_filename_preference ユーザー構成ファイルで変更するために使用される場合があります
このデフォルトの動作。 見る aeuconf(5)詳細については。
テスト プロセス
それぞれの変更にはテストを伴う必要があり、それらのテストは次のことを行う必要があります。
構築された開発ディレクトリに対して実行され、合格する必要があります。 これにより、新しい
機能にはその正確性を検証するためのテストが伴い、バグ修正は
バグが修正されたことを確認するテストが伴います。
不具合 テスト
テストは他のソース ファイルと同様に扱われ、ベースラインと
他のすべてのソース ファイルとの履歴。 あらゆる変化に伴うテスト
プロジェクトのベースラインに蓄積し、プロジェクトに正しい機能の定義を提供します。
ベースライン。 これらの蓄積されたテストは、「aegis -REGression」コマンドを使用して実行できます。
変更の結果としてプロジェクトが「後退」しないことを確認します。
ベースライン テスト
テストするにはバグ修正が必要です 失敗する プロジェクトのベースラインに対して(対照的に)
開発ディレクトリにコピーします)。 これにより、テストで実際にバグが実証されることが保証されます。
ベースラインで確認するだけでなく、変更によって修正されることも示します。 新しい
機能はベースラインに対して簡単に失敗するため、イージスはそれを試行しません。
テストがバグ修正テストか新機能テストかは、単純にテストが必要であると推測します。
ベースラインに対して失敗します。
この要件は、変更によって作成される新しいテストとテストの両方に適用されます。
変更のために変更にコピーされています。
検討する テスト
査読者は、イージスがテスト要件を強制していると確信しているかもしれません。 それは変化です
テストが必要であること、変更を構築する必要があること、開発に対してテストが合格すること
ディレクトリに保存され、テストがベースラインに対して失敗することがわかります。 これらの条件は強制されます
by エーデ(1) 変更は次の段階には進められません。 さ 日 これらまでの状態
条件は満たされています。 したがって、レビュー担当者は以下のテストをレビューする必要があります。 完全 の範囲の
変更内のコード、および実行環境の変更に対する鈍感さ (例:
日付は重要ではありません)。 レビュー担当者は「aegis -list change_details」も使用して検証する必要があります。
変更にテストの免除があるかどうか。
免除
プロジェクト管理者によってさまざまなテストの免除が許可される場合があります。を参照してください。 アエパ(1)と
アエパット詳細については (5) を参照してください。 テストを変更にコピーする、または新しいテストを変更に追加する
変更した場合、これらの免除が取り消される場合があります。
テスト COMMAND CONFIGURATION
テストの実行に使用されるコマンドは、 テストコマンド プロジェクト内のフィールド
構成ファイル (を参照) aepconf詳細については (5))、デフォルトでは、
設定されていない場合はボーン シェル。 現在のディレクトリは、適切なディレクトリの最上位になります。
ディレクトリツリー。 テストに一時ファイルが必要な場合は、一時ファイルを作成する必要があります。 / tmpに、 として
test は現在のディレクトリに書き込み権限を持つことを期待できません。
単純なシェル スクリプトではなく、より高度なテスト エンジンを使用したい場合は、
ただし、このテスト エンジンは、イージスでの使用に適した結果コードを返しません。
これをシェル スクリプトでラップし、終了ステータスを aegis が期待する値に書き換えます。
より複雑なコードを書いても同じ結果を得ることができます。 テストコマンド セクションに
プロジェクト 設定 ファイルにソフトウェアを指定する必要があります。
複数のファイルをテストできるテスト コマンドを作成することもできます。
一度。 これは次によって制御されます。 バッチテストコマンド プロジェクトの分野 設定 ファイル。 の
この場合、${output} 置換は、テスト コマンドが必要とするファイルの名前を示します。
で作成する エーテスト(5) 実行したテストの結果を含める形式。 これはよく使われます
複数の CPU を備えたシステム、またはジョブを複数のコンピュータに分散する機能
ネットワーク上。
置換
すべての エースサブ(5) テストコマンドでは置換が可能です。 そのうちのいくつかは、
特に注意すべきこと:
建築
この置換は、テスト対象のアーキテクチャの名前に置き換えられます。
検索パス
この置換は、コロンで区切られた絶対パスのリストに置き換えられます。
テスト サポート ファイルを探すときに検索します。
検索パス_実行可能ファイル
この置換は、コロンで区切られた絶対パスのリストに置き換えられます。
実行可能サポート ファイル (ライブラリ ファイルとサブ
コマンド)。
ほとんどの時間 $Search_Path_Executable 全く同じです。 ただし、「aegis -t」の実行中は、
-bl」それらは異なります。 $検索パス 開発ディレクトリ (
テストが実行中)、および $Seach_Path_Executable ベースラインから開始します (実行可能ファイルは
走る)。
ホイール試乗 結果 コード
各テストが実行されるたびに ( テストコマンド プロジェクト内のフィールド 設定 ファイル)、イージス
終了ステータスを見て、テストが成功したか失敗したかを判断します。 この出口
ステータスは、UNIX コマンドで予期されるとおりです。
ご注文完了
テストは成功を示すために 0 で終了する必要があります。つまり、テスト中の特定の関数が終了したことを示します。
期待どおりに機能しました。
不良解析
テストは失敗を示すために 1 で終了する必要があります。つまり、テスト中の特定の機能が失敗したことを示します。
期待どおりに機能しませんでした。
検索結果はありません
テストは結果がないことを示すために 2 で終了する必要があります。 すなわち 特定の機能が
他の問題が発生したため、テストを実行できませんでした。 たとえば、ランニング
にテスト入力ファイルを作成するときにディスク容量が不足します。 / tmpに ディレクトリにあります。
スキップ
テストはスキップされたことを示すために 77 で終了する必要があります。 これは通常、次のことと関係があります
現在のアーキテクチャは意味がありません。 可能な限り「結果なし」を使用してください
その代わり。 (この値は、他のテスト システムとの互換性を考慮して選択されました。)
実際には、0、1、または 77 以外の終了コードは「結果なし」として解釈されます。
ただし、常に 0、1、2、または 77 を使用することは、新しい結果コードが必要な場合に、
Aegis の今後のリリースでも、既存のテストは引き続き機能します。
テスト 相関関係
「aegis -Test -SUGgest」コマンドは、aegis に適切な回帰を提案させるために使用できます。
変更内のソース ファイルに基づいて、変更をテストします。 これは自動的に
テスト作業を関連テストに集中させ、回帰テストの数を削減します。
バグが持ち込まれていないことを確信する必要があります。
テスト相関は「aegis -Integrate_Pass」コマンドによって生成されます。
変更内の各テストを変更内の各ソース ファイルに関連付けます。 したがって、それぞれの
ソース ファイルには、過去に関連付けられたテストのリストが蓄積されます。
これはコード カバレッジ分析ほど正確ではありませんが、妥当な近似値です。
練習。
acp(1)と アーエンフ(1) コマンドは、ファイルを変更に関連付けるために使用されます。 彼らがいる間、
積極的に関連付けを実行しません。これらは、によって使用されるファイルです。 アイパス(1)と
食べる(1) どのソース ファイルがどのテストに関連付けられているかを判断します。
ホイール試乗 相関 正確さ
テストの相関関係が正確で、テストが均等であると仮定します。
関数空間全体に分散すると、 1/数値 チャンスがある
関連するテストは「aegis -Test -SUGgest」によって実行されていません 数" 指図。 小さな
テストの重み付けにノイズが追加されるため、予期しないことが発生することがあります。
同じテストが毎回実行されるわけではありません。
テスト相関の精度は、以下を確保することで向上できます。
· それぞれの変更は、不必要なファイルを含めることなく、重点を置く必要があります。 これ
偽の相関関係を回避します。
· 新しい機能の各項目は、個別の変更として追加する必要があります。
いくつか一緒に。 これにより、テストと機能が強く相関します。
· 各バグは、複数の変更をまとめて修正するのではなく、個別の変更で修正する必要があります。 これ
テストと機能には強い相関関係があります。
· ファイルを移動すると、テストの相関関係が失われます。 これは、相関関係が
名前。
テストがソース ファイルと正確に関連付けられる最善の方法は、変更が加えられたときです。
テストと、テスト対象の機能に関連する正確なファイルが含まれています。 それも
偽のファイルが多数あると、相関関係のテストの有用性が弱まります。
OPTIONS
次のオプションが理解されます。
-自動
このオプションは自動テストを指定するために使用できます。 自動テストには何も必要ありません
人間の援助。
-ベースライン
このオプションは、プロジェクトのベースラインが対象であることを指定するために使用できます
コマンド。
-BAse_RElative
このオプションを使用すると、相対ファイル名が相対ファイル名と見なされるようになります。
ソースツリーのベース。 見る aeuconf(5)対応するユーザーの場合
好み。
-CURRENT_RElative
このオプションを使用すると、相対ファイル名が相対ファイル名と見なされるようになります。
現在のディレクトリ。 これは通常、デフォルトです。 見る aeuconf(5)
対応するユーザー設定。
-変化する 数
このオプションは、プロジェクト内の特定の変更を指定するために使用できます。 見る
イージス(1)このオプションの完全な説明。
-力 このオプションは、たとえ
最後のテスト実行のステータスは、特定のテストを実行する必要がないことを示しています。
テスト。
-ヘルプ
このオプションは、使用方法に関する詳細情報を取得するために使用できます。 イージス
プログラム。
-独立
このオプションは、テストが何から独立して実行されるかを指定するために使用されます。
特別な変化。 テストに名前が指定されていない場合は、ベースライン内のすべてのテストが実行されます。
-リスト
このオプションは、このコマンドに適したサブジェクトのリストを取得するために使用できます。
リストは予想よりも一般的かもしれません。
-マニュアル このオプションは手動テストを指定するために使用できます。 手動テストには人間によるテストが必要です
介入、例: 何らかの画面動作 (X11 など) の確認、または
何らかのユーザーアクション、「今すぐイーサネットケーブルを抜く」。
-Not_Logging
このオプションは、出力とエラーの自動ログを無効にするために使用できます。
ファイル。 これは、複数のaegisコマンドがシェルで組み合わされている場合に便利です。
スクリプト。
-粘り強く
このオプションは、たとえ一部のテストが実行されても、すべてのテストを実行するように指定するために使用できます。
失敗。 デフォルトはユーザーのもの 永続的な好み 指定されていない場合は、を参照してください。
aeuconf(5)詳細については。
-No_PEsevere
このオプションは、最初の実行後にテスト実行を停止するように指定するために使用できます。
失敗。 デフォルトはユーザーのもの 永続的な好み 指定されていない場合は、を参照してください。
aeuconf(5)詳細については。
-事業 名
このオプションは、関心のあるプロジェクトを選択するために使用できます。 いいえの場合 -事業
オプションが指定されている場合、 AEGIS_PROJECT 環境変数が参照されます。 もしも
それは存在しません、ユーザーの $ HOME / .aegisrc ファイルはデフォルトで検査されます
プロジェクトフィールド(を参照) aeuconf(5)詳細については)。 それが存在しない場合は、
ユーザーが単一のプロジェクト内の変更のみに取り組んでいる場合、プロジェクト
nameのデフォルトはそのプロジェクトです。 それ以外の場合はエラーです。
-進捗
このオプションは、進行状況メッセージを事前に発行するように指定するために使用できます。
各テストの実行、または場合によっては各バッチ テストの実行前 バッチテストコマンド フィールド
プロジェクトで指定された 設定 ファイル(を参照) aeuconf詳細については (5) を参照してください)。
-No_PROGress
このオプションは、進行状況メッセージを抑制するように指定するために使用できます。
これがデフォルトです。
-回帰
このオプションは、回帰テスト スイートを実行することを指定するために使用されます。 の
回帰テスト スイートは、ベースライン内の表示されないすべてのテストで構成されます。
変化の中で。 回帰テストがない場合はエラーになります。 できません
-REGression オプションを使用する場合、コマンド ラインで name テストが行われます。 あなたは名前を付けることができます
-REGression を使用せずに、コマンド ラインで実行される個々のテスト
オプション; それらが変更の一部ではない場合、同じ名前のテストが
ベースラインが実行されます。
-提案 [ 数 ]
「イージス -Integrate_Pass」コマンドは、次の場合にテスト相関統計を収集します。
変更は統合されます。 このオプションは、イージスが提案するように要求するために使用できます。
これらのテストの相関関係を使用して、どのテストを実行する必要があるかを決定します。 番号がない場合は、
指定すると、10 個のテストが提案されます。 このオプションは、 -回帰
オプションを選択します。
-SUGgest_Limit 分
このオプションは、テストの数を特定の数に制限するために使用できます。
分。 関連性の高いものから最も関連性の低いものへ順に実行されます。
-SUGgest_Noise 数
このオプションは、テストに注入されるノイズの量を制御するために使用できます。
によって実行される選択 -提案 オプション。 数値はノイズの割合です
注射されること。 指定しない場合、デフォルトは 10 です。 ノイズの注入により、
後続のランではさまざまなテストが実行され、一部はレフトフィールドからも実行される
健全性チェックとして。
-簡潔
このオプションを使用して、リストに最低限の
情報。 これは通常、シェルスクリプトに役立ちます。
-詳細
このオプションは、aegisがより多くの出力を生成するようにするために使用できます。 デフォルトではイージス
エラー時にのみ出力を生成します。 と一緒に使用する場合 -リスト オプションこのオプション
列見出しが追加されます。
-待って このオプションは、アクセスロックを待機するようにAegisコマンドを要求するために使用できます。
すぐに入手することはできません。 デフォルトはユーザーのものです ロック待機設定
指定されていない場合は、を参照してください。 aeuconf(5)詳細については。
-いいえ_お待ちください
このオプションは、アクセス時に致命的なエラーを発行するようにAegisコマンドを要求するために使用できます
ロックをすぐに取得することはできません。 デフォルトはユーザーのものです
ロック待機設定 指定されていない場合は、を参照してください。 aeuconf(5)詳細については。
参照 イージス(1)すべてのaegisコマンドに共通のオプション。
すべてのオプションは省略できます。 略語は大文字として文書化されていますが、
すべての小文字とアンダースコア(_)はオプションです。 連続して使用する必要があります
オプションの文字のシーケンス。
すべてのオプションでは大文字と小文字が区別されません。大文字または小文字、あるいは
両方の組み合わせ、ケースは重要ではありません。
例:引数「-project」、「-PROJ」、「-p」はすべて、
-事業 オプション。 引数「-prj」は連続しているため理解できません
オプションの文字は提供されませんでした。
オプションおよびその他のコマンドライン引数は、コマンドラインで任意に混在させることができます。
関数セレクターの後。
GNUの長いオプション名は理解されています。 すべてのオプション名が イージス 長いです、
これは、余分な先頭の「-」を無視することを意味します。 NS "--オプション=値「コンベンションも
理解した。
推奨 ALIAS
このコマンドの推奨エイリアスは次のとおりです。
csh% エイリアス aet 'aegis -t \!* -v'
sh$ aet(){aegis -t "$@" -v}
エラー
変更がいずれかにない場合はエラーです。 さ 発展した or さ 統合された
状態。
変更が現在のユーザーに割り当てられていない場合はエラーになります。
関連するテストや免除がない場合はエラーになります。
EXIT ステータス
イージス コマンドは、エラーが発生するとステータス1で終了します。 NS イージス コマンドはのみ
エラーがない場合は、ステータス0で終了します。
ENVIRONMENT 変数
見る イージス(1)このコマンドに影響を与える可能性のある環境変数のリスト。 見る
aepconf(5)プロジェクト構成ファイルの場合 プロジェクト固有 設定方法のフィールド
Aegisによって実行されるすべてのコマンドの環境変数。
onworks.net サービスを使用してオンラインで aet を使用する