test_fw_query_on_routes: get first qlog (#31496)

* fast

* this isn't internal

* see
old-commit-hash: c5f1f4c676
chrysler-long2
Shane Smiskol 1 year ago committed by GitHub
parent 8656ef12c5
commit aeb904d5da
  1. 6
      selfdrive/debug/test_fw_query_on_routes.py
  2. 10
      tools/lib/route.py
  3. 2
      tools/lib/tests/test_comma_car_segments.py

@ -44,11 +44,15 @@ if __name__ == "__main__":
dongles = [] dongles = []
for route in tqdm(routes): for route in tqdm(routes):
dongle_id = SegmentRange(route).dongle_id sr = SegmentRange(route)
dongle_id = sr.dongle_id
if dongle_id in dongles: if dongle_id in dongles:
continue continue
if sr.slice == '' and sr.selector is None:
route += '/0'
lr = LogReader(route, default_mode=ReadMode.QLOG) lr = LogReader(route, default_mode=ReadMode.QLOG)
try: try:

@ -264,7 +264,7 @@ class SegmentRange:
return self.m.group("timestamp") return self.m.group("timestamp")
@property @property
def _slice(self) -> str: def slice(self) -> str:
return self.m.group("slice") or "" return self.m.group("slice") or ""
@property @property
@ -273,12 +273,12 @@ class SegmentRange:
@property @property
def seg_idxs(self) -> list[int]: def seg_idxs(self) -> list[int]:
m = re.fullmatch(RE.SLICE, self._slice) m = re.fullmatch(RE.SLICE, self.slice)
assert m is not None, f"Invalid slice: {self._slice}" assert m is not None, f"Invalid slice: {self.slice}"
start, end, step = (None if s is None else int(s) for s in m.groups()) start, end, step = (None if s is None else int(s) for s in m.groups())
# one segment specified # one segment specified
if start is not None and end is None and ':' not in self._slice: if start is not None and end is None and ':' not in self.slice:
if start < 0: if start < 0:
start += get_max_seg_number_cached(self) + 1 start += get_max_seg_number_cached(self) + 1
return [start] return [start]
@ -291,7 +291,7 @@ class SegmentRange:
return list(range(end + 1))[s] return list(range(end + 1))[s]
def __str__(self) -> str: def __str__(self) -> str:
return f"{self.dongle_id}/{self.timestamp}" + (f"/{self._slice}" if self._slice else "") + (f"/{self.selector}" if self.selector else "") return f"{self.dongle_id}/{self.timestamp}" + (f"/{self.slice}" if self.slice else "") + (f"/{self.selector}" if self.selector else "")
def __repr__(self) -> str: def __repr__(self) -> str:
return self.__str__() return self.__str__()

@ -25,7 +25,7 @@ class TestCommaCarSegments(unittest.TestCase):
sr = SegmentRange(segment) sr = SegmentRange(segment)
url = get_url(sr.route_name, sr._slice) url = get_url(sr.route_name, sr.slice)
resp = requests.get(url) resp = requests.get(url)
self.assertEqual(resp.status_code, 200) self.assertEqual(resp.status_code, 200)

Loading…
Cancel
Save