Skip to content

Commit 613379d

Browse files
committed
speedup pytest collection
1 parent 2596de8 commit 613379d

3 files changed

Lines changed: 23 additions & 34 deletions

File tree

conftest.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,6 @@
77
from openpilot.system.manager import manager
88
from openpilot.system.hardware import TICI, HARDWARE
99

10-
# TODO: pytest-cpp doesn't support FAIL, and we need to create test translations in sessionstart
11-
# pending https://github.com/pytest-dev/pytest-cpp/pull/147
12-
collect_ignore = [
13-
"selfdrive/test/process_replay/test_processes.py",
14-
"selfdrive/test/process_replay/test_regen.py",
15-
]
16-
collect_ignore_glob = [
17-
"selfdrive/debug/*.py",
18-
"selfdrive/modeld/*.py",
19-
]
20-
21-
2210
def pytest_sessionstart(session):
2311
# TODO: fix tests and enable test order randomization
2412
if session.config.pluginmanager.hasplugin('randomly'):

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ allow-direct-references = true
126126

127127
[tool.pytest.ini_options]
128128
minversion = "6.0"
129-
addopts = "--ignore=openpilot/ --ignore=opendbc/ --ignore=panda/ --ignore=rednose_repo/ --ignore=tinygrad_repo/ --ignore=teleoprtc_repo/ --ignore=msgq/ -Werror --strict-config --strict-markers --durations=10 -n auto --dist=loadgroup"
129+
addopts = "--ignore=openpilot/ --ignore=opendbc/ --ignore=panda/ --ignore=rednose_repo/ --ignore=tinygrad_repo/ --ignore=teleoprtc_repo/ --ignore=msgq/ --ignore=selfdrive/debug --ignore=selfdrive/modeld --ignore=selfdrive/test/process_replay/test_processes.py --ignore=selfdrive/test/process_replay/test_regen.py -Werror --strict-config --strict-markers --durations=10 -n auto --dist=loadgroup"
130130
cpp_files = "test_*"
131131
cpp_harness = "selfdrive/test/cpp_harness.py"
132132
python_files = "test_*.py"

selfdrive/ui/mici/tests/test_widget_leaks.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,6 @@
1-
import pyray as rl
2-
rl.set_config_flags(rl.ConfigFlags.FLAG_WINDOW_HIDDEN)
31
import gc
42
import weakref
53
import pytest
6-
from openpilot.system.ui.lib.application import gui_app
7-
from openpilot.system.ui.widgets import Widget
8-
9-
# mici dialogs
10-
from openpilot.selfdrive.ui.mici.layouts.onboarding import TrainingGuide as MiciTrainingGuide, OnboardingWindow as MiciOnboardingWindow
11-
from openpilot.selfdrive.ui.mici.onroad.driver_camera_dialog import DriverCameraDialog as MiciDriverCameraDialog
12-
from openpilot.selfdrive.ui.mici.widgets.pairing_dialog import PairingDialog as MiciPairingDialog
13-
from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigConfirmationDialog, BigInputDialog
14-
from openpilot.selfdrive.ui.mici.layouts.settings.device import MiciFccModal
15-
16-
# tici dialogs
17-
from openpilot.selfdrive.ui.onroad.driver_camera_dialog import DriverCameraDialog as TiciDriverCameraDialog
18-
from openpilot.selfdrive.ui.layouts.onboarding import OnboardingWindow as TiciOnboardingWindow
19-
from openpilot.selfdrive.ui.widgets.pairing_dialog import PairingDialog as TiciPairingDialog
20-
from openpilot.system.ui.widgets.confirm_dialog import ConfirmDialog
21-
from openpilot.system.ui.widgets.option_dialog import MultiOptionDialog
22-
from openpilot.system.ui.widgets.html_render import HtmlModal
23-
from openpilot.system.ui.widgets.keyboard import Keyboard
244

255
# FIXME: known small leaks not worth worrying about at the moment
266
KNOWN_LEAKS = {
@@ -52,7 +32,8 @@
5232
}
5333

5434

55-
def get_child_widgets(widget: Widget) -> list[Widget]:
35+
def get_child_widgets(widget) -> list:
36+
from openpilot.system.ui.widgets import Widget
5637
children = []
5738
for val in widget.__dict__.values():
5839
items = val if isinstance(val, (list, tuple)) else (val,)
@@ -62,6 +43,26 @@ def get_child_widgets(widget: Widget) -> list[Widget]:
6243

6344
@pytest.mark.skip(reason="segfaults")
6445
def test_dialogs_do_not_leak():
46+
import pyray as rl
47+
rl.set_config_flags(rl.ConfigFlags.FLAG_WINDOW_HIDDEN)
48+
from openpilot.system.ui.lib.application import gui_app
49+
50+
# mici dialogs
51+
from openpilot.selfdrive.ui.mici.layouts.onboarding import TrainingGuide as MiciTrainingGuide, OnboardingWindow as MiciOnboardingWindow
52+
from openpilot.selfdrive.ui.mici.onroad.driver_camera_dialog import DriverCameraDialog as MiciDriverCameraDialog
53+
from openpilot.selfdrive.ui.mici.widgets.pairing_dialog import PairingDialog as MiciPairingDialog
54+
from openpilot.selfdrive.ui.mici.widgets.dialog import BigDialog, BigConfirmationDialog, BigInputDialog
55+
from openpilot.selfdrive.ui.mici.layouts.settings.device import MiciFccModal
56+
57+
# tici dialogs
58+
from openpilot.selfdrive.ui.onroad.driver_camera_dialog import DriverCameraDialog as TiciDriverCameraDialog
59+
from openpilot.selfdrive.ui.layouts.onboarding import OnboardingWindow as TiciOnboardingWindow
60+
from openpilot.selfdrive.ui.widgets.pairing_dialog import PairingDialog as TiciPairingDialog
61+
from openpilot.system.ui.widgets.confirm_dialog import ConfirmDialog
62+
from openpilot.system.ui.widgets.option_dialog import MultiOptionDialog
63+
from openpilot.system.ui.widgets.html_render import HtmlModal
64+
from openpilot.system.ui.widgets.keyboard import Keyboard
65+
6566
gui_app.init_window("ref-test")
6667

6768
leaked_widgets = set()

0 commit comments

Comments
 (0)