我試圖只在作爲我們在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