問題タブ [ctest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dependencies - CMake&CTest:maketestはテストをビルドしません
ターゲットを使用してテストの一部を自動的に実行するために、CMakeでCTestを試していますmake test
。問題は、CMakeがプロジェクトの一部であるため、実行しようとしているテストをビルドする必要があることを「理解」していないことです。
したがって、この依存関係を明示的に指定する方法を探しています。
testing - CMakeとCTestを使用して引数を提供する方法は?
CTestを使用して実行するテストでは、次のコマンドを使用して、実行するテストを追加する必要があります。
問題は、TestNameに引数を指定したい場合、どこに配置すればよいかということです。このコンテキストでunixコマンドラインでcmakeを使用せずにctestを個別に実行するにはどうすればよいですか?
cmake - CMakeCTestはテスト名の切り捨てを防ぎます
現在CTestを実行していますが、長い名前でテストするという問題があります。例えば:
次のようなものに切り捨てられます
テスト名は約31文字に切り捨てられているようです。どうすればこれを変更できますか?
ありがとう
cmake - 複数のコマンドを使用したCTest
CTestを使用していくつかのテストを作成しています。通常、次の行だけでテストを設定できます。
ただし、問題が発生しました。テストを実行するには2つのコマンドを実行する必要があります。また、1つのctest内で2つのプログラムを実行する方法はありますか、または新しいテストを作成する必要があります。それぞれをテストしますか?
ありがとうございました。
dependencies - CMake と CTest: ターゲットを "Nightly" にして実際にテストをビルドする方法
ここで説明したように、make "test" を実行してもテストがビルドされないことはよく知られている問題です。示唆されているように、問題は人工的なターゲット「チェック」で部分的に解決できます。「make Nightly」を呼び出したときにテストのビルドを強制する方法を知りたいです。
私がこれまでに行ったこと:
「make check」はビルドしてテストを実行しますが、「make Nightly」は
- テストをビルドします
- リポジトリを CTEST_NIGHTLY_START_TIME に更新します
- 他のすべてのターゲットをビルドします
- (現在は古い) テストを実行します
cmake - 単体テストを cmake と ctest に適合させるにはどうすればよいですか?
これまで、即席の単体テスト手順を使用してきました。基本的には、バッチ ファイルによって自動的に実行される単体テスト プログラムの全負荷です。これらの多くは結果を明示的にチェックしますが、より多くの不正行為があります - バージョン管理されたテキスト ファイルに結果をダンプします。テスト結果の変更は、Subversion によってフラグが付けられ、変更内容を簡単に特定できます。テストの多くは、出力を視覚的に表現できるように、ドット ファイルまたはその他の形式で出力します。
問題は、cmake の使用に切り替えていることです。cmake フローを使用するということは、アウト オブ ソース ビルドを使用することを意味します。つまり、結果を共有ソース/ビルド フォルダーにダンプし、それらをソースと一緒にバージョン管理するという利便性は実際には機能しません。
代わりに、期待される結果のファイル (ソース ツリー内) を見つける場所を単体テスト ツールに指示し、比較を行うようにします。失敗した場合は、実際の結果と差分リストを提供する必要があります。
これは可能ですか、それともまったく別のアプローチを取る必要がありますか?
明らかに、ctest を無視して、私が常に行ってきたことをアウト オブ ソース ビルドに適応させることができます。たとえば、すべてのビルドがライブであるフォルダーをバージョン管理できます (もちろん、「無視」を自由に使用して)。それは正気ですか?おそらくそうではありません。ビルドごとに、期待される結果の個別のコピーが作成されるためです。
また、cmake/ctest を使用して単体テストを行うための推奨される方法についてのアドバイスもありがたく受け取りました。cmake が悪いからではなく、cmake の最適な操作方法を理解していなかったために、cmake でかなりの時間を無駄にしました。
編集
最終的に、単体テストの cmake/ctest 側をできるだけシンプルに保つことにしました。期待される結果に対して実際の結果をテストするために、ライブラリで次の関数のホームを見つけました...
典型的な単体テストは次のようになります...
再利用可能なデータ ダンプ関数が必要な場合は、 type のパラメーターを使用するstd::ostream&
ため、実際の結果ストリームにダンプできます。
cmake - CTEST_CUSTOM_PRE_TEST をどのように使用しますか?
すべてのドキュメントを検索しましたが、CTEST_CUSTOM_PRE_TEST の使用例が 1 つも見つからないようです。
基本的に、テストを実行する前に、サーバー上でいくつかのコマンドを開始して実行する必要があります。そのため、いくつかの事前テスト手順を追加する必要があります。CTEST_CUSTOM_PRE_TEST の構文は何ですか?
CTEST_CUSTOM_PRE_TEST( ??? ここに何を入れるか ??? ) ADD_TEST(MyTest MyTestCommand)
qt - CMake で Qt テストをビルドする
CmakeでビルドしてCTestで実行したQTテストコードとCMakeLists.txtの例を教えてください。見つからないようです!
-カーティス
ctest - CTest ビルド ID が設定されていません
自動ビルドとテストの投稿を受け入れるように CDash を構成しました。ただし、いずれかのシステムが結果を CDash にポストしようとすると、次のエラーが生成されます。その結果、各結果が 4 回投稿されます (おそらく、最初の投稿試行と 3 回の再試行)。
この不思議なビルド ID を設定するものについて、誰かヒントを教えてもらえますか? 同様のエラーが発生しているように見えるコードをいくつか見つけましたが、何が起こっているのかについてはまだ手がかりがありません。
Build::GetNumberOfErrors(): BuildId が設定されていません
Build::GetNumberOfWarnings(): BuildId が設定されていません
送信に失敗しました。5 秒待っています... 送信を
再試行してください: 3 回中 1 回の試行
サーバーの応答:
ctest - CDash ビルド ID が設定されていません (CTest、CMake)
自動ビルドとテストの投稿を受け入れるように CDash を構成しました。ただし、いずれかのシステムが結果を CDash にポストしようとすると、次のエラーが生成されます。その結果、各結果が 4 回投稿されます (おそらく、最初の投稿試行と 3 回の再試行)。
この不思議なビルド ID を設定するものについて、誰かヒントを教えてもらえますか? 同様のエラーが発生しているように見えるコードをいくつか見つけましたが、何が起こっているのかについてはまだ手がかりがありません。
Build::GetNumberOfErrors(): BuildId が設定されていません
Build::GetNumberOfWarnings(): BuildId が設定されていません
送信に失敗しました。5 秒待っています... 送信を
再試行してください: 3 回中 1 回の試行
サーバーの応答: