問題タブ [lcov]

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.

0 投票する
1 に答える
576 参照

node.js - C++/Javascript を組み合わせた Node.js アドオンから Coveralls.io にコード カバレッジを投稿するにはどうすればよいですか?

C++ アドオンと Javascript ライブラリ コードの両方で構成されるNode.js モジュールがあります。lcovこれには、C++ およびistanbulJavascriptを使用した、コマンド ラインで生成されたコード カバレッジ分析が含まれます。両方からの出力は lcov 形式であり、完成したカバレッジ レポートで適切に組み合わせることができます。詳細についてmake coverは、 を参照しMakefileてください。

私の質問は、この結合されたコード カバレッジの出力をCoverallsで表示するために投稿するにはどうすればよいですか? node-coverallsを使用してみましたが、これはモジュール内の JavaScript のみを処理し、cpp-coverallsは C++ のみを処理することがわかります。おそらく、2 つの出力を結合して結果を Coveralls に投稿する方法はありますか?

洞察をお寄せいただきありがとうございます。

0 投票する
0 に答える
908 参照

c++ - コンパイラが生成したデッドコードを無視するための lcov および gcovr オプション

私のチームは、デッド/コンパイラ生成コードのブランチ カバレッジを報告する gcov を回避する方法を探しています。gcovr には、--exclude-unreachable-branches必要なことを行うように見えるオプションがあることに気付きました。また、lcov には、ソース コード内の除外マーカー--no-markersを無視するオプションがあります。

これらの 2 つのオプションは、コンパイラが生成した「デッド コード」を分岐カバレッジから除外しますか?

また、気になるのは、

これら 2 つのツールの違いは何ですか?

現在 lcov を使用していますが、gcov 情報がグラフィカルな表示形式で表示されることがわかっています。

0 投票する
1 に答える
7419 参照

c++ - ソースファイルの行を無視するようにlcovに指示する方法

ソースファイルのいくつかの行を無視するようにlcovに指示する可能性があるかどうか疑問に思っています. それらを未訪問として報告しないでください。次のように、コード自体に配置できるソリューションを探しています。

そして必要な背景:

上記のような大きなコードは、一連の単体テストでテストされていますが、このコードはまだ開発中であるためNOT_IMPLEMENTED("A*")、行番号/ファイル名を含むメッセージを画面に表示して終了するマクロがたくさんあります。応用。実装されていないブランチのテストはありません。明らかに、機能が実装されたときに記述されます。

ただし、lcov はこれらのNOT_IMPLEMENTED行を報告し、カバレッジ レポートでは非常に見栄えが悪くなります (つまり、赤い線の割合が高くなります)。

私が求めることは可能ですか、それとも私たちはこれと一緒に暮らすべきですか?

0 投票する
2 に答える
1406 参照

command - geninfo は .gcda ではなく .da を検索します

Plink を介して次の lcov コマンドを実行しようとすると (次のコマンドを含むテキスト ファイルを引数として Plink に渡します)。

それは

GNU gcov バージョン 1.5 からのカバレッジ データのキャプチャ。 スキャン中。.da ファイルの場合 ... gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] ファイル geninfo: / でのパターン マッチ (m//) での初期化されていない値の使用home/myUser/lcov/lcov/usr/bin/geninfo 行 1874. gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] ファイル geninfo: 初期化されていない値の使用/home/myUser/lcov/lcov/usr/bin/geninfo 行 3622 でのパターン マッチ (m//)。 geninfo: パターン マッチ (m//) での初期化されていない値の使用 /home/myUser/lcov/lcov/usr /bin/geninfo 行 3622. geninfo: エラー: .da ファイルが .! に見つかりません

geninfo は.gcdaファイルではなく.daファイルを想定しているようです。Plink なしで (同じ CWD で) 同じコマンドを実行すると、lcov は正常に実行され、有効な.infoファイルが生成されます。PuTTY を使用して手動で実行しても問題なく動作します。

この理由は何でしょうか?

0 投票する
2 に答える
3060 参照

gcov - 空の .gcda ファイルの生成

カバレッジのグラフィカル出力を生成するためにlcovでコードカバレッジ分析を行うためにgcovを使用します。これは、オブジェクト ファイルの少なくとも一部が実行されたコード ファイルに適しています。まったく実行されていないファイルを追跡できるようにしたい。これは、これらのファイルに対して .gcda ファイルが生成されていないことに関係していると思われます。実行に関係なく、すべてのオブジェクト ファイルに対して .gcda ファイルの生成を強制する方法はありますか?