我想使用 shell 脚本运行回归,该脚本应该通过make
命令启动每个测试。以下是我的脚本的简单版本:
#!/bin/sh
testlist="testlist.txt"
while read line;
do
test_name=$(echo $line | awk '{print $1}')
program_path=$(echo $line | awk '{print $2}')
make sim TEST_NAME=$test_name PROGRAM_PATH=$program_path
done < "$testlist"
上述脚本的问题在于,当 make 命令启动一个程序时,该脚本会进入下一个迭代,而无需等待上一个迭代中该程序的完成,并继续从文件中读取下一行。
make 实用程序中是否有任何选项可以确保它等待程序完成?也许我错过了其他东西。
这是 Makefile 的相关部分:
sim:
vsim -i -novopt \
-L $(QUESTA_HOME)/uvm-1.1d \
-L questa_mvc_lib \
-do "add wave top/AL_0/*;log -r /*" \
-G/path=$(PROGRAM_PATH) \
+UVM_TESTNAME=$(TEST_NAME) +UVM_VERBOSITY=UVM_MEDIUM -sv_seed random