donkirkby / donkirkby/live-py-plugin

Extend fuzz testing

Open
#540 1 comment 0 reactions 0 assignees View on GitHub
good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.