|
|
|
@ -8,6 +8,7 @@ from typing import List, Optional, Tuple |
|
|
|
|
from parameterized import parameterized_class |
|
|
|
|
|
|
|
|
|
from cereal import log, car |
|
|
|
|
from common.basedir import BASEDIR |
|
|
|
|
from common.realtime import DT_CTRL |
|
|
|
|
from selfdrive.boardd.boardd import can_capnp_to_can_list, can_list_to_can_capnp |
|
|
|
|
from selfdrive.car.fingerprints import all_known_cars |
|
|
|
@ -27,21 +28,31 @@ PandaType = log.PandaState.PandaType |
|
|
|
|
|
|
|
|
|
NUM_JOBS = int(os.environ.get("NUM_JOBS", "1")) |
|
|
|
|
JOB_ID = int(os.environ.get("JOB_ID", "0")) |
|
|
|
|
INTERNAL = os.environ.get("INTERNAL", False) |
|
|
|
|
|
|
|
|
|
ignore_addr_checks_valid = [ |
|
|
|
|
GM.BUICK_REGAL, |
|
|
|
|
HYUNDAI.GENESIS_G70_2020, |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
# build list of test cases |
|
|
|
|
routes_by_car = defaultdict(set) |
|
|
|
|
for r in routes: |
|
|
|
|
routes_by_car[r.car_model].add(r) |
|
|
|
|
|
|
|
|
|
test_cases: List[Tuple[str, Optional[CarTestRoute]]] = [] |
|
|
|
|
for i, c in enumerate(sorted(all_known_cars())): |
|
|
|
|
if i % NUM_JOBS == JOB_ID: |
|
|
|
|
test_cases.extend((c, r) for r in routes_by_car.get(c, (None, ))) |
|
|
|
|
if INTERNAL: |
|
|
|
|
with open(SEG_LIST_PATH, "r") as f: |
|
|
|
|
seg_list = f.read().splitlines() |
|
|
|
|
platforms, segs = seg_list[0::2], seg_list[1::2] |
|
|
|
|
|
|
|
|
|
car_test_routes = [] |
|
|
|
|
for platform, seg in list(zip(platforms, segs)): |
|
|
|
|
car_test_routes.append(CarTestRoute(seg[:37], platform[2:], segment=int(seg[39:]))) |
|
|
|
|
else: |
|
|
|
|
# build list of test cases |
|
|
|
|
routes_by_car = defaultdict(set) |
|
|
|
|
for r in routes: |
|
|
|
|
routes_by_car[r.car_model].add(r) |
|
|
|
|
|
|
|
|
|
test_cases: List[Tuple[str, Optional[CarTestRoute]]] = [] |
|
|
|
|
for i, c in enumerate(sorted(all_known_cars())): |
|
|
|
|
if i % NUM_JOBS == JOB_ID: |
|
|
|
|
test_cases.extend((c, r) for r in routes_by_car.get(c, (None, ))) |
|
|
|
|
|
|
|
|
|
SKIP_ENV_VAR = "SKIP_LONG_TESTS" |
|
|
|
|
|
|
|
|
|