我试图只在作为我们在Jenkins集成测试的一部分的git提交之间进行更改的文件中运行测试。bash的有条件的nosetests
下面的代码工作,除非过滤器删除所有文件结果。然后所有的测试都是通过鼻子运行。我希望在这种情况下不要运行测试。
if [ $GIT_PREVIOUS_SUCCESSFUL_COMMIT != $GIT_COMMIT ]; then
git diff --name-only --diff-filter=d $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT | grep .py | xargs nosetests -vv
fi
有什么建议吗?
你的代码不应该工作;你的'if'语句中的条件应该是'test'$ GIT_PREVIOUS_SUCCESSFUL_COMMIT“!=”$ GIT_COMMIT“'或者其他等价物。 – chepner
你完全正确。我试图简化阅读简单的代码段,而不是写破碎的代码!正在修复... –
“x”前缀是不必要的;这是一个古老的黑客来适应旧的,有问题的版本的'['。现代版本的'['不需要它,更不用说'[['。 – chepner