mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-10-29 01:23:58 +08:00
Exercise GM interceptor release guards in native coverage
This commit is contained in:
@@ -12,7 +12,10 @@ from opendbc.safety.tests.libsafety import libsafety_py
|
||||
|
||||
class TestGmCameraAccPedal(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.safety = libsafety_py.libsafety
|
||||
self.configure_native(libsafety_py.libsafety)
|
||||
|
||||
def configure_native(self, native):
|
||||
self.safety = native
|
||||
self.release = self.safety.set_safety_hooks(CarParams.SafetyModel.allOutput, 0) != 0
|
||||
self.packer = CANPacker(DBC[CAR.CHEVROLET_SILVERADO][Bus.pt])
|
||||
self.cp = SimpleNamespace(carFingerprint=CAR.CHEVROLET_SILVERADO)
|
||||
|
||||
@@ -17,7 +17,10 @@ def crc(data):
|
||||
|
||||
class TestGmCcPedal(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.safety = libsafety_py.libsafety
|
||||
self.configure_native(libsafety_py.libsafety)
|
||||
|
||||
def configure_native(self, native):
|
||||
self.safety = native
|
||||
self.packer = CANPacker('gm_global_a_powertrain_generated')
|
||||
self.init(0xC180)
|
||||
|
||||
@@ -297,3 +300,24 @@ class TestGmCcPedal(unittest.TestCase):
|
||||
self.safety.set_timer(100001)
|
||||
self.assertFalse(self.safety.safety_tx_hook(self.command(2)))
|
||||
self.assertTrue(self.safety.safety_tx_hook(self.command(2, 0.)))
|
||||
|
||||
|
||||
def test_release_interceptor_guards_keep_stock_steering_without_mutating_default_native():
|
||||
"""Execute the existing physical-traffic guards on a real RELEASE library."""
|
||||
from opendbc.safety.tests.test_gm_camera_acc_pedal import TestGmCameraAccPedal
|
||||
|
||||
default, default_path = libsafety_py.libsafety, libsafety_py.libpath
|
||||
release = libsafety_py.ffi.dlopen(libsafety_py._build_libsafety(release=True))
|
||||
volt = TestGmCcPedal(methodName='test_volt_cc_exact_records_and_release_denial')
|
||||
camera = TestGmCameraAccPedal(methodName='test_exact_profiles_and_stock_without_pedal_or_gear')
|
||||
try:
|
||||
volt.configure_native(release)
|
||||
volt.test_volt_cc_exact_records_and_release_denial()
|
||||
camera.configure_native(release)
|
||||
assert camera.release
|
||||
camera.test_exact_profiles_and_stock_without_pedal_or_gear()
|
||||
finally:
|
||||
volt.doCleanups()
|
||||
camera.doCleanups()
|
||||
assert libsafety_py.libsafety is default
|
||||
assert libsafety_py.libpath == default_path
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"protected_inventory_sha256": "9328db5991b9b00ad2744212ff945b578e270783a2a0c96bc5b054308129338f", "schema_version": 1}
|
||||
{"protected_inventory_sha256": "efd5f01b16f5629c00da62d3e832b576f70f4a212ffc264ee783c393ed8f5545", "schema_version": 1}
|
||||
|
||||
Reference in New Issue
Block a user