From c2698395bf4ead37a6ffd16a2478434a0f138768 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 14:15:59 +0000 Subject: Added fuzzer to be run with OSS-Fuzz --- jsonschema/tests/fuzz_validate.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 jsonschema/tests/fuzz_validate.py diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py new file mode 100644 index 0000000..eb1a3d3 --- /dev/null +++ b/jsonschema/tests/fuzz_validate.py @@ -0,0 +1,35 @@ +import os +import sys +import atheris + +import jsonschema +from hypothesis import given, strategies as st + +PRIM = st.one_of( + st.booleans(), + st.integers(min_value=-(2 ** 63), max_value=2 ** 63 - 1), + st.floats(allow_nan=False, allow_infinity=False), + st.text(), +) +DICT = st.recursive( + base=st.dictionaries(st.text(), PRIM), + extend=lambda inner: st.dictionaries(st.text(), inner), +) + +@given(obj1=DICT, obj2=DICT) +def test_schemas(obj1, obj2): + try: + jsonschema.validate(instance=obj1, schema=obj2) + except jsonschema.exceptions.ValidationError: + None + except jsonschema.exceptions.SchemaError: + None + +def main(): + atheris.Setup(sys.argv, + test_schemas.hypothesis.fuzz_one_input, + enable_python_coverage=True) + atheris.Fuzz() + +if __name__ == "__main__": + main() -- cgit v1.2.1 From d532f39cd18917918e8ee4b969a8babab435ae80 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 14:22:36 +0000 Subject: Fix up syntax --- jsonschema/tests/fuzz_validate.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py index eb1a3d3..8734fcd 100644 --- a/jsonschema/tests/fuzz_validate.py +++ b/jsonschema/tests/fuzz_validate.py @@ -1,9 +1,11 @@ import os import sys + +from hypothesis import given +from hypothesis import strategies as st import atheris import jsonschema -from hypothesis import given, strategies as st PRIM = st.one_of( st.booleans(), -- cgit v1.2.1 From 9cd96a5862afc432c5649072dcc0576d1fe7b780 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 14:45:31 +0000 Subject: Removed os import --- jsonschema/tests/fuzz_validate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py index 8734fcd..5bed8fd 100644 --- a/jsonschema/tests/fuzz_validate.py +++ b/jsonschema/tests/fuzz_validate.py @@ -1,4 +1,3 @@ -import os import sys from hypothesis import given -- cgit v1.2.1 From 260ca525aba50e0cf0d0b29802d6e94b073a7ffe Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 15:22:40 +0000 Subject: fuzzer: fix remaining style CI complaints --- jsonschema/tests/fuzz_validate.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py index 5bed8fd..4433b4e 100644 --- a/jsonschema/tests/fuzz_validate.py +++ b/jsonschema/tests/fuzz_validate.py @@ -17,6 +17,7 @@ DICT = st.recursive( extend=lambda inner: st.dictionaries(st.text(), inner), ) + @given(obj1=DICT, obj2=DICT) def test_schemas(obj1, obj2): try: @@ -26,11 +27,13 @@ def test_schemas(obj1, obj2): except jsonschema.exceptions.SchemaError: None + def main(): atheris.Setup(sys.argv, test_schemas.hypothesis.fuzz_one_input, enable_python_coverage=True) atheris.Fuzz() + if __name__ == "__main__": main() -- cgit v1.2.1 From 5af7e48699c7fe25d4c2f869c5f23de82de3f403 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 20:04:22 +0000 Subject: Add CI-fuzz to ensure fuzzers are run. --- .github/workflows/main.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..2d7f131 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,24 @@ +name: CIFuzz +on: [pull_request] +jobs: + Fuzzing: + runs-on: ubuntu-latest + steps: + - name: Build Fuzzers + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master + with: + oss-fuzz-project-name: 'jsonschema' + dry-run: false + - name: Run Fuzzers + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master + with: + oss-fuzz-project-name: 'jsonschema' + fuzz-seconds: 600 + dry-run: false + - name: Upload Crash + uses: actions/upload-artifact@v1 + if: failure() && steps.build.outcome == 'success' + with: + name: artifacts + path: ./out/artifacts -- cgit v1.2.1 From cd5b770c9a49ad2a7acbfda20d50c697005d18dd Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 22:11:30 +0000 Subject: Set CI fuzz to be 30 seconds. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2d7f131..b5c8434 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,7 @@ jobs: uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'jsonschema' - fuzz-seconds: 600 + fuzz-seconds: 30 dry-run: false - name: Upload Crash uses: actions/upload-artifact@v1 -- cgit v1.2.1 From 708d518add4a33f86480fc9f596abc9b0fd7ba50 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 22:35:00 +0000 Subject: set continue on error in fuzzing CI job. --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5c8434..9e83d19 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,6 +2,7 @@ name: CIFuzz on: [pull_request] jobs: Fuzzing: + continue-on-error: true runs-on: ubuntu-latest steps: - name: Build Fuzzers -- cgit v1.2.1 From f62a9aeaba6a0d3559d0f061b6c9daf0e1266768 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 22:44:51 +0000 Subject: Move continue-on-error to build step. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9e83d19..5bc0c6f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,6 @@ name: CIFuzz on: [pull_request] jobs: Fuzzing: - continue-on-error: true runs-on: ubuntu-latest steps: - name: Build Fuzzers @@ -11,6 +10,7 @@ jobs: with: oss-fuzz-project-name: 'jsonschema' dry-run: false + continue-on-error: true - name: Run Fuzzers uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: -- cgit v1.2.1 From 87a37b325ec3a3f582da786ff613cce9b4dfc63a Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 23:09:41 +0000 Subject: Try adding an success statement in CI --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5bc0c6f..8267b11 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,6 +12,7 @@ jobs: dry-run: false continue-on-error: true - name: Run Fuzzers + if: success() uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'jsonschema' -- cgit v1.2.1 From 57777daddd0e62538b5971aa307aa3ab5b8565e2 Mon Sep 17 00:00:00 2001 From: davkor Date: Thu, 21 Jan 2021 23:18:32 +0000 Subject: switch to checking steps output. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8267b11..c60a071 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: dry-run: false continue-on-error: true - name: Run Fuzzers - if: success() + if: steps.build.outcome == 'success' uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'jsonschema' -- cgit v1.2.1 From a1a02953abb187fadddc9518678f269150ee035c Mon Sep 17 00:00:00 2001 From: davkor Date: Tue, 26 Jan 2021 20:58:12 +0000 Subject: Add suggestions from Zac --- jsonschema/tests/fuzz_validate.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py index 4433b4e..3040e67 100644 --- a/jsonschema/tests/fuzz_validate.py +++ b/jsonschema/tests/fuzz_validate.py @@ -8,12 +8,12 @@ import jsonschema PRIM = st.one_of( st.booleans(), - st.integers(min_value=-(2 ** 63), max_value=2 ** 63 - 1), + st.integers(), st.floats(allow_nan=False, allow_infinity=False), st.text(), ) DICT = st.recursive( - base=st.dictionaries(st.text(), PRIM), + base=st.booleans() | st.dictionaries(st.text(), PRIM), extend=lambda inner: st.dictionaries(st.text(), inner), ) -- cgit v1.2.1 From 94e0f72081584db8dc80cc826c270dfef36f652b Mon Sep 17 00:00:00 2001 From: davkor Date: Tue, 26 Jan 2021 21:08:08 +0000 Subject: Make fuzzer friendly for pytest. --- jsonschema/tests/fuzz_validate.py | 39 ---------------------------------- jsonschema/tests/test_validate_fuzz.py | 39 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 39 deletions(-) delete mode 100644 jsonschema/tests/fuzz_validate.py create mode 100644 jsonschema/tests/test_validate_fuzz.py diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py deleted file mode 100644 index 3040e67..0000000 --- a/jsonschema/tests/fuzz_validate.py +++ /dev/null @@ -1,39 +0,0 @@ -import sys - -from hypothesis import given -from hypothesis import strategies as st -import atheris - -import jsonschema - -PRIM = st.one_of( - st.booleans(), - st.integers(), - st.floats(allow_nan=False, allow_infinity=False), - st.text(), -) -DICT = st.recursive( - base=st.booleans() | st.dictionaries(st.text(), PRIM), - extend=lambda inner: st.dictionaries(st.text(), inner), -) - - -@given(obj1=DICT, obj2=DICT) -def test_schemas(obj1, obj2): - try: - jsonschema.validate(instance=obj1, schema=obj2) - except jsonschema.exceptions.ValidationError: - None - except jsonschema.exceptions.SchemaError: - None - - -def main(): - atheris.Setup(sys.argv, - test_schemas.hypothesis.fuzz_one_input, - enable_python_coverage=True) - atheris.Fuzz() - - -if __name__ == "__main__": - main() diff --git a/jsonschema/tests/test_validate_fuzz.py b/jsonschema/tests/test_validate_fuzz.py new file mode 100644 index 0000000..956f56c --- /dev/null +++ b/jsonschema/tests/test_validate_fuzz.py @@ -0,0 +1,39 @@ +import sys + +from hypothesis import given +from hypothesis import strategies as st + +import jsonschema + +PRIM = st.one_of( + st.booleans(), + st.integers(), + st.floats(allow_nan=False, allow_infinity=False), + st.text(), +) +DICT = st.recursive( + base=st.booleans() | st.dictionaries(st.text(), PRIM), + extend=lambda inner: st.dictionaries(st.text(), inner), +) + + +@given(obj1=DICT, obj2=DICT) +def test_schemas(obj1, obj2): + try: + jsonschema.validate(instance=obj1, schema=obj2) + except jsonschema.exceptions.ValidationError: + None + except jsonschema.exceptions.SchemaError: + None + + +def main(): + atheris.Setup(sys.argv, + test_schemas.hypothesis.fuzz_one_input, + enable_python_coverage=True) + atheris.Fuzz() + + +if __name__ == "__main__": + import atheris + main() -- cgit v1.2.1 From 926f607b6540a8cba24ce33f640ddb26b57440df Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 18:54:19 -0500 Subject: Minor style fixes. --- jsonschema/tests/test_validate_fuzz.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/jsonschema/tests/test_validate_fuzz.py b/jsonschema/tests/test_validate_fuzz.py index 956f56c..8f44172 100644 --- a/jsonschema/tests/test_validate_fuzz.py +++ b/jsonschema/tests/test_validate_fuzz.py @@ -1,19 +1,22 @@ import sys -from hypothesis import given -from hypothesis import strategies as st +from hypothesis import given, strategies import jsonschema -PRIM = st.one_of( - st.booleans(), - st.integers(), - st.floats(allow_nan=False, allow_infinity=False), - st.text(), + +PRIM = strategies.one_of( + strategies.booleans(), + strategies.integers(), + strategies.floats(allow_nan=False, allow_infinity=False), + strategies.text(), ) -DICT = st.recursive( - base=st.booleans() | st.dictionaries(st.text(), PRIM), - extend=lambda inner: st.dictionaries(st.text(), inner), +DICT = strategies.recursive( + base=( + strategies.booleans() + | strategies.dictionaries(strategies.text(), PRIM), + ), + extend=lambda inner: strategies.dictionaries(strategies.text(), inner), ) @@ -22,9 +25,9 @@ def test_schemas(obj1, obj2): try: jsonschema.validate(instance=obj1, schema=obj2) except jsonschema.exceptions.ValidationError: - None + pass except jsonschema.exceptions.SchemaError: - None + pass def main(): -- cgit v1.2.1 From a5d05feb38469a058042c137ea339a3de705259c Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 18:54:40 -0500 Subject: Move the fuzz workflow to fuzz.yml. --- .github/workflows/fuzz.yml | 26 ++++++++++++++++++++++++++ .github/workflows/main.yml | 26 -------------------------- 2 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/fuzz.yml delete mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml new file mode 100644 index 0000000..c60a071 --- /dev/null +++ b/.github/workflows/fuzz.yml @@ -0,0 +1,26 @@ +name: CIFuzz +on: [pull_request] +jobs: + Fuzzing: + runs-on: ubuntu-latest + steps: + - name: Build Fuzzers + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master + with: + oss-fuzz-project-name: 'jsonschema' + dry-run: false + continue-on-error: true + - name: Run Fuzzers + if: steps.build.outcome == 'success' + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master + with: + oss-fuzz-project-name: 'jsonschema' + fuzz-seconds: 30 + dry-run: false + - name: Upload Crash + uses: actions/upload-artifact@v1 + if: failure() && steps.build.outcome == 'success' + with: + name: artifacts + path: ./out/artifacts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index c60a071..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: CIFuzz -on: [pull_request] -jobs: - Fuzzing: - runs-on: ubuntu-latest - steps: - - name: Build Fuzzers - id: build - uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master - with: - oss-fuzz-project-name: 'jsonschema' - dry-run: false - continue-on-error: true - - name: Run Fuzzers - if: steps.build.outcome == 'success' - uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master - with: - oss-fuzz-project-name: 'jsonschema' - fuzz-seconds: 30 - dry-run: false - - name: Upload Crash - uses: actions/upload-artifact@v1 - if: failure() && steps.build.outcome == 'success' - with: - name: artifacts - path: ./out/artifacts -- cgit v1.2.1 From f6f3441aa0438cab01fd56ddac3349d4f8aeb9f7 Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 19:02:40 -0500 Subject: Add language, remove dry-run: false which is the default. Run only against main for now, save some time on PRs. --- .github/workflows/fuzz.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index c60a071..c2f69b9 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -1,5 +1,10 @@ name: CIFuzz -on: [pull_request] + +on: + pull_request: + branches: + - main + jobs: Fuzzing: runs-on: ubuntu-latest @@ -9,7 +14,8 @@ jobs: uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'jsonschema' - dry-run: false + language: python + # Needed until google/oss-fuzz#4996 is merged continue-on-error: true - name: Run Fuzzers if: steps.build.outcome == 'success' @@ -17,7 +23,6 @@ jobs: with: oss-fuzz-project-name: 'jsonschema' fuzz-seconds: 30 - dry-run: false - name: Upload Crash uses: actions/upload-artifact@v1 if: failure() && steps.build.outcome == 'success' -- cgit v1.2.1 From aae07ed0a6dde29cc765603bbb6169ee5285e377 Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 19:12:25 -0500 Subject: Module docstring --- jsonschema/tests/test_validate_fuzz.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/jsonschema/tests/test_validate_fuzz.py b/jsonschema/tests/test_validate_fuzz.py index 8f44172..47ac09e 100644 --- a/jsonschema/tests/test_validate_fuzz.py +++ b/jsonschema/tests/test_validate_fuzz.py @@ -1,3 +1,9 @@ +""" +Fuzzing setup for OSS-Fuzz. + +See https://github.com/google/oss-fuzz/tree/master/projects/jsonschema for the +other half of the setup here. +""" import sys from hypothesis import given, strategies -- cgit v1.2.1 From baf3b37dbc1240fea0ae2c06ddd586f3c15a342e Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 19:15:30 -0500 Subject: Go back to fuzz_* naming. Hypothesis isn't a current testing dependency, so as this was before (where it was named test_* and discovered by the test runner) there are CI failures for the normal test suite run. In the future hypothesis will likely become a normal testing dependency and then we can run this as well, but for now, only run it in the CIFuzz job. --- jsonschema/tests/fuzz_validate.py | 48 ++++++++++++++++++++++++++++++++++ jsonschema/tests/test_validate_fuzz.py | 48 ---------------------------------- 2 files changed, 48 insertions(+), 48 deletions(-) create mode 100644 jsonschema/tests/fuzz_validate.py delete mode 100644 jsonschema/tests/test_validate_fuzz.py diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py new file mode 100644 index 0000000..47ac09e --- /dev/null +++ b/jsonschema/tests/fuzz_validate.py @@ -0,0 +1,48 @@ +""" +Fuzzing setup for OSS-Fuzz. + +See https://github.com/google/oss-fuzz/tree/master/projects/jsonschema for the +other half of the setup here. +""" +import sys + +from hypothesis import given, strategies + +import jsonschema + + +PRIM = strategies.one_of( + strategies.booleans(), + strategies.integers(), + strategies.floats(allow_nan=False, allow_infinity=False), + strategies.text(), +) +DICT = strategies.recursive( + base=( + strategies.booleans() + | strategies.dictionaries(strategies.text(), PRIM), + ), + extend=lambda inner: strategies.dictionaries(strategies.text(), inner), +) + + +@given(obj1=DICT, obj2=DICT) +def test_schemas(obj1, obj2): + try: + jsonschema.validate(instance=obj1, schema=obj2) + except jsonschema.exceptions.ValidationError: + pass + except jsonschema.exceptions.SchemaError: + pass + + +def main(): + atheris.Setup(sys.argv, + test_schemas.hypothesis.fuzz_one_input, + enable_python_coverage=True) + atheris.Fuzz() + + +if __name__ == "__main__": + import atheris + main() diff --git a/jsonschema/tests/test_validate_fuzz.py b/jsonschema/tests/test_validate_fuzz.py deleted file mode 100644 index 47ac09e..0000000 --- a/jsonschema/tests/test_validate_fuzz.py +++ /dev/null @@ -1,48 +0,0 @@ -""" -Fuzzing setup for OSS-Fuzz. - -See https://github.com/google/oss-fuzz/tree/master/projects/jsonschema for the -other half of the setup here. -""" -import sys - -from hypothesis import given, strategies - -import jsonschema - - -PRIM = strategies.one_of( - strategies.booleans(), - strategies.integers(), - strategies.floats(allow_nan=False, allow_infinity=False), - strategies.text(), -) -DICT = strategies.recursive( - base=( - strategies.booleans() - | strategies.dictionaries(strategies.text(), PRIM), - ), - extend=lambda inner: strategies.dictionaries(strategies.text(), inner), -) - - -@given(obj1=DICT, obj2=DICT) -def test_schemas(obj1, obj2): - try: - jsonschema.validate(instance=obj1, schema=obj2) - except jsonschema.exceptions.ValidationError: - pass - except jsonschema.exceptions.SchemaError: - pass - - -def main(): - atheris.Setup(sys.argv, - test_schemas.hypothesis.fuzz_one_input, - enable_python_coverage=True) - atheris.Fuzz() - - -if __name__ == "__main__": - import atheris - main() -- cgit v1.2.1 From 2fdf4751635b8463ca7fe862ef91914f2ec4d91c Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 19:16:49 -0500 Subject: Ignore the fuzz module from coverage for now as well. --- .coveragerc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.coveragerc b/.coveragerc index 0f24d2f..0d30ffb 100644 --- a/.coveragerc +++ b/.coveragerc @@ -2,4 +2,4 @@ [run] branch = True source = jsonschema -omit = */jsonschema/_reflect.py,*/jsonschema/__main__.py,*/jsonschema/benchmarks/* +omit = */jsonschema/_reflect.py,*/jsonschema/__main__.py,*/jsonschema/benchmarks/*,*/jsonschema/tests/fuzz_validate.py -- cgit v1.2.1 From d9b5ca8c67d9fff9288eabb46809b184e2c5456a Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Tue, 2 Mar 2021 19:18:43 -0500 Subject: Extra newline. --- jsonschema/tests/fuzz_validate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/jsonschema/tests/fuzz_validate.py b/jsonschema/tests/fuzz_validate.py index 47ac09e..52675d1 100644 --- a/jsonschema/tests/fuzz_validate.py +++ b/jsonschema/tests/fuzz_validate.py @@ -10,7 +10,6 @@ from hypothesis import given, strategies import jsonschema - PRIM = strategies.one_of( strategies.booleans(), strategies.integers(), -- cgit v1.2.1