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.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.6 KiB
						
					
					
				#!/usr/bin/env python3
 | 
						|
import unittest
 | 
						|
 | 
						|
from selfdrive.car.car_helpers import interfaces, get_interface_attr
 | 
						|
from selfdrive.car.docs import CARS_MD_OUT, CARS_MD_TEMPLATE, generate_cars_md, get_all_car_info
 | 
						|
 | 
						|
 | 
						|
class TestCarDocs(unittest.TestCase):
 | 
						|
  def setUp(self):
 | 
						|
    self.all_cars = get_all_car_info()
 | 
						|
 | 
						|
  def test_generator(self):
 | 
						|
    generated_cars_md = generate_cars_md(self.all_cars, CARS_MD_TEMPLATE)
 | 
						|
    with open(CARS_MD_OUT, "r") as f:
 | 
						|
      current_cars_md = f.read()
 | 
						|
 | 
						|
    self.assertEqual(generated_cars_md, current_cars_md,
 | 
						|
                     "Run selfdrive/car/docs.py to generate new supported cars documentation")
 | 
						|
 | 
						|
  def test_missing_car_info(self):
 | 
						|
    all_car_info_platforms = get_interface_attr("CAR_INFO", combine_brands=True).keys()
 | 
						|
    for platform in sorted(interfaces.keys()):
 | 
						|
      if platform not in all_car_info_platforms:
 | 
						|
        self.fail("Platform: {} doesn't exist in CarInfo".format(platform))
 | 
						|
 | 
						|
  def test_naming_conventions(self):
 | 
						|
    # Asserts market-standard car naming conventions by make
 | 
						|
    for car in self.all_cars:
 | 
						|
      tokens = car.model.lower().split(" ")
 | 
						|
      if car.car_name == "hyundai":
 | 
						|
        self.assertNotIn("phev", tokens, "Use `Plug-in Hybrid`")
 | 
						|
        self.assertNotIn("hev", tokens, "Use `Hybrid`")
 | 
						|
        self.assertNotIn("ev", tokens, "Use `Electric`")
 | 
						|
        if "plug-in hybrid" in car.model.lower():
 | 
						|
          self.assertIn("Plug-in Hybrid", car.model, "Use correct capitalization")
 | 
						|
      elif car.car_name == "toyota":
 | 
						|
        if "rav4" in tokens:
 | 
						|
          self.assertIn("RAV4", car.model, "Use correct capitalization")
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
  unittest.main()
 | 
						|
 |