我的目标是并行启动大量测试,并将覆盖范围(*.gcda
文件)转储到不同的目录中。我将使用" qsub"。但是,问题是我应该在运行每个测试之前为同一个环境变量GCOV_PREFIX
设置不同的值。我不知道这是否会影响并行运行的多个测试?
例如,我有test1,test2,test3,我需要在运行test1之前设置环境变量GCOV_PREFIX = test1,在运行test2之前设置GCOV_PREFIX = test2,在运行test3之前设置GCOV_PREFIX = test3。 那么如何使用命令" qsub"来覆盖文件被转储到不同的目录中呢?
最终结果需要是各个测试文件夹中的.gcda文件,如test1 / .gcda,test2 / .gcda等。
非常感谢你。
答案 0 :(得分:0)
在SGE qsub
命令中,您可以按-v
设置变量列表,您可以在man page中找到更多信息。
这是一个python测试脚本test.sh:
python -c "import os;print os.getenv('GCOV_PREFIX')"
然后你可以通过以下方式提交test.sh:
qsub -v GCOV_PREFIX=TEST1 <another-options> test.sh
输出将写入test.sh.o文件。
但是如果你在~/.bashrc
之类的地方设置了相同的变量:
export GCOV_PREFIX=TEST4BASHRC
输出将是 TEST4BASHRC ,也许SGE将在解析qsub的-v
选项后读取用户definded配置中的变量。