如何在expect脚本中嵌入gcc和gcov命令
我想在expect脚本中嵌入gcc和gcov命令 我试着如何在expect脚本中嵌入gcc和gcov命令,gcc,expect,Gcc,Expect,我想在expect脚本中嵌入gcc和gcov命令 我试着 #!/usr/bin/expect -f send ":gcc -fprofile-arcs -ftest-coverage c.c\r" send ":gcov c.c\r" 但是它不运行和执行命令 对此有什么见解吗?谢谢 我的问题是我不确定如何将命令嵌入到正确的位置。我只知道有一个给定的测试用例,如下所示:- #!/usr/bin/expect -f spawn $env(SUBJECTS_SRC_DIR)/vim -u $en
#!/usr/bin/expect -f
send ":gcc -fprofile-arcs -ftest-coverage c.c\r"
send ":gcov c.c\r"
但是它不运行和执行命令
对此有什么见解吗?谢谢
我的问题是我不确定如何将命令嵌入到正确的位置。我只知道有一个给定的测试用例,如下所示:-
#!/usr/bin/expect -f
spawn $env(SUBJECTS_SRC_DIR)/vim -u $env(HOME)/.vimrc $env(TESTS_SRC)/copy1
expect "copy1"
sleep 1
send ":se lines=24\r"
send ":se columns=80\r"
send ":redir >> move_2.1.1.out\r"
send "$"
send "\007"
send "5h"
send "\007"
send ":redir END\r"
send ":wq\r"
expect
exit -onexit {
interact
}
这包含在一个名为testfile的特定文件中。在Perl脚本中执行此测试文件后,将生成一个输出
如下所示:
$IN_DIR/$SCRIPT_FILE;
$outfile = "$OUT_DIR/t$scriptCounter";
我尝试将您先前建议的expect命令放在一个名为的单独文件中,并将其传递给名为…$MY\u file
的新变量in$in\u DIR
然后,我通过了$IN_DIR/$MY_FILE
但它什么也没做。.gcno文件也不会执行,因此.gcov.Expect对交互式程序有用,而不是命令行实用程序。如果您只想在expect脚本中执行gcc
和gcov
,请执行以下操作:
exec gcc -fprofile-arcs -ftest-coverage c.c
exec gcov c.c
顺便说一句,在不运行可执行文件的情况下运行gcov
是徒劳的:您需要生成运行时覆盖率数据,然后才能对其进行分析