openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.

49 lines
1.1 KiB

#!/usr/bin/env python3
import time
import unittest
import cereal.messaging as messaging
from panda import Panda
from selfdrive.test.helpers import phone_only
from selfdrive.manager.process_config import managed_processes
from system.hardware import HARDWARE
class TestPandad(unittest.TestCase):
def tearDown(self):
managed_processes['pandad'].stop()
def _wait_for_boardd(self):
sm = messaging.SubMaster(['peripheralState'])
for _ in range(30):
sm.update(1000)
if sm.updated['peripheralState']:
break
if not sm.updated['peripheralState']:
raise Exception("boardd failed to start")
@phone_only
def test_in_dfu(self):
HARDWARE.recover_internal_panda()
time.sleep(1)
managed_processes['pandad'].start()
self._wait_for_boardd()
@phone_only
def test_in_bootstub(self):
with Panda() as p:
p.reset(enter_bootstub=True)
assert p.bootstub
managed_processes['pandad'].start()
self._wait_for_boardd()
#def test_out_of_date_fw(self):
# pass
if __name__ == "__main__":
unittest.main()