使用Xvfb时简单的pytest(qtbot)崩溃

时间:2018-09-25 09:19:24

标签: python-3.x testing pyqt5 pytest xvfb

我在test_qtbot.py中有以下代码,该代码显示了一个虚拟小部件,持续了一秒钟

import time
from PyQt5.QtWidgets import QPushButton


def test_widget(qtbot):
    widget = QPushButton()
    widget.show()
    qtbot.addWidget(widget)
    now = time.time()
    qtbot.waitUntil(lambda: time.time() > now + 1, timeout=5000)  # show it for one second

当我使用pytest test_qtbot.py运行该测试时,运行正常

但是,我也希望在无头环境中进行此测试,所以我尝试了

Xvfb -ac :12 &
DISPLAY=:12 pytest test_qtbot.py

但这会导致核心转储

但是,以下方法确实有效

Xvfb -ac -screen 0 1280x1024x24 :12 &
DISPLAY=:12 pytest test_qtbot.py

知道为什么第一次测试失败吗?

一些其他观察结果:我的测试在Qt5,python3和Debian Stretch上运行。在没有-screen参数的情况下,针对Qt4,python2.7和Debia Wheezy的类似测试也可以很好地运行

0 个答案:

没有答案