[英]Running py.test with xvfb-run
我試圖在Jenkins中運行使用PyQt4的Python包,測試創建窗口。 由於我在Jenkins中運行測試,我需要重定向圖形輸出,所以我使用的是xvfb-run。 大多數情況下,這是有效的,但只有一小部分時間,測試將隨機失敗:
/usr/bin/xvfb-run: line 171: kill: (27375) - No such process
如果我重新運行測試,它在大多數時間都能正常工作(所以這只是一次性問題)。
有沒有人遇到過這個問題? 您對改進測試穩定性的變通方法有什么想法嗎?
它通過找到Xvfb進程並殺死它。
ps auwx | grep "Xvfb" | grep -v grep
如果您的xvfb-run副本與我的相同 ,我可以確認我也看過這個。
就我而言,目標進程導致Xvfb崩潰。 這意味着當拆除不再運行Xvfb時,包裝器腳本本身在第171行失敗。 為了解決這個問題,我在一個set +e
/ set -e
塊中包含了kill $XVFBPID
。 如果指定--error-file=
以便xvfb-run在目標進程運行時保存Xvfb的異步標准錯誤輸出,這也會--error-file=
幫助,因此您可以修復基礎原因。
解決方法:
# Kill Xvfb now that the command has exited.
# Ignore failure of kill since we want to be forgiving of Xvfb itself crashing
set +e
kill $XVFBPID
set -e
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.