You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							912 B
						
					
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							912 B
						
					
					
				| #!/usr/bin/env python3
 | |
| from parameterized import parameterized
 | |
| import unittest
 | |
| 
 | |
| from openpilot.selfdrive.car.gm.values import CAMERA_ACC_CAR, CAR, FINGERPRINTS, GM_RX_OFFSET
 | |
| 
 | |
| CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
 | |
| 
 | |
| 
 | |
| class TestGMFingerprint(unittest.TestCase):
 | |
|   @parameterized.expand(FINGERPRINTS.items())
 | |
|   def test_can_fingerprints(self, car_model, fingerprints):
 | |
|     self.assertGreater(len(fingerprints), 0)
 | |
| 
 | |
|     # Trailblazer is in dashcam
 | |
|     if car_model != CAR.TRAILBLAZER:
 | |
|       self.assertTrue(all(len(finger) for finger in fingerprints))
 | |
| 
 | |
|     # The camera can sometimes be communicating on startup
 | |
|     if car_model in CAMERA_ACC_CAR - {CAR.TRAILBLAZER}:
 | |
|       for finger in fingerprints:
 | |
|         for required_addr in (CAMERA_DIAGNOSTIC_ADDRESS, CAMERA_DIAGNOSTIC_ADDRESS + GM_RX_OFFSET):
 | |
|           self.assertEqual(finger.get(required_addr), 8, required_addr)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|   unittest.main()
 | |
| 
 |