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.
47 lines
2.0 KiB
47 lines
2.0 KiB
# 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.
|
|
|