英文:
github action pytest exit code 134
问题
以下是您提供的文本的翻译部分:
"So I am running pytest via github actions and a test that passes on my machine (both through direct command line and vscode testing) is erroring out and aborting in the container and idk why.":
"所以我正在通过GitHub操作运行pytest,我的机器上的测试通过了(无论是通过直接命令行还是VSCode测试),但在容器中出现错误并中止,我不知道为什么。"
"I don't see anything obvious in this traceback that would help me fix it, anyone know what to do from here?":
"在这个回溯中,我没有看到明显的东西可以帮助我修复它,有人知道从这里该怎么办吗?"
"I thought 134 was a memory error so i tried adding in a swap space from https://github.com/pierotofy/set-swap-space but that still didn't help":
"我以为134是一个内存错误,所以我尝试从https://github.com/pierotofy/set-swap-space中添加交换空间,但这仍然没有帮助。"
以上是您提供文本的翻译部分。
英文:
So I am running pytest via github actions and a test that passes on my machine (both through direct command line and vscode testing) is erroring out and aborting in the container and idk why.
============================= test session starts ==============================
platform linux -- Python 3.10.10, pytest-7.2.1, pluggy-1.0.0 -- /opt/hostedtoolcache/Python/3.10.10/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/jbuielCubesProject/jbuielCubesProject
collecting ... collected 4 items
tests/test_data.py::test_api_data_amount PASSED [ 25%]
tests/test_data.py::test_entry_in_database PASSED [ 50%]
tests/test_data.py::test_data_in_table PASSED [ 75%]
Fatal Python error: Aborted
Current thread 0x00007f6d807b6c40 (most recent call first):
File "/home/runner/work/jbuielCubesProject/jbuielCubesProject/tests/test_data.py", line 55 in test_gui_info
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/python.py", line 195 in pytest_pyfunc_call
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/python.py", line 1789 in runtest
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 167 in pytest_runtest_call
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 260 in <lambda>
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 339 in from_call
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 259 in call_runtest_hook
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 220 in call_and_report
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 131 in runtestprotocol
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/runner.py", line 112 in pytest_runtest_protocol
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/main.py", line 349 in pytest_runtestloop
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/main.py", line 324 in _main
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/main.py", line 270 in wrap_session
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/main.py", line 317 in pytest_cmdline_main
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/config/__init__.py", line 167 in main
File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/_pytest/config/__init__.py", line 190 in console_main
File "/opt/hostedtoolcache/Python/3.10.10/x64/bin/pytest", line 8 in <module>
Extension modules: charset_normalizer.md, xxsubtype, shiboken6.Shiboken, PySide6.QtCore, PySide6.QtGui, PySide6.QtWidgets (total: 6)
/home/runner/work/_temp/835fb4a2-07d9-4169-ac69-9365002eaa42.sh: line 2: 1885 Aborted (core dumped) pytest -v
tests/test_data.py::test_gui_info
Error: Process completed with exit code 134.
I don't see anything obvious in this traceback that would help me fix it, anyone know what to do from here?
I thought 134 was a memory error so i tried adding in a swap space from https://github.com/pierotofy/set-swap-space but that still didn't help
def test_gui_info():
# test 4 sprint 3
QtWidgets.QApplication([]) # line 55 <-------
MainWindow = QtWidgets.QMainWindow()
ui = database_viewer(MainWindow)
labelled_entries_dict = get_labelled_dict()
ui.show_data(id=2, labelled_entries_dict=labelled_entries_dict)
response = ui.rightLayout.itemAt(3).widget()
assert response.text() == labelled_entries_dict[2][' First Name']
response = ui.rightLayout.itemAt(5).widget()
assert response.text() == labelled_entries_dict[2][' Last Name']
response = ui.rightLayout.itemAt(11).widget()
assert response.text() == labelled_entries_dict[2][' Email']
response = ui.rightLayout.itemAt(13).widget()
assert response.text() == labelled_entries_dict[2][' Organization Website']
response = ui.rightLayout.itemAt(19).widget()
if labelled_entries_dict[2][' Course Project'] == 'yes':
assert response.isChecked() is True
else:
assert response.isChecked() is False
response = ui.rightLayout.itemAt(20).widget()
if labelled_entries_dict[2][' Guest Speaker'] == 'yes':
assert response.isChecked() is True
else:
assert response.isChecked() is False
response = ui.rightLayout.itemAt(23).widget()
if labelled_entries_dict[2][' Internships'] == 'yes':
assert response.isChecked() is True
else:
assert response.isChecked() is False
response = ui.rightLayout.itemAt(30).widget()
if labelled_entries_dict[2][' Summer 2023'] == 'yes':
assert response.isChecked() is True
else:
assert response.isChecked() is False
答案1
得分: 1
在许多试错之后,我发现将这些添加到 GHA 中使其工作
在 runs-on: ubuntu-latest 下面:
env:
DISPLAY: '':99.0''
然后在步骤的任何位置:
- uses: tlambert03/setup-qt-libs@v1
- name: build "display"
run: |
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX
实际上我没有使用 pytest-qt,但这个故障排除页面给出了这些答案,直到我偶然发现它才找到。
链接:https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html
英文:
after a lot of trial and error I found that adding these to the GHA made it work
under runs-on: ubuntu-latest
env:
DISPLAY: ':99.0'
then anywhere in the steps:
- uses: tlambert03/setup-qt-libs@v1
- name: build "display"
run: |
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX
im not actually using pytest-qt but this troubleshooting page gave these answer, it was very hard to find until I stumbled upon it eventually.
https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论