CAN fingerprint: test fingerprint response (#29462)

* test finger

* split up
old-commit-hash: 19767da6688f0f9ae1b91f332a78d76af2745811
This commit is contained in:
Shane Smiskol
2023-08-18 00:37:32 -07:00
committed by GitHub
parent 3078da290d
commit 81e7f53ccb
+6 -3
View File
@@ -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__":