donkirkby / donkirkby/live-py-plugin
Extend fuzz testing
- Dominant language
- Python
- Stars
- 302
- Forks
- 63
- Avg merge
- 6h 50m
- Merged PRs (30d)
- 2
Description
The current [fuzz test] includes assignments, printing, and for loops. Add more types of statements to `generate_statements()`.
To learn how, read about [abstract syntax trees] and then generate trees from sample code using the [`dump_syntax.py`] script. Whatever code you generate, the test just checks if it gets displayed the same way after tracing.
See a list of the issues that fuzz testing has [already found].
[fuzz test]: https://github.com/donkirkby/live-py-plugin/blob/master/test/PySrc/tests/fuzz.py
[abstract syntax trees]: https://docs.python.org/3/library/ast.html
[`dump_syntax.py`]: https://github.com/donkirkby/live-py-plugin/blob/master/test/PySrc/tools/dump_syntax.py
[already found]: https://github.com/donkirkby/live-py-plugin/issues?q=label%3A%22fuzz+find%22
Contributor guide
Research direction
Start in test/PySrc/tests/fuzz.py at generate_statements(), then read the Python abstract syntax tree documentation and use test/PySrc/tools/dump_syntax.py on sample code to inspect statement trees. Add more statement types and confirm that generated code is displayed the same way after tracing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100