-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Closed
Labels
C: crashBlack is crashingBlack is crashingC: parserHow we parse code. Or fail to parse it.How we parse code. Or fail to parse it.T: bugSomething isn't workingSomething isn't working
Description
weird = "pass #\r#\n"
exec(weird) # works, as does `compile` etc.
black.format_str(weird, mode=black.FileMode()) # fails with `black.InvalidInput`Operating system: Windows
Python version: 3.7.3
Black version: 19.3b0
Does also happen on master: yes (website hangs)
I found this weird little string with hypothesmith, a tool for generating Python source code with Hypothesis that I started at the PyCon NA sprints and published at the PyCon AU sprints. Currently it works based on an approximate grammar, post-processing, and filtering.
CC @ambv who I know was interested in fuzzing 😄. Next steps... I think a combination of targeted mutation (open PR upstream) and spending more than a few minutes of CPU time could turn up a lot more weird things!
jeshan
Metadata
Metadata
Assignees
Labels
C: crashBlack is crashingBlack is crashingC: parserHow we parse code. Or fail to parse it.How we parse code. Or fail to parse it.T: bugSomething isn't workingSomething isn't working