Files
orisys_arm/station/test/test_gui.py
T
2026-10-16 17:27:30 +08:00

19 lines
800 B
Python

import os
import subprocess
import sys
import tempfile
from pathlib import Path
from unittest import TestCase, skipUnless
class GuiTest(TestCase):
@skipUnless(os.environ.get('DISPLAY'), 'requires X11 for OpenGL widgets')
def test_gui_isolated_from_hardware_and_closes_cleanly(self):
env={**os.environ,'QT_QPA_PLATFORM':'xcb','ROS_DOMAIN_ID':'231','ROS_LOCALHOST_ONLY':'1'}
with tempfile.TemporaryDirectory() as cache:
env['XDG_CACHE_HOME']=cache
result=subprocess.run([sys.executable,str(Path(__file__).with_name('gui_fixture.py'))],env=env,
capture_output=True,text=True,timeout=20)
self.assertEqual(result.returncode,0,result.stdout+'\n'+result.stderr)
self.assertIn('shutdown PASS',result.stdout)