@ -15,12 +15,12 @@ from openpilot.common.basedir import BASEDIR
from openpilot . common . params import Params
from openpilot . common . params import Params
from openpilot . common . realtime import DT_CTRL
from openpilot . common . realtime import DT_CTRL
from openpilot . selfdrive . car import gen_empty_fingerprint
from openpilot . selfdrive . car import gen_empty_fingerprint
from openpilot . selfdrive . car . card import CarD
from openpilot . selfdrive . car . fingerprints import all_known_cars , MIGRATION
from openpilot . selfdrive . car . fingerprints import all_known_cars , MIGRATION
from openpilot . selfdrive . car . car_helpers import FRAME_FINGERPRINT , interfaces
from openpilot . selfdrive . car . car_helpers import FRAME_FINGERPRINT , interfaces
from openpilot . selfdrive . car . honda . values import CAR as HONDA , HondaFlags
from openpilot . selfdrive . car . honda . values import CAR as HONDA , HondaFlags
from openpilot . selfdrive . car . tests . routes import non_tested_cars , routes , CarTestRoute
from openpilot . selfdrive . car . tests . routes import non_tested_cars , routes , CarTestRoute
from openpilot . selfdrive . car . values import Platform
from openpilot . selfdrive . car . values import Platform
from openpilot . selfdrive . controls . controlsd import Controls
from openpilot . selfdrive . test . helpers import read_segment_list
from openpilot . selfdrive . test . helpers import read_segment_list
from openpilot . system . hardware . hw import DEFAULT_DOWNLOAD_CACHE_ROOT
from openpilot . system . hardware . hw import DEFAULT_DOWNLOAD_CACHE_ROOT
from openpilot . tools . lib . logreader import LogReader , internal_source , openpilotci_source
from openpilot . tools . lib . logreader import LogReader , internal_source , openpilotci_source
@ -406,8 +406,7 @@ class TestCarModelBase(unittest.TestCase):
controls_allowed_prev = False
controls_allowed_prev = False
CS_prev = car . CarState . new_message ( )
CS_prev = car . CarState . new_message ( )
checks = defaultdict ( int )
checks = defaultdict ( int )
controlsd = Controls ( CI = self . CI )
card = CarD ( CI = self . CI )
controlsd . initialized = True
for idx , can in enumerate ( self . can_msgs ) :
for idx , can in enumerate ( self . can_msgs ) :
CS = self . CI . update ( CC , ( can . as_builder ( ) . to_bytes ( ) , ) )
CS = self . CI . update ( CC , ( can . as_builder ( ) . to_bytes ( ) , ) )
for msg in filter ( lambda m : m . src in range ( 64 ) , can . can ) :
for msg in filter ( lambda m : m . src in range ( 64 ) , can . can ) :
@ -452,10 +451,10 @@ class TestCarModelBase(unittest.TestCase):
checks [ ' cruiseState ' ] + = CS . cruiseState . enabled != self . safety . get_cruise_engaged_prev ( )
checks [ ' cruiseState ' ] + = CS . cruiseState . enabled != self . safety . get_cruise_engaged_prev ( )
else :
else :
# Check for enable events on rising edge of controls allowed
# Check for enable events on rising edge of controls allowed
controls d . update_events ( CS )
car d . update_events ( CS )
controls d . CS_prev = CS
car d . CS_prev = CS
button_enable = ( any ( evt . enable for evt in CS . events ) and
button_enable = ( any ( evt . enable for evt in CS . events ) and
not any ( evt == EventName . pedalPressed for evt in controls d . events . names ) )
not any ( evt == EventName . pedalPressed for evt in car d . events . names ) )
mismatch = button_enable != ( self . safety . get_controls_allowed ( ) and not controls_allowed_prev )
mismatch = button_enable != ( self . safety . get_controls_allowed ( ) and not controls_allowed_prev )
checks [ ' controlsAllowed ' ] + = mismatch
checks [ ' controlsAllowed ' ] + = mismatch
controls_allowed_prev = self . safety . get_controls_allowed ( )
controls_allowed_prev = self . safety . get_controls_allowed ( )