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.
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.
 
 
 
 
 
 
Jason Wen 79dfc5293a Hyundai: Car Port for Tucson Hybrid 2022 (#25276) 3 years ago
..
.gitignore test_debayer.py some PC fixes (#24449) 3 years ago
README.md add laikad to process replay (#24889) 3 years ago
__init__.py selfdrive/test 5 years ago
compare_logs.py Replay: tolerances per field (#25116) 3 years ago
debayer_replay_ref_commit debayering: update test ref commit 3 years ago
helpers.py process replay: regen in parallel (#24628) 3 years ago
model_replay.py process replay: print correct ref path (#25448) 3 years ago
model_replay_ref_commit Falcon Punch Model: turn cutting improvements (#25413) 3 years ago
process_replay.py process replay: initialize controlsState with original route (#25461) 3 years ago
ref_commit Hyundai: Car Port for Tucson Hybrid 2022 (#25276) 3 years ago
regen.py process replay: initialize controlsState with original route (#25461) 3 years ago
regen_all.py regen: send wideRoadCameraState (#24863) 3 years ago
test_debayer.py Move camerad to system/ (#24836) 3 years ago
test_fuzzy.py update test fuzzy 4 years ago
test_processes.py Hyundai: Car Port for Tucson Hybrid 2022 (#25276) 3 years ago

README.md

Process replay

Process replay is a regression test designed to identify any changes in the output of a process. This test replays a segment through individual processes and compares the output to a known good replay. Each make is represented in the test with a segment.

If the test fails, make sure that you didn't unintentionally change anything. If there are intentional changes, the reference logs will be updated.

Use test_processes.py to run the test locally. Use FILEREADER_CACHE='1' test_processes.py to cache log files.

Currently the following processes are tested:

  • controlsd
  • radard
  • plannerd
  • calibrationd
  • dmonitoringd
  • locationd
  • laikad
  • paramsd
  • ubloxd

Usage

Usage: test_processes.py [-h] [--whitelist-procs PROCS] [--whitelist-cars CARS] [--blacklist-procs PROCS]
                         [--blacklist-cars CARS] [--ignore-fields FIELDS] [--ignore-msgs MSGS] [--update-refs] [--upload-only]
Regression test to identify changes in a process's output
optional arguments:
  -h, --help            show this help message and exit
  --whitelist-procs PROCS               Whitelist given processes from the test (e.g. controlsd)
  --whitelist-cars WHITELIST_CARS       Whitelist given cars from the test (e.g. HONDA)
  --blacklist-procs BLACKLIST_PROCS     Blacklist given processes from the test (e.g. controlsd)
  --blacklist-cars BLACKLIST_CARS       Blacklist given cars from the test (e.g. HONDA)
  --ignore-fields IGNORE_FIELDS         Extra fields or msgs to ignore (e.g. carState.events)
  --ignore-msgs IGNORE_MSGS             Msgs to ignore (e.g. carEvents)
  --update-refs                         Updates reference logs using current commit
  --upload-only                         Skips testing processes and uploads logs from previous test run

Forks

openpilot forks can use this test with their own reference logs, by default test_proccess.py saves logs locally.

To generate new logs:

./test_processes.py

Then, check in the new logs using git-lfs. Make sure to also update the ref_commit file to the current commit.