CAN fingerprint: test fingerprint response (#29462)

* test finger

* split up
old-commit-hash: 19767da668
beeps
Shane Smiskol 2 years ago committed by GitHub
parent 3078da290d
commit 81e7f53ccb
  1. 9
      selfdrive/car/tests/test_can_fingerprint.py

@ -10,17 +10,20 @@ from selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS
class TestCanFingerprint(unittest.TestCase):
@parameterized.expand([(c, f) for c, f in FINGERPRINTS.items()])
def test_can_fingerprint(self, car_model, fingerprints):
# Tests online fingerprinting function on offline fingerprints
"""Tests online fingerprinting function on offline fingerprints"""
for fingerprint in fingerprints: # can have multiple fingerprints for each platform
can = messaging.new_message('can', 1)
can.can = [log.CanData(address=address, dat=b'\x00' * length)
for address, length in fingerprint.items()]
can.can = [log.CanData(address=address, dat=b'\x00' * length, src=src)
for address, length in fingerprint.items() for src in (0, 1)]
fingerprint_iter = iter([can])
empty_can = messaging.new_message('can', 0)
car_fingerprint, finger = can_fingerprint(lambda: next(fingerprint_iter, empty_can)) # noqa: B023
self.assertEqual(car_fingerprint, car_model)
self.assertEqual(finger[0], fingerprint)
self.assertEqual(finger[1], fingerprint)
if __name__ == "__main__":

Loading…
Cancel
Save