| 開発者 | GNU プロジェクト |
|---|---|
| 安定リリース | 1.6.3 [1]
/ 2021年6月16日 |
| リポジトリ |
|
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | GNU |
| タイプ | テストのフレームワーク |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | www.gnu.org/software/dejagnu |
DejaGnuは、他のプログラムをテストするためのソフトウェア フレームワークです。このフレームワークには、ディレクトリを調べて構成ファイルを調べ、指定された基準でいくつかのテストを実行するruntestというメインスクリプトがあります。DejaGnu パッケージの目的は、すべてのテストに単一のフロントエンドを提供することです。これはGNU プロジェクトの一部であり、 GPLでライセンスされています。これはExpectに基づいており、Expect はTclに基づいています。現在のメンテナーはRob Savoyeと Ben Elliston です。
テスト
DejaGnu はTclベースであるため、テストにおいて非常に強力な実績があります。Tcl は、 OracleやSybaseなどの企業で自社製品のテストに広く使用されています。[引用が必要] DejaGnu を使用すると、この作業をさらに構造化できます。
テストは、テスト対象のツールごとにグループ化できます。テストは、ルート プロジェクト ディレクトリで runtest を呼び出すだけで実行されます。
runtest --tool テストするプログラム
これにより、 testsuiteディレクトリ内でprogram_to_testで始まるフォルダーが検索され、そのフォルダー内のすべての .exp ファイルが実行されま す。
組み込み設計
DejaGnu が特に適している分野[要出典]の 1 つは、組み込みシステムの設計です。DejaGnu を使用すると、開発ボード上でリモートでテストを実行できます。また、各オペレーティング システムとボードごとに個別の初期化ファイルを作成できます。 [要説明]これは主に組み込みターゲットとリモート ホストに焦点を当てています。そのため、DejaGnu は多くの GNU プロジェクトで人気があり、[要説明]大学や民間企業でも使用されています。
ファイル
必須ファイル
- テストスイート
- Apacheテストスイート内の各ディレクトリには、特定のツールのテストが含まれている必要があります。この例では、テスト対象のツールはApache Web サーバーです。
- Apache.test1.exp これは、架空のケースでは構成オプションを変更し、ネットワークに接続して変更が有効になっているかどうかを確認するテストを含むファイルになります。
- 設定
- unix.exp
- ライブラリ
- toolname .expこのファイルは、 toolnameというツールのツール初期化ファイルとして実行されます。
- Apacheテストスイート内の各ディレクトリには、特定のツールのテストが含まれている必要があります。この例では、テスト対象のツールはApache Web サーバーです。
その他のファイル
- site.expこのファイルは、 runtest のディレクトリ固有の構成ファイルです。オプションは、呼び出しごとに再入力するのではなく、このファイルに配置できます。これらのオプションには、コマンドライン引数として渡される任意の変数を含めることができます。
set tool Apache #Apacheでテストを実行する set srcdir ./testsuite #テストファイルはここを参照 set outdir ./logs #ログを別のディレクトリに保存する set all 1 #すべてのテストの結果を表示する(エラーのあるものだけでなく)
- .dejagnurc これは個人用の設定ファイルであり、ユーザーのホームディレクトリ(〜/.dejagnurc)に配置する必要があります。
- global_config.expこれは最初に読み込まれる設定ファイルです。任意の名前を付けることができますが、$DEJAGNU環境変数(ターミナルの読み込み時に設定されます) によって指定される必要があります。
参考文献
- ^ Jacob Bachmeyer (2021年6月17日). 「DejaGnu 1.6.3 リリース」 . 2021年7月2日閲覧。
外部リンク
- DejaGnu ホームページ
- DejaGnu チュートリアル (リンク切れ: https://www.gnu.org/software/dejagnu/manual/index.html が存在するため廃止されています)
- DejaGnu バグアーカイブ
