Экземпляр QApplication / qtbot приводит к прерыванию travis-ci и дампу ядра - PullRequest
0 голосов
/ 23 мая 2019

Работа над пониманием того, как выполнить автоматическое модульное тестирование для приложений на основе PySide2.Однако всякий раз, когда я пытаюсь инициализировать экземпляр QApplication в тестах, будь то через PySide2 или через фиксатор qtbot pytest-qt, travis-ci прерывает тест.Однако он работает локально.

Я пытался использовать приборы qtbot и qapp из pytest-qt, пробуя различные дистрибутивы travis-ci, такие как xenial и trusty, а также включаяплагин pytest-xvfb, как я видел, рекомендованный аналогичным ответом на вопрос stackoverflow, но ничего не сработало ни в одной комбинации выше.

# .travis.yml
language: python
python:
  - "3.6"
cache: pip
install: pip install -r requirements.txt
# running from top folder level to keep package on the path
script: python -m pytest tests/
# tests/test_central.py
from lysiaa.central import MyWindow

def test_giveBack(qapp):
    window = MyWindow()
    assert window.giveBack(1) == 1
# lysiaa/central.py
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

    def giveBack(self, param):
        return param

Когда travis-ci пытается выполнить это, оно прерывается с дампом ядра.Может ли кто-нибудь помочь мне с этим вопросом?

============================= test session starts ==============================
platform linux -- Python 3.6.7, pytest-4.5.0, py-1.8.0, pluggy-0.11.0
PySide2 5.12.3 -- Qt runtime 5.12.3 -- Qt compiled 5.12.3
rootdir: /home/travis/build/robert-clayton/LYSIAA
plugins: xvfb-1.2.0, qt-3.2.2
collected 1 item                                                               
tests/test_central.py /home/travis/.travis/functions: line 104:  4092 Aborted                 (core dumped) python -m pytest tests/
The command "python -m pytest tests/" exited with 134.
...