問題タブ [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.
cmake - CMake または CTest でホスト名を取得する方法
CMake 構成が起動されるホスト名を簡単に取得することは可能ですか?
不可能な場合、CTest が起動されたホスト名を取得するにはどうすればよいですか?
Windows と Linux で CMake と CTest を使用しています。
ありがとう、
testing - CMake: ctest の環境変数を設定する (または、ctest/make test から自動的に失敗したテスト出力を取得する)
ctest に、デフォルトで失敗したテストの出力を表示してもらいたいです。つまり、実行したい:
失敗したテストの出力を確認する必要はありませんcat Testing/Temporary/LastTest.log
。
これを行うには、次の 2 つの方法があるようです。
(1)CTEST_OUTPUT_ON_FAILURE
環境変数の設定:
(2)呼び出しに--output-on-failure
フラグを指定する:ctest
CMakeLists.txt ファイルを記述して、ctests が通常の「make all test」呼び出しでデフォルトで失敗したテストの出力をダンプするように、セッションで環境変数をグローバルにエクスポートしたり、カスタムターゲットに頼ったりすることなくmake check
(説明されているように) 書き込む方法はありますか?ここで)?
私はSET_TESTS_PROPERTIES()
コマンドを知っていますが、次のように試してみてください:
実験では、テスト プログラムが実行されるシェルでは環境変数が設定されているが、ctest が実行されているシェルでは設定されていないことが示されています。
linker - CMake は CppUnit をリンクしていないようです
これはすでにどこかで回答されている可能性があります。その場合は、正しい方向に向けてください。グーグルで特定の問題に一致するものを見つけることができませんでした。
実行しようとしている CppUnit テストがいくつかあります。
トップレベルの CMakeLists.txt には以下が含まれます。
どちらも正しく設定されています: CMakeLists.txt ファイルの前の方にパスを出力しましたが、正しいパスです。
サブフォルダーには、次のものがあります。
ただし、テストを実行すると (ファイルを実行するか、を使用してctest -V
)、通常のリンカー エラー EDIT: it's not a linker error, see answer below が表示されます
ライブラリは、最上位の CMakeLists.txt で以前に設定されたパスに確実に存在します。
私は困惑しています!完全に欠けている鍵があると思いますが、それが何であるかはわかりません。さらに詳しい情報が必要な場合はお知らせください。追加します。
乾杯。
bash - CMakeマクロのコマンド内でコマンドを実行するにはどうすればよいですか
ファイルの内容を引数に変換したい。引数は、テスト中の実行可能ファイルに渡されます。これは私が持っているものです
引数をファイル内に配置し、それを実行可能ファイルに入力としてフィードしたいと考えています。私はこのようなものが欲しい:
または、このように
または、このように
上記の 3 つのコードはどれも機能しません。CMake 以外で試してみると、問題なく動作します。しかし、CMake 内では機能しません。
c++ - テスト付きの CMake プロジェクト
cmake でプロジェクトを作成しており、テストを追加したいと考えています。cmakeを使うのはこれが初めてなので、暗闇の中を歩いています。この手順を開始する方法の例、または私が見ることができるオープンソースプロジェクトはありますか?
どうも
properties - CTest CDash: テスト結果を送信するためだけに include(CTest) を使用するサイトの下にサブプロジェクトの xml 要素がありません
CMake を使用して、いくつかの独立したプロジェクトを含むソース ツリーを構築し、個々のプロジェクトを構築しました。
重要: ビルド全体を実行するためのグローバルな CMakeLists.txt ファイルはありません。汎用スクリプト (Windows (.cmd) および UNIX (.sh)) を使用してすべてのサブプロジェクトをループします。プロジェクトを独立した状態に保ちながら、それらをすべて自動的にビルドできるようにしたいと考えています。
一方、CDash では、これらすべての独立したプロジェクトを、より大きな独自の人工CDash プロジェクトの一部としてCDash サブプロジェクトとして表示したいと考えています。
CDash を操作するには、 http ://www.cmake.org/Wiki/CMake/Testing_With_CTest で説明されている方法に従いました。
このメソッドに Aという名前を付けます。
つまり、私は:
そして、私自身のいくつかのテストを行います。
その後、次のページの指示に従って、個々のプロジェクトをサブプロジェクトとして表示しようとしました: http://www.kitware.com/media/html/CDashSubprojects.html
このメソッドに Bという名前を付けます。
問題は、私のCMakeLists.txt (実際には私のCTestConfig.cmake ) ファイルには次のグローバル プロパティ設定がありますが (私が入れようとした両方のファイルにあります):SubProject
Labels
Sites
ここで、CMAKE_PROJECT_NAME は -もちろん- 明確に定義されています。
- 提出されたxmlファイルの要素の下にwjy
SubProject
とLabels
要素が欠落していることを知っていますか?Sites
- 方法AとBを混在させることはできますか?
さらに、CTest のソースを確認したところ、これらのグローバル プロパティはこの関数によって追加されました (2.8.10 から取得しました。使用している 2.8.11 のソースをダウンロードできなかったので、変更がないことを願っています。申し訳ありません)。 :
ch->GetCMake()
私の場合、どういうわけかNULLを返しますか?
よろしくお願いします。よろしく。
P.-S.: 私がこれやあれをする理由を私に尋ねるのは控えてください (関連する指摘がある場合を除きます)。この場所を公開するのに適していないのには十分な理由があります。私はあなたの親切な助けを求めるためにここに来ました.回答)。
cmake - CppUnit テストは常に Ctest でパスします
私は CMake を使用してプロジェクトに取り組んでおり、いくつかの CppUnit テストを統合しました。CTest を使用したいので、CMakeLists.txt ファイルで add_test を使用して、入力時にテストを実行しましたmake test
。それでも、 と入力するとmake test
、些細なエラーでテストを行ったとしても、すべてのテストに合格したことがわかります。誤ったテストは、手動で実行した場合 (./my_test など) にこれらのエラーを報告しますが、./my_test を使用して実行した場合は報告しませんmake test
。
test ディレクトリにある CMakeLists.txt の内容は次のとおりです。
コマンドに間違ったパスを入力すると、CMake が実行可能ファイルを見つけられないと不平を言うため、CTest は実行可能ファイルを見つけます。
make test
以下を出力します。
テストを実行中... テストプロジェクト
100% のテストに合格し、3 回中 0 回のテストに失敗しました
私は何が欠けていますか?