2017-05-26 8 views
3

llvm-cov docsから:llvm-covコードカバレッジレポートのファイルをフィルタリングする方法は?

llvm-cov show [options] -instr-profile PROFILE BIN [-object BIN,...] [[-object BIN]] [SOURCES]

LLVM-COVのshowコマンドは、バイナリ BIN、...プロファイルデータのプロファイルを使用してのラインカバレッジでラインを示しています。オプションで、フィルタリングしてにすると、SOURCESにリストされているファイルのカバレッジのみを表示できます。

私は、次のコマンドを使用してい

:だから基本的に私が欲しいもの

*Router.swift

codecov_source_filesはこのラインでファイルをある

xcrun llvm-cov show -instr-profile "${PROFDATA}" "${BINARY}" codecov_source_files > Coverage.report

ウィットのファイルのみを含むレポートですhサフィックス:Router.swift

しかし、私はプロジェクトのすべてのクラスでCoverage.reportを取得しています。

私には何が欠けていますか?

答えて

3

実際にはSOURCESはファイル名のリストであり、ファイル名のリストを含むファイル名ではありません。

これらは、ディスク上の実際のソースファイルへのパスである必要があります。残念ながら、ワイルドカードや正規表現はサポートしていません。

編集:ソースを読むことによって、ディレクトリをSOURCESと指定することもでき、その中に再帰的に表示されることがわかりました。また、ファイルSOURCESが一致する文書化されていないオプション-dump-collected-pathsがあります。

+0

「SOURCES」フォルダを見つけることありがとう、ありがとうございます。それは本当に文書化されるべきです。これは、Clang 4.0でテストされた他の例の完全な例です。 'src_dir'フォルダ内のファイルのカバレッジのみを表示します。 'llvm-cov show -format = html -instr-profile = default.profdata my_exe src_dir /> coverage.html' – phoenix

+1

'> coverage.html'の代わりに '-output-dir = PATH'を使いたいかもしれません。私は後者がファイルごとの出力を与えるとは思わない。 – Timmmm

+0

@Timmmmありがとう、 '-output-dir'引数はすごくいいです! – phoenix

関連する問題