From 37341d2bcaaf9c1f7cd9b04346738e874a408242 Mon Sep 17 00:00:00 2001 From: Dom <168790843+firestar5683@users.noreply.github.com> Date: Sat, 31 Oct 2026 00:00:28 -0500 Subject: [PATCH] Fix CI type narrowing, fixtures and executable metadata Preserve SLC validation behavior with explicit None narrowing, use existing Mock test doubles, and restore controlsd executable metadata without content changes. Keep exact torque gain expectations while matching the existing list representation. Validated 1095 related tests, targeted ty and Ruff; prior baseline comparison and 4236 guard-equivalence cases preserve existing rejection semantics. Refresh the inventory receipt only for these validated changes. --- opendbc_repo/opendbc/car/gm/tests/test_ordinary_ascm.py | 2 +- opendbc_repo/opendbc/car/gm/tests/test_ordinary_cc.py | 2 +- openpilot/selfdrive/car/cruise.py | 2 +- openpilot/selfdrive/controls/controlsd.py | 0 openpilot/starpilot/lateral/tests/test_bolt_torque_policy.py | 4 ++-- openpilot/starpilot/lateral/tests/test_volt_torque_policy.py | 4 ++-- openpilot/starpilot/speed_limits/tests/test_engagement.py | 4 ++-- prebuilt.json | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) mode change 100644 => 100755 openpilot/selfdrive/controls/controlsd.py diff --git a/opendbc_repo/opendbc/car/gm/tests/test_ordinary_ascm.py b/opendbc_repo/opendbc/car/gm/tests/test_ordinary_ascm.py index 784a96588f..a83a716266 100644 --- a/opendbc_repo/opendbc/car/gm/tests/test_ordinary_ascm.py +++ b/opendbc_repo/opendbc/car/gm/tests/test_ordinary_ascm.py @@ -60,7 +60,7 @@ class TestOrdinaryAscm(unittest.TestCase): owner = LatControlTorque(cp, ci, .01) self.assertEqual(owner.controller_mode, ControllerMode.STARPILOT) self.assertEqual(owner.controller_policy, 'ordinary_ascm') - self.assertEqual(owner.pid._k_p, ([0], [.6])) + self.assertEqual(owner.pid._k_p, [[0.0], [.6]]) self.assertEqual(owner.pid._k_i, ([0], [.35])) standard = LatControlTorque(cp, ci, .01, controller_mode=ControllerMode.STANDARD) self.assertEqual(standard.pid._k_p, [INTERP_SPEEDS, KP_INTERP]) diff --git a/opendbc_repo/opendbc/car/gm/tests/test_ordinary_cc.py b/opendbc_repo/opendbc/car/gm/tests/test_ordinary_cc.py index 4d48b44d8d..709cabd290 100644 --- a/opendbc_repo/opendbc/car/gm/tests/test_ordinary_cc.py +++ b/opendbc_repo/opendbc/car/gm/tests/test_ordinary_cc.py @@ -422,7 +422,7 @@ class TestOrdinaryCc(unittest.TestCase): ci = CarInterface(cp) owner = LatControlTorque(cp, ci, .01) self.assertEqual(owner.controller_policy, 'ordinary_cc') - self.assertEqual(owner.pid._k_p, ([0], [.6])) + self.assertEqual(owner.pid._k_p, [[0.0], [.6]]) self.assertEqual(owner.pid._k_i, ([0], [.35])) standard = LatControlTorque(cp, ci, .01, controller_mode=ControllerMode.STANDARD) self.assertIsNone(standard.starpilot_extension) diff --git a/openpilot/selfdrive/car/cruise.py b/openpilot/selfdrive/car/cruise.py index c632b6dcfd..9892cb63fe 100644 --- a/openpilot/selfdrive/car/cruise.py +++ b/openpilot/selfdrive/car/cruise.py @@ -303,7 +303,7 @@ class VCruiseHelper: def initialize_v_cruise(self, CS, experimental_mode: bool, *, resume: bool | None = None, initial_speed: object = V_CRUISE_INITIAL, slc_target_mps: float | None = None, is_metric: bool = False) -> bool: """Return whether fresh SET adopts the qualified current SLC limit.""" - if (not self.CP.openpilotLongitudinalControl or type(slc_target_mps) not in (int, float) or + if (not self.CP.openpilotLongitudinalControl or slc_target_mps is None or type(slc_target_mps) not in (int, float) or not math.isfinite(slc_target_mps) or not V_CRUISE_MIN / 3.6 - 1e-5 <= slc_target_mps <= V_CRUISE_MAX / 3.6 + 1e-5): slc_target_mps = None # PCM initializes when SLC does not own SET. diff --git a/openpilot/selfdrive/controls/controlsd.py b/openpilot/selfdrive/controls/controlsd.py old mode 100644 new mode 100755 diff --git a/openpilot/starpilot/lateral/tests/test_bolt_torque_policy.py b/openpilot/starpilot/lateral/tests/test_bolt_torque_policy.py index 62a830bd21..b6e8dae031 100644 --- a/openpilot/starpilot/lateral/tests/test_bolt_torque_policy.py +++ b/openpilot/starpilot/lateral/tests/test_bolt_torque_policy.py @@ -104,13 +104,13 @@ class TestBoltTorquePolicy(unittest.TestCase): def test_default_kp_survives_parameter_updates_reset_and_inactive_dispatch(self): for identity in BOLT_GENERATIONS: cp, controller = self.controller(identity) - self.assertEqual(controller.pid._k_p, ([0], [0.6])) + self.assertEqual(controller.pid._k_p, [[0.0], [0.6]]) self.assertEqual(controller.pid._k_p[1][0], 0.6) controller.update_torque_parameters(3.1, 0.01, 0.09) controller.reset() state = self.state() controller.update(False, state, VehicleModel(cp), SimpleNamespace(angleOffsetDeg=0.0, roll=0.0), False, 0.001, False, 0.2) - self.assertEqual(controller.pid._k_p, ([0], [0.6])) + self.assertEqual(controller.pid._k_p, [[0.0], [0.6]]) standard = LatControlTorque(cp, CarInterface(cp), 0.01, controller_mode=ControllerMode.STANDARD) self.assertEqual(standard.pid._k_p[0], [1, 1.5, 2.0, 3.0, 5, 7.5, 10, 15, 30]) self.assertEqual(standard.pid._k_p[1][-1], 0.8) diff --git a/openpilot/starpilot/lateral/tests/test_volt_torque_policy.py b/openpilot/starpilot/lateral/tests/test_volt_torque_policy.py index 99e3ff0742..e95dbd28ca 100644 --- a/openpilot/starpilot/lateral/tests/test_volt_torque_policy.py +++ b/openpilot/starpilot/lateral/tests/test_volt_torque_policy.py @@ -79,7 +79,7 @@ class TestVoltTorquePolicy(unittest.TestCase): cp = params(CAR.CHEVROLET_VOLT_CAMERA) control = LatControlTorque(cp.as_reader(), CarInterface(cp), .01) policy = selected_policy(control) - self.assertEqual(control.pid._k_p, ([0], [.6])) + self.assertEqual(control.pid._k_p, [[0.0], [.6]]) self.assertEqual(control.pid._k_i[1], [.35]) limits = (control.pid.pos_limit, control.pid.neg_limit) conversion = [control.torque_from_lateral_accel(x, control.torque_params) for x in (-2., 0., 2.)] @@ -95,7 +95,7 @@ class TestVoltTorquePolicy(unittest.TestCase): control.reset() self.assertEqual(control.pid.i, 0.) control.update(False, state, vm, live, False, 0., False, .2) - self.assertEqual(control.pid._k_p, ([0], [.6])) + self.assertEqual(control.pid._k_p, [[0.0], [.6]]) self.assertEqual(policy.previous_measurement, 0.) self.assertEqual(control.pid.i, 0.) diff --git a/openpilot/starpilot/speed_limits/tests/test_engagement.py b/openpilot/starpilot/speed_limits/tests/test_engagement.py index 8156be7f64..dd1178d412 100644 --- a/openpilot/starpilot/speed_limits/tests/test_engagement.py +++ b/openpilot/starpilot/speed_limits/tests/test_engagement.py @@ -57,11 +57,11 @@ def owner(sm, cp, *, metric=False, resume=None): instance.slc_producer_session, instance.slc_cruise_event_id = 'card-producer', 0 instance.slc_receipts = [] instance.v_cruise_helper = cruise.VCruiseHelper(cp) - instance.vehicle_startup = SimpleNamespace(consume_cruise_resume=lambda: resume) + instance.vehicle_startup = Mock(consume_cruise_resume=lambda: resume) evidence = sm['slcDashboardObservation'] observation = SimpleNamespace(status=Status.VALID, speed_mps=float(evidence.speedMps), episode=int(evidence.episode), observed_ns=int(evidence.observedMonoTime), valid_until_ns=int(evidence.validUntilMonoTime)) - instance.CI = SimpleNamespace(CS=SimpleNamespace(dashboard_limit=SimpleNamespace(observation=observation))) + instance.CI = Mock(CS=SimpleNamespace(dashboard_limit=SimpleNamespace(observation=observation))) return instance diff --git a/prebuilt.json b/prebuilt.json index ee52ea5f15..a6c81c02d7 100644 --- a/prebuilt.json +++ b/prebuilt.json @@ -1 +1 @@ -{"protected_inventory_sha256": "dd672f2be1c30ef736486faf6273f52cb619ecdbedaa758a81d1eb717d0d090b", "schema_version": 1} +{"protected_inventory_sha256": "2a8df7b619523551dd43e8fb18af97eb7692ac868dbf8e72b5d4978ad076bace", "schema_version": 1}