2 つの C プログラムをテストして、そのカバレッジ (ライン カバレッジとブランチ カバレッジ) を確認したいと考えています。
Linux システムで gcovr を使用しています。
gcc
これを行うために、コンパイラを呼び出してファイルから入力を読み取り、C プログラムのカバレッジをテストする Perl スクリプトを作成し ました。
Cプログラムに与えられるファイルの形で多くのテストスイートがあります.Perlを使用して入力を自動化し、gcovr
.
もちろん、私は system
command と perl の backtics を使って and を呼び出しましgcc
たgcovr
。
プログラムへの入力は与えられた引数から読み取られるため、最初の C プログラムは適切に実行されます。
しかし、2 番目の C プログラムについては、プログラムがキーボードからの入力しか受け付けないか、単に "it is using scanf
" と入力するだけなので、混乱しました。
では、ターミナル linux を介して、またはコマンドscanf
で perl を使用して、キーボード () からの入力のみを受け入れる C プログラムに入力を提供するにはどうすればよいでしょうか?system