我想测试 2 个 C 程序来检查它的覆盖率(行覆盖率和分支覆盖率)。
我在 linux 系统中使用 gcovr。
为此,我编写了一个 Perl 脚本,它将调用 gcc
编译器并从文件中读取输入,然后测试 C 程序的覆盖率。
我有许多以文件形式提供给 C 程序的测试套件,我使用 Perl 来自动化输入并使用gcovr
.
当然,我 system
在 perl 中使用过 command 和 backtics 来调用gcc
和gcovr
.
第一个 C 程序运行良好,因为程序的输入是从给定的参数中读取的。
但是对于第二个 C 程序,我感到困惑,因为该程序只接受来自键盘的输入,或者简单地说“它正在使用scanf
”。
scanf
那么,我们如何通过终端 linux 或使用 perl命令向仅接受键盘输入的 C 程序提供输入system
?