C白盒测试,把测试用例的头文件和测试函数怎么一次性添加到main函数的shell脚本

阅读 42

2022-06-15

#Generate main.c

#包含测试用的.c和.h的文件夹
src_dir=../LLR_TESTS
#定义一个main的shell变量
main=main.c

#Go to source and clean main
cd $src_dir
rm -f $main

#获取头文件
for tc in `ls TC*.c | sed 's/\.c//'`
do
echo "#include \"$tc.h\"" >> $main
done
echo "" >> $main

#Self test and main
echo "extern void self_test(void);" >> $main
echo "" >> $main
echo "int main()" >> $main
echo "{" >> $main
echo " /* self_test(); */" >> $main

#Call Test Cases
for tc in `ls TC*.c | sed 's/\.c//'`
do
echo " run_$tc();" >> $main
done
echo "" >> $main

#End
echo " return 0;" >> $main
echo "}" >> $main


--------------------------------------------------

for tc in `ls TC*.c | sed 's/\.c//'` 说明:

ls TC*.c --------------------------获取所有开头TC和文件格式为.c的文件

sed 's/\.c//------------------------把文件的后缀.c替换为空

`ls TC*.c | sed 's/\.c//'`--------把所有开头为TC和文件格式为.c的文件,替换为开头为TC不带后缀的文件

for tc in `ls TC*.c | sed 's/\.c//'`----申明一个tc变量,用来存放每次循环获取的开头为TC不带后缀的文件

-----------------------------------------------

----------------------------------------------

do-----------------------for循环开始
echo "#include \"$tc.h\"" >> $main ------------for循环的主要操作
done-------------------for循环结束

作为for循环的循环体,把开头为TC不带后缀的文件改变为#include \"$tc.h\" 如:#include "TC_R_17.h"

-------------------------------------------
echo "" >> $main--------输入个空行到main.c文件中






精彩评论(0)

0 0 举报