@ -10,7 +10,8 @@ from cereal import car
from common . params import Params
from common . params import Params
from selfdrive . car . car_helpers import interfaces
from selfdrive . car . car_helpers import interfaces
from selfdrive . car . fingerprints import FW_VERSIONS
from selfdrive . car . fingerprints import FW_VERSIONS
from selfdrive . car . fw_versions import FW_QUERY_CONFIGS , FUZZY_EXCLUDE_ECUS , VERSIONS , build_fw_dict , match_fw_to_car , get_fw_versions
from selfdrive . car . fw_versions import FW_QUERY_CONFIGS , FUZZY_EXCLUDE_ECUS , VERSIONS , build_fw_dict , match_fw_to_car , get_fw_versions , get_present_ecus
from selfdrive . car . vin import get_vin
CarFw = car . CarParams . CarFw
CarFw = car . CarParams . CarFw
Ecu = car . CarParams . Ecu
Ecu = car . CarParams . Ecu
@ -190,6 +191,27 @@ class TestFwFingerprintTiming(unittest.TestCase):
self . assertLess ( avg_time , ref_time + self . TOL )
self . assertLess ( avg_time , ref_time + self . TOL )
self . assertGreater ( avg_time , ref_time - self . TOL , " Performance seems to have improved, update test refs. " )
self . assertGreater ( avg_time , ref_time - self . TOL , " Performance seems to have improved, update test refs. " )
def test_startup_timing ( self ) :
# Tests worse-case VIN query time and typical present ECU query time
vin_ref_time = 1.0
present_ecu_ref_time = 0.8
fake_socket = FakeSocket ( )
present_ecu_time = 0.0
for _ in range ( self . N ) :
thread = threading . Thread ( target = get_present_ecus , args = ( fake_socket , fake_socket ) ,
kwargs = dict ( num_pandas = 2 ) )
present_ecu_time + = self . _run_thread ( thread )
self . _assert_timing ( present_ecu_time / self . N , present_ecu_ref_time )
print ( f ' get_present_ecus, query time= { present_ecu_time / self . N } seconds ' )
vin_time = 0.0
for _ in range ( self . N ) :
thread = threading . Thread ( target = get_vin , args = ( fake_socket , fake_socket , 1 ) )
vin_time + = self . _run_thread ( thread )
self . _assert_timing ( vin_time / self . N , vin_ref_time )
print ( f ' get_vin, query time= { vin_time / self . N } seconds ' )
def test_fw_query_timing ( self ) :
def test_fw_query_timing ( self ) :
total_ref_time = 6.1
total_ref_time = 6.1
brand_ref_times = {
brand_ref_times = {