|
|
@ -14,43 +14,43 @@ def patched_controller(controller_class): |
|
|
|
class TestFanController(unittest.TestCase): |
|
|
|
class TestFanController(unittest.TestCase): |
|
|
|
def wind_up(self, controller, ignition=True): |
|
|
|
def wind_up(self, controller, ignition=True): |
|
|
|
for _ in range(1000): |
|
|
|
for _ in range(1000): |
|
|
|
controller.update(max_cpu_temp=100, ignition=ignition) |
|
|
|
controller.update(100, ignition) |
|
|
|
|
|
|
|
|
|
|
|
def wind_down(self, controller, ignition=False): |
|
|
|
def wind_down(self, controller, ignition=False): |
|
|
|
for _ in range(1000): |
|
|
|
for _ in range(1000): |
|
|
|
controller.update(max_cpu_temp=10, ignition=ignition) |
|
|
|
controller.update(10, ignition) |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
def test_hot_onroad(self, controller_class): |
|
|
|
def test_hot_onroad(self, controller_class): |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
self.wind_up(controller) |
|
|
|
self.wind_up(controller) |
|
|
|
self.assertGreaterEqual(controller.update(max_cpu_temp=100, ignition=True), 70) |
|
|
|
self.assertGreaterEqual(controller.update(100, True), 70) |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
def test_offroad_limits(self, controller_class): |
|
|
|
def test_offroad_limits(self, controller_class): |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
self.wind_up(controller) |
|
|
|
self.wind_up(controller) |
|
|
|
self.assertLessEqual(controller.update(max_cpu_temp=100, ignition=False), 30) |
|
|
|
self.assertLessEqual(controller.update(100, False), 30) |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
def test_no_fan_wear(self, controller_class): |
|
|
|
def test_no_fan_wear(self, controller_class): |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
self.wind_down(controller) |
|
|
|
self.wind_down(controller) |
|
|
|
self.assertEqual(controller.update(max_cpu_temp=10, ignition=False), 0) |
|
|
|
self.assertEqual(controller.update(10, False), 0) |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
def test_limited(self, controller_class): |
|
|
|
def test_limited(self, controller_class): |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
self.wind_up(controller, ignition=True) |
|
|
|
self.wind_up(controller, True) |
|
|
|
self.assertGreaterEqual(controller.update(max_cpu_temp=100, ignition=True), 80) |
|
|
|
self.assertEqual(controller.update(100, True), 100) |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
@parameterized.expand(ALL_CONTROLLERS) |
|
|
|
def test_windup_speed(self, controller_class): |
|
|
|
def test_windup_speed(self, controller_class): |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
controller = patched_controller(controller_class) |
|
|
|
self.wind_down(controller, ignition=True) |
|
|
|
self.wind_down(controller, True) |
|
|
|
for _ in range(10): |
|
|
|
for _ in range(10): |
|
|
|
controller.update(max_cpu_temp=90, ignition=True) |
|
|
|
controller.update(90, True) |
|
|
|
self.assertGreaterEqual(controller.update(max_cpu_temp=90, ignition=True), 60) |
|
|
|
self.assertGreaterEqual(controller.update(90, True), 60) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
if __name__ == "__main__": |
|
|
|
unittest.main() |
|
|
|
unittest.main() |
|
|
|