diff --git a/.github/workflows/ui_preview.yaml b/.github/workflows/ui_preview.yaml index c6d70e9ceb..d4dcce5f3f 100644 --- a/.github/workflows/ui_preview.yaml +++ b/.github/workflows/ui_preview.yaml @@ -82,6 +82,10 @@ jobs: + + + + diff --git a/selfdrive/ui/tests/test_ui/run.py b/selfdrive/ui/tests/test_ui/run.py index c8b14dad95..2bf30d7b90 100644 --- a/selfdrive/ui/tests/test_ui/run.py +++ b/selfdrive/ui/tests/test_ui/run.py @@ -12,7 +12,7 @@ import time from cereal import messaging, log from msgq.visionipc import VisionIpcServer, VisionStreamType -from cereal.messaging import SubMaster, PubMaster +from cereal.messaging import PubMaster from openpilot.common.basedir import BASEDIR from openpilot.common.params import Params from openpilot.common.prefix import OpenpilotPrefix @@ -95,6 +95,7 @@ def setup_onroad_alert(click, pm: PubMaster, text1, text2, size, status=log.Self cs.alertStatus = status cs.alertType = "test_onroad_alert" pm.send('selfdriveState', dat) + time.sleep(UI_DELAY) def setup_onroad_alert_small(click, pm: PubMaster): setup_onroad_alert(click, pm, 'This is a small alert message', '', log.SelfdriveState.AlertSize.small) @@ -123,9 +124,14 @@ def setup_update_available(click, pm: PubMaster): setup_settings_device(click, pm) click(240, 216) +def setup_pair_device(click, pm: PubMaster): + click(1950, 435) + click(1800, 900) CASES = { "homescreen": setup_homescreen, + "prime": setup_homescreen, + "pair_device": setup_pair_device, "settings_device": setup_settings_device, "onroad": setup_onroad, "onroad_sidebar": setup_onroad_sidebar, @@ -152,13 +158,12 @@ class TestUI: sys.modules["mouseinfo"] = False def setup(self): - Params().put("DongleId", "123456789012345") - self.sm = SubMaster(["uiDebug"]) self.pm = PubMaster(list(DATA.keys())) - while not self.sm.valid["uiDebug"]: - self.sm.update(1) - time.sleep(UI_DELAY) # wait a bit more for the UI to start rendering - self.pm.send('deviceState', DATA['deviceState']) + DATA['deviceState'].deviceState.networkType = log.DeviceState.NetworkType.wifi + for _ in range(10): + self.pm.send('deviceState', DATA['deviceState']) + DATA['deviceState'].clear_write_flag() + time.sleep(0.05) try: self.ui = pywinctl.getWindowsWithTitle("ui")[0] except Exception as e: @@ -231,8 +236,15 @@ def create_screenshots(): t = TestUI() - with OpenpilotPrefix(): - for name, setup in CASES.items(): + for name, setup in CASES.items(): + with OpenpilotPrefix(): + params = Params() + params.put("DongleId", "123456789012345") + if name == 'prime': + params.put('PrimeType', '1') + elif name == 'pair_device': + params.put('ApiCache_Device', '{"is_paired":0, "prime_type":-1}') + t.test_ui(name, setup) if __name__ == "__main__":