Open
Description
Polish this, and then start working on other exceptions.
- Write an e2e test.
- Run on Linux.
- Run on Windows.
- Update README to try out on Pillow?
- Update README to install from PyPI.
- Should modify only one import statement. Running against Pillow/src/PIL modifies all three plain import statements.
- failing test (test file with two imports, should change only one)
- pass the test
- Find all target elements, and choose one at random to modify.
- Implement a
--num-bugs
to introduce.- failing test
- pass the test
- Consider implementing CLI with click; it's likely to grow larger than I want to manage with stdlib.
- Parse all .py files not in .gitignore.
- Start a utils/ dir, and a set of utils functions.
- Target random .py files, not just first one found. (Target random .py files, not first one found #14)
- Support
--target-file
. - Try supporting
-e IndexError
? - Make a 0.2 release, share.
- Make a 541 request? opened 3/25/25
- Move cli files to a separate
cli/
dir, with a utils file. - Move CST classes to a separate module.
-
add_typo(name)
- Add a typo to a legal python identifier.- Remove a char (if len(name) > 1)
- Add a char
- Replace a char
- Add an illegal symbol
- Replace _ with -.
- But, make sure the intended exception is induced. ie, don't add a hyphen if that becomes a syntax error. (Maybe check the args, and if SyntaxError not in args, don't make that kind of change.)
- Keep a clean main file.
- Move most logic to other modules and subdirs.
- Finish logic for simple imports.
- Find all imports before choosing which to modify.
- Add an arg for modifying more than one. (post 1.0)
- Maybe parse all nodes before focusing on specific modifications.
- Manage git.
- Make sure .git dir.
- Make sure clean commit.
- Make a commit after modifying files.
- Make an initial release.
- Share this, for early feedback.
- Call out silly SO post.
Metadata
Metadata
Assignees
Labels
No labels