python 如何在gitlab cicd中运行渲染测试?

bvjveswy  于 2024-01-05  发布在  Python
关注(0)|答案(1)|浏览(101)

我尝试在Gitlab CI/CD中使用pytest运行一些测试。其中一些测试包括使用Pyglet模块进行渲染。
我得到一个错误:

pyglet.window.NoSuchConfigException: No standard config is available.

字符串
我已经尝试了headless=TrueFalse。然后我发现xvfb,所以我试图通过制作一个虚拟屏幕来运行测试:

before_script:
    - apt-get install -y xorg-dev libglu1-mesa libgl1-mesa-dev xvfb libxinerama1 libxcursor1
    - export DISPLAY=:0
  script:
    - conda run -n myenv-3.10-cpu xvfb-run -a -s "-screen 0 1400x900x24 +extension RANDR" python -m pytest -vvv ./tests


这并没有解决我的问题,因为我得到了同样的错误。请注意,测试运行完美的本地在我的笔记本电脑。
回溯:

from pyglet.window import key
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/window/__init__.py:1929: in <module>
    gl._create_shadow_window()
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/gl/__init__.py:165: in _create_shadow_window
    _shadow_window = ShadowWindow()
/root/miniconda3/envs/myenv-3.10-cpu/lib/python3.10/site-packages/pyglet/gl/__init__.py:159: in __init__
    super().__init__(width=1, height=1, visible=False)


这是一个失败的测试示例,并出现前面提到的错误:

def test_pyglet():
 import pyglet

 window = pyglet.window.Window()

 label = pyglet.text.Label('Hello, world',
                          font_name='Times New Roman',
                          font_size=36,
                          x=window.width // 2, y=window.height // 2,
                          anchor_x='center', anchor_y='center')

 @window.event
 def on_draw():
    window.clear()
    label.draw()

 pyglet.app.run()

bxgwgixi

bxgwgixi1#

检查此代码片段。

before_script:
  - apt-get install -y xorg-dev libglu1-mesa libgl1-mesa-dev xvfb libxinerama1 libxcursor1
  - export DISPLAY=:0
  - Xvfb $DISPLAY -screen 0 1400x900x24 +extension RANDR &

script:
  - conda run -n myenv-3.10-cpu python -m pytest -vvv ./tests

字符串

相关问题