問題タブ [cdash]
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.
c++ - CTest および CDash での CMake の使用
C++ プロジェクトで CMake/CTest と共に CDash を使用します。
CDash を有効にして "MEMORYCHECK_SUPPRESSIONS_FILE"、"DART_TESTING_TIMEOUT " などの設定をカスタマイズするために、ルートCMakeLists.txtに次の行を追加しました。
ただし、生成された「DartConfiguration.tcl」には設定がまったく含まれていません (MemoryCheckSuppressionFile は空で、TimeOut はデフォルト値のままです)。
たとえば、 -DDART_TESTING_TIMEOUT=STRING:120 を渡すと機能することがわかりましたが、CMakeLists.txt で指定すると失敗します。
前もって感謝します :)
DartConfiguration.tcl
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 回の試行
サーバーの応答:
continuous-integration - CDashクライアントのセットアップ
CDashを使用してC++CI環境を作成しようとしています。
コンピューターでCDashを実行していますが、ctestを手動で実行することにより、CDashクライアントからCDashに結果を送信できます。
バージョン管理システム(subversion)でソースコードが変更されたとき、または特定の時間にコードを自動的にコンパイルしてテストするようにクライアントを設定する方法に少し迷っています。
私はMasteringCMakeの本を持っていますが、そのトピックについてはあまり語っていないようです。
スケジュールされたタスク/cronをハッキングせずに継続的ビルドを実行する方法はありますか?
チェックアウトに役立つ良い例はありますか?
ダッシュボードからあるサイトでビルドを実行するように注文できますか?どこかで見たのを覚えていますが、今は見つかりません。
CDashはCI環境に適していますか?(コメントを使用してこれに答えてください)
cmake - CDash カスタム動的分析
カスタム動的分析ツールを CDashに統合しようとしています。KWStyle、CppCheck、Visual Leak Detector など。
DynamicAnalysis.xml ファイルを生成し、CTest スクリプトから CDash に送信する必要があることがわかりました。
外部ツールを ctest スクリプトの一部として実行する方法を知っていると思います。
これらの変数を使用して ctest_memcheck() の動作
を
変更
する
または execute_process() コマンドからツールを実行します。
でも、どれを使えばいいのかわからない。
私が抱えている主な問題は、カスタム ツールの出力からエラーを抽出し、その情報を DynamicAnalysis.xml に含めて送信するにはどうすればよいかということです。
私が見る極端な解決策は、有効な DynamicAnalysis.xml ファイルを生成するプログラムを作成する必要があるということです。
しかし問題は、XML ファイルの DefectList 要素の構文がわからないことです。Google からの回答は見つかりませんでした。そのファイルの XML スキーマでさえ役に立ちません。
編集:
これを見る:
http://www.cdash.org/CDash/viewDynamicAnalysis.php?buildid=987149
私の注意を引くのは、ラベル、特に空のラベルです。これらが DynamicAnalysis.xml ファイルからどのように得られるかわかりません。たぶん、これまでに登場したレーベルを追跡しているのでしょうか?どうにかして独自のカスタム ラベルを作成できますか?
ツールの種類に応じて、CDash は自動的にラベルを作成しますか? これはカスタム欠陥タイプをブロックしますか?
ここで推測しているだけなので、質問は次のとおりです。DynamicAnalysis.xml ファイルを生成するだけで、カスタム ツールのカスタム ラベルを作成できますか?
たとえば、valgrind と比較して、CppCheck (静的コード分析) からのさまざまなエラーの量が膨大であることがわかりました。動的分析を使用する必要があるかどうかはわかりません。カスタム ビルド タイプ (Continuous / Experimental / Nightly) の方がうまくいくかもしれません。このように:
http://www.cdash.org/CDash/buildSummary.php?buildid=930174
これを行う方法がわかりません。CDash コードをいじる必要があると思いますか?
どちらがうまくいくでしょうか?
c++ - Ctest / CDashワークフロー:ナイトリービルドのデプロイ
私はいくつかのCMakeプロジェクトを使用/維持しているので、CTest / CDashの調査を開始しましたが、理解できないことがあります。
ビルド/テスト結果を表示するためだけに作成されていますか?(別名美化ログ)
または:サーバーへのナイトビルドバイナリの展開をそのワークフローに含めることはできますか?
CTestはCMakeプロジェクトをテストし、テスト結果を表示するための理想的なツールだと思いますが、Webサーバーでのナイトリービルドのデプロイも自動化したいと思います。それがそのための適切なツールかどうか疑問に思います。 。
c++ - CMake / CDashでgcovを使用するための詳細なガイド?
私は自分のプロジェクトでCMakeを使用しており、継続的/夜間のビルド用にcdashサーバーをセットアップしています。すべてが正常に機能し、crontabを設定することで、毎時/毎晩のビルド/テスト結果がcdashサーバーに自動的にアップロードされます。
次のステップは、テストカバレッジレポートをビルドに追加することです。このドキュメントはhttp://www.cmake.org/Wiki/CTest:Coverageにありますが、率直に言って、実用的なガイドからは少し遠いです。
現在、必要なフラグを追加しました(代わりに-fprofile-arcs -ftest-coverage
、私は--coverage
より良いと思います)、コンパイルプロセスは.gcnoファイルを生成します。しかし、それから私は立ち往生しています。コマンド
何もしていないようです。誰かが次に何をすべきか教えてもらえますか?私が望む結果は、実行することによってmake NightlyCoverage
、カバレッジレポートが生成され、cdashサーバーにアップロードされることです。
continuous-integration - CDash は継続的インテグレーション システムですか?
先日、継続的インテグレーションに関する会話でCDashについて言及しました。同僚は、CDash は CI システムではなく、テスト システムだと言いました。詳しく説明する機会がありませんでした。
CDash は CI システムではないというのは本当ですか?
それでは違いは何ですか?
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.: 私がこれやあれをする理由を私に尋ねるのは控えてください (関連する指摘がある場合を除きます)。この場所を公開するのに適していないのには十分な理由があります。私はあなたの親切な助けを求めるためにここに来ました.回答)。
php - 複数のプロセスがそれを呼び出していて、宛先がカスタム ログ ファイルである場合、php の error_log 関数からの許可拒否エラーを回避するにはどうすればよいですか?
オープン ソース プロジェクトのCDashは、PHP のerror_log関数を使用して、CDash に固有の情報、警告、およびエラーをカスタム ログ ファイルに記録します。デフォルトでは、このカスタム ログ ファイルは「backup/cdash.log」の CDash ソース ツリーにあります。
ファイルlog.phpは、次のように error_log を呼び出します。
私が観察している問題 (php 5.4.7 を含む XAMPP 1.8.1 を搭載した Windows XP で) は、CDash テスト スイートが実行され、複数のプロセスが CDashadd_log
関数を介して書き込みを行おうとすると、2 番目以降のプロセスが「許可が拒否されました」ということです。エラーは、最初のプロセスがなくなり、明らかにロックしているホールドを解放するまで続きます$logFile
。
複数のプロセスがそれを呼び出していて、宛先がカスタム ログ ファイルである場合、php の error_log 関数からの許可拒否エラーを回避するにはどうすればよいですか?