用于编译和运行测试用例的bash脚本

时间:2016-03-31 06:12:28

标签: c++ bash

bash脚本全新,尝试编写脚本来编译并运行以“blah”开头的所有cpp文件。到目前为止我所拥有的是

#1/bin/bash

for i in blah*.cpp 
do
    if g++ "$i" -o "${i%.cpp}.out"; then
        /Users/[directory]/Desktop/"${i%.cpp}.out" #to run each testcase

    else
        echo "failed"
    fi
done

我需要知道有多少blah文件成功运行(我可以让c ++程序返回1或只是cout“成功”,任何方式告诉都没关系),我无法弄清楚如何获取每个程序的返回状态或如何使用每个程序运行的输出,看看它是否显示“成功”。

1 个答案:

答案 0 :(得分:0)

让您的测试用例返回1表示成功,0表示失败。然后可以按如下方式使用返回值:

counter=0
for i in blah*.cpp 
do
    if g++ "$i" -o "${i%.cpp}.out"; then
        if  /Users/[directory]/Desktop/"${i%.cpp}.out" ; then
            counter=$((counter+1))
        else
           echo "failed to run"
        fi
    else
        echo "failed to build"
    fi
done
echo "$counter tests succeeded"