diff --git a/msgq_repo/msgq/msgq_tests.cc b/msgq_repo/msgq/msgq_tests.cc index 5efb7aca09..6fb79bd41e 100644 --- a/msgq_repo/msgq/msgq_tests.cc +++ b/msgq_repo/msgq/msgq_tests.cc @@ -7,10 +7,14 @@ static void cleanup_test_queue() { #ifdef __APPLE__ - remove("/tmp/msgq_test_queue"); + std::string file = "/tmp/msgq_"; #else - remove("/dev/shm/msgq_test_queue"); + std::string file = "/dev/shm/msgq_"; #endif + const char *prefix = std::getenv("OPENPILOT_PREFIX"); + if (prefix != nullptr) file += std::string(prefix) + "/"; + file += "test_queue"; + std::remove(file.c_str()); } TEST_CASE("ALIGN") diff --git a/opendbc_repo/opendbc/car/hyundai/tests/test_ioniq6_handoff.py b/opendbc_repo/opendbc/car/hyundai/tests/test_ioniq6_handoff.py index 11672217d1..b07a51425f 100644 --- a/opendbc_repo/opendbc/car/hyundai/tests/test_ioniq6_handoff.py +++ b/opendbc_repo/opendbc/car/hyundai/tests/test_ioniq6_handoff.py @@ -851,6 +851,7 @@ class TestIoniq6PrepublicationHandoff(unittest.TestCase): card_owner.rk = SimpleNamespace(remaining=0.0) card_owner.is_metric = True card_owner.experimental_mode = False + card_owner.initial_cruise_speed = 40 card_owner.v_cruise_helper = SimpleNamespace(update_v_cruise=lambda *_: None, initialize_v_cruise=lambda *_, **kwargs: None, slc_consumed_button=None, slc_cruise_change=None, v_cruise_kph=60.0, v_cruise_cluster_kph=60.0) diff --git a/openpilot/starpilot/longitudinal/tests/test_cruise_delay.py b/openpilot/starpilot/longitudinal/tests/test_cruise_delay.py index 500984d881..6589b259e9 100644 --- a/openpilot/starpilot/longitudinal/tests/test_cruise_delay.py +++ b/openpilot/starpilot/longitudinal/tests/test_cruise_delay.py @@ -48,7 +48,7 @@ class NativeCruiseDelayTests(unittest.TestCase): kwargs: dict[str, Any] = {'now_ns': NOW, 'drive_id': DRIVE} if case == 'profile': kwargs['profile_tuning'] = ProfileTuning('standard', 1.8, 1., 1., 1., 1., 1., - acceleration_max=.7, cruise_brake_magnitude=.4) + acceleration_max=.7, cruise_brake_magnitude=.6) if case in ('cem', 'experimental'): kwargs['conditional_handoff'] = KEY before = message_bytes(envelopes) @@ -99,7 +99,9 @@ class NativeCruiseDelayTests(unittest.TestCase): np.testing.assert_allclose(current.mpc.x0[1:], expected_state) if case == 'profile': self.assertIsNotNone(current.last_profile) - self.assertAlmostEqual(float(current.mpc.params[0, 4]), 1.8) + # A valid ordinary profile fades from native 1.45 by dt=.05. + self.assertAlmostEqual(current.last_profile.follow_seconds, 1.5) + self.assertAlmostEqual(float(current.mpc.params[0, 4]), current.last_profile.follow_seconds) if case in ('cem', 'experimental'): # This single-cycle fixture proves handoff admission, not a transition hold. self.assertEqual(current.experimental_release.key, KEY) diff --git a/openpilot/starpilot/ui/tests/test_native_settings_pages.py b/openpilot/starpilot/ui/tests/test_native_settings_pages.py index 8cb56213f6..09083d8b0d 100644 --- a/openpilot/starpilot/ui/tests/test_native_settings_pages.py +++ b/openpilot/starpilot/ui/tests/test_native_settings_pages.py @@ -58,7 +58,8 @@ class NativeSettingsPageTests(unittest.TestCase): params.put_bool("IsMetric", metric, block=True) params.put("InitialCruiseSpeedKph", 80, block=True) ui.is_metric, ui.initial_cruise_speed = metric, 80 - control = initial_speed.InitialCruiseSpeedControl() + with patch.object(gui_app, 'font', return_value=rl.Font()): + control = initial_speed.InitialCruiseSpeedControl() row = item("Initial Max Speed", control) pane = self.panel([row]) pane.title = "Toggles" @@ -525,6 +526,7 @@ class NativeSettingsPageTests(unittest.TestCase): owner._slc_offsets = NS(_raw=lambda key: b'0') owner._update_experimental_mode_icon = Mock() owner._long_personality_setting = personality + owner._initial_cruise_speed = NS(action_item=NS(refresh=Mock())) owner._scroller = NS(_items=[toggle, personality, experimental]) pane = self.panel(owner._scroller._items) pane.panel, pane.title = owner, 'Toggles' diff --git a/tools/ci/schema-policy.json b/tools/ci/schema-policy.json index 2707628d0a..e577d55f83 100644 --- a/tools/ci/schema-policy.json +++ b/tools/ci/schema-policy.json @@ -1,6 +1,6 @@ { "schema_version": 2, - "upstream_commit": "3f06ed3bc7a4cc9c320be1f7d03dcd8a885a8e6f", + "upstream_commit": "2ab952d5eb16020116d3354b83f30303db5a99b4", "opendbc_commit": "35f7e0813462607ef1d703e52313e7571e31405d", "unchanged_schemas": { "openpilot/cereal/deprecated.capnp": "b3aa5c13de40001ed7376cef858500fb003f7698f96131cd0db18d878fa1af0d", @@ -9,7 +9,7 @@ "opendbc_repo/opendbc/car/include/c++.capnp": "fb306076cd38c27af1aed20fac6395e9a46fbe5b5df6a248b5f1b6845a079c44", "opendbc_repo/opendbc/car/rlog.capnp": "76331a09f36764d08228ba1ed6c03419cc8cdfcc797db98c4d56fab52a6ac050" }, - "log_sha256": "bf39b822e577afdd6caacabde77261ac5c0929767c2f0e4ff7d5e5429e3d4c14", + "log_sha256": "4036fc4a3e653d877eee57a902fe59776dca607d95c17d29ca46b0db4c9313d9", "custom_header": "using Cxx = import \"/include/c++.capnp\";\n$Cxx.namespace(\"cereal\");\nusing Car = import \"/car.capnp\";\n\n@0xb526ba661d550a59;\n\n# custom.capnp: a home for empty structs reserved for custom forks\n# These structs are guaranteed to remain reserved and empty in mainline\n# cereal, so use these if you want custom events in your fork.\n\n# DO rename the structs\n# DON'T change the identifier (e.g. @0x81c2f05a394cf4af)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n# Automatic FLM adds children only to existing reserved fork carriers.\n# All evidence clocks are explicitly MONOTONIC; default/version0 is invalid.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", "historical_empty_slots": [ 5