fa45d8aa5f
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
Privoxy对node122:18003返回500,直连正常
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
"""
|
|
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.one_of(
|
|
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.instrument_all()
|
|
atheris.Setup(
|
|
sys.argv,
|
|
test_schemas.hypothesis.fuzz_one_input,
|
|
enable_python_coverage=True,
|
|
)
|
|
atheris.Fuzz()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import atheris
|
|
main()
|