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.
 
 
 
 
 
 
Lukas Petersson 4171e45e9c process replay: regen in parallel (#24628) 3 years ago
..
.gitignore test_debayer.py some PC fixes (#24449) 3 years ago
README.md process replay: only download used logs (#24661) 3 years ago
__init__.py selfdrive/test 5 years ago
compare_logs.py process replay: support running in parallel (#24534) 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 Fix onnx model replay (#24702) 3 years ago
model_replay_ref_commit New model: better laneless (#24605) 3 years ago
process_replay.py less TICI when not needed (#24698) 3 years ago
ref_commit Car documentation: set steering torque star using car interface (#24709) 3 years ago
regen.py process replay: regen in parallel (#24628) 3 years ago
regen_all.py process replay: regen in parallel (#24628) 3 years ago
test_debayer.py make debayer faster (#24557) 3 years ago
test_fuzzy.py update test fuzzy 4 years ago
test_processes.py process replay: upload-only bug (#24722) 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
  • 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.