]>
git.madduck.net Git - etc/vim.git/blobdiff - .vim/bundle/black/scripts/fuzz.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
import re
import hypothesmith
import re
import hypothesmith
-from hypothesis import HealthCheck, given, settings, strategies as st
+from hypothesis import HealthCheck, given, settings
+from hypothesis import strategies as st
import black
from blib2to3.pgen2.tokenize import TokenError
import black
from blib2to3.pgen2.tokenize import TokenError
max_examples=1000, # roughly 1k tests/minute, or half that under coverage
derandomize=True, # deterministic mode to avoid CI flakiness
deadline=None, # ignore Hypothesis' health checks; we already know that
max_examples=1000, # roughly 1k tests/minute, or half that under coverage
derandomize=True, # deterministic mode to avoid CI flakiness
deadline=None, # ignore Hypothesis' health checks; we already know that
- suppress_health_check=HealthCheck.all( ), # this is slow and filter-heavy.
+ suppress_health_check=list(HealthCheck ), # this is slow and filter-heavy.
)
@given(
# Note that while Hypothesmith might generate code unlike that written by
)
@given(
# Note that while Hypothesmith might generate code unlike that written by
black.FileMode,
line_length=st.just(88) | st.integers(0, 200),
string_normalization=st.booleans(),
black.FileMode,
line_length=st.just(88) | st.integers(0, 200),
string_normalization=st.booleans(),
+ magic_trailing_comma=st.booleans(),
),
)
def test_idempotent_any_syntatically_valid_python(
),
)
def test_idempotent_any_syntatically_valid_python(
dst_contents = black.format_str(src_contents, mode=mode)
except black.InvalidInput:
# This is a bug - if it's valid Python code, as above, Black should be
dst_contents = black.format_str(src_contents, mode=mode)
except black.InvalidInput:
# This is a bug - if it's valid Python code, as above, Black should be
- # able to cope with it. See issues #970, #1012, #1358, and #1557.
+ # able to cope with it. See issues #970, #1012
# TODO: remove this try-except block when issues are resolved.
return
except TokenError as e:
# TODO: remove this try-except block when issues are resolved.
return
except TokenError as e:
# (if you want only bounded fuzzing, just use `pytest fuzz.py`)
try:
import sys
# (if you want only bounded fuzzing, just use `pytest fuzz.py`)
try:
import sys
+
+ import atheris # type: ignore[import]
except ImportError:
pass
else:
test = test_idempotent_any_syntatically_valid_python
except ImportError:
pass
else:
test = test_idempotent_any_syntatically_valid_python
- atheris.Setup(sys.argv, test.hypothesis.fuzz_one_input)
+ atheris.Setup(
+ sys.argv,
+ test.hypothesis.fuzz_one_input, # type: ignore[attr-defined]
+ )