As part of the efforts to improve the test infrastructure of ROS I implemented a Python package hypothesis-ros. It provides “strategies” (data generators) for ROS messages/parameters and allows to implement strategies for custom messages. These “strategies” can be used to apply property based testing on the ROS node/nodelet level. The package has Python dependencies only and is deployed on pypi (hypothesis-ros v0.1.0). A ROS release is on the TODO list. Documentation: The best documentation are tests
Happy ROS node/nodelet fuzzy testing (Good luck! You’ll need it… probably.)
Side note: I will only add strategies which I need for work. However PRs to get other strategies added are welcome.
Reference to announcement of the package: ROS Quality Assurance Working Group meeting minutes April 2018 Meeting
A tribute to contributers:
- Zac-HD (GitHub) (developer @ HypothesisWorks)
- Minipada (GitHub) (developer @ synapticon)