[ROS1][tests][refact] Update tests
Based on !380 (merged)
Goal
Clean the tests. Fix non deterministic tests failures because of frame dropping.
**NOTE** : CI pipeline will fail
Changes
Feat
The comparison of a frame from the reference file is performed based on timestamp and not on direct order. This allows to drop some frames. A threshold number of dropped frames is added. This fixes potential communication issues.
The threshold for computation time is increased to solve the failure cases due to high computation time variations between runs.
Style
- Long lines are cut
- Upper/Lower cases are uniformized
- Comments are enriched/corrected
- Parameters are regrouped
- Spaces are added
Refact
- The format f the files is updated to CSV (comma) with header line. The poses are saved as inline matrices to make the representation easier and avoid Euler angles convention mixes.
- The averaging process is factorized into a manager to avoid multiple counters
Fix
Pass artifacts between jobs with dependencies keyword in CI script
Results
See pipeline : it fails because the file format has changed but it is expected.
Checklist
-
Camel case everywhere except for ROS variables/parameters -
Lower case for local variables and lambda functions -
Upper case for pour members, methods and tool functions (in Utils) -
Precise namespace when calling a function (or this->X or classe.X) -
Align code (for multiline if and while, "&&" or "||" go in upper line to ensure alignement) -
Space between if, while, for and parenthesis -
Space between operators and variables: e.g. a + b -
Space after "," -
Mind your commit titles/desc (plurals, he/she + "s", correct tags, title should begin by a verb...) -
Function names should start with a verb, variable names should start with a name -
Macros should be between {} -
Do not use negative boolean (i.e. noJoe) -
Check minimal size of the types (double -> float -> int -> uint) -
Check const and ref in functions arguments -
References should be written "type& name", not "type &name" -
Update documentation if needed -
Add MR labels [ROS]/[ROS2]/[PV] -
If ros/ros2, update task table here -
Add a comment over each non trivial function in header files -
Add a header to each new file
Edited by Julia Sanchez