diff --git a/doc/requirements.pip b/doc/requirements.pip index c084ea8ca..2692cf0d5 100644 --- a/doc/requirements.pip +++ b/doc/requirements.pip @@ -237,9 +237,9 @@ requests==2.28.2 \ # via # scriv # sphinx -scriv==1.1.0 \ - --hash=sha256:1064101623e318d906d91f7e1405c97af414c67f0c7da8ee4d08eaa523b735eb \ - --hash=sha256:f2670624b2c44cdf34224c8b032b71a00a41b78e9f587140da6dd0b010e66b75 +scriv==1.2.0 \ + --hash=sha256:26b65a903da7d9aefc712a0d4150b8638302b4758bd428bbd773dd918c61c621 \ + --hash=sha256:bb61c30fea73158a4d18c28bbb57821c308245683efb0d897bd45e4a7856b472 # via -r doc/requirements.in six==1.16.0 \ --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ diff --git a/requirements/dev.pip b/requirements/dev.pip index c2f80a446..ac6661cb7 100644 --- a/requirements/dev.pip +++ b/requirements/dev.pip @@ -4,10 +4,26 @@ # # make upgrade # -astroid==2.13.2 \ - --hash=sha256:3bc7834720e1a24ca797fd785d77efb14f7a28ee8e635ef040b6e2d80ccb3303 \ - --hash=sha256:8f6a8d40c4ad161d6fc419545ae4b2f275ed86d1c989c97825772120842ee0d2 +astroid==2.13.3 \ + --hash=sha256:14c1603c41cc61aae731cad1884a073c4645e26f126d13ac8346113c95577f3b \ + --hash=sha256:6afc22718a48a689ca24a97981ad377ba7fb78c133f40335dfd16772f29bcfb1 # via pylint +atheris==2.2.2 \ + --hash=sha256:0f02b03542266e438649e97ebbf5f96b94661cebca49a85420424cf65fdd1e87 \ + --hash=sha256:13eb3154994fe6d1330d76d970eefe25b433af2d775e690992890b714d54b68e \ + --hash=sha256:2087933ec91df9d3fb2ee22649c9811536515519d88bcc587d67018c3f0227f6 \ + --hash=sha256:30f1255319fe87765639e451a178a4732b1185af43b5c9b842591f03830cf8ec \ + --hash=sha256:33213d1f2e7f88d976c00dc3d19cc91e1304cd3d4dfba8f3ad5383093f7c55ab \ + --hash=sha256:6606b443ddf3932333aa6854bad2c4a000a65f1faeb4f559e8ea376af255278b \ + --hash=sha256:8e692836e6a8c41724c354a4f68fe35349bbc88af4708d835abef074ad5cb3f2 \ + --hash=sha256:9fb4c5e6df23b6b3650e5cb8e4780d189ae34443a23339750742a0de92ea0101 \ + --hash=sha256:ac727bcfc3345e2562722c517c836abe65ab8d7e4eaad1d792a6c85765868aff \ + --hash=sha256:d06fdfe077d8188c5acdccb8d4cbb34a3fc2d6f84dbb7b807f523cc5f6e9b8a4 \ + --hash=sha256:ebccc878ba5b958a42a97edcedff9ff46882b7c968e84cbf32632588457838f4 \ + --hash=sha256:f305a4c95575e8372774d20c28f6345f21ab7d926da8ebdd1b92f92475f5ef0b \ + --hash=sha256:fc0e4bf0830003bab8509147385184eae347a191e8f16e5e2d650aaafdcd5eb0 \ + --hash=sha256:fd4d8050f548e2583ed4c4600211f341537f077bf54399f7b4f4d814b112f35b + # via -r requirements/pytest.pip attrs==22.2.0 \ --hash=sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 \ --hash=sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99 @@ -15,17 +31,17 @@ attrs==22.2.0 \ # -r requirements/pytest.pip # hypothesis # pytest -bleach==5.0.1 \ - --hash=sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a \ - --hash=sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c +bleach==6.0.0 \ + --hash=sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414 \ + --hash=sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4 # via readme-renderer build==0.10.0 \ --hash=sha256:af266720050a66c893a6096a2f410989eeac74ff9a68ba194b3f6473e8e26171 \ --hash=sha256:d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 # via check-manifest -cachetools==5.2.1 \ - --hash=sha256:5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe \ - --hash=sha256:8462eebf3a6c15d25430a8c27c56ac61340b2ecf60c9ce57afc2b97e450e47da +cachetools==5.3.0 \ + --hash=sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14 \ + --hash=sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4 # via # -r requirements/tox.pip # tox @@ -144,10 +160,6 @@ colorama==0.4.6 \ # -r requirements/pytest.pip # -r requirements/tox.pip # tox -commonmark==0.9.1 \ - --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ - --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 - # via rich dill==0.3.6 \ --hash=sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0 \ --hash=sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373 @@ -250,9 +262,9 @@ greenlet==2.0.1 \ --hash=sha256:f6327b6907b4cb72f650a5b7b1be23a2aab395017aa6f1adb13069d66360eb3f \ --hash=sha256:fb412b7db83fe56847df9c47b6fe3f13911b06339c2aa02dcc09dce8bbf582cd # via -r requirements/dev.in -hypothesis==6.62.1 \ - --hash=sha256:7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150 \ - --hash=sha256:d00a4a9c54b0b8b4570fe1abe42395807a973b4a507e6718309800e6f84e160d +hypothesis==6.65.1 \ + --hash=sha256:4b7ae16db09151d17e5feebea07f4f84693cc1573c25e280bc92e619df24182b \ + --hash=sha256:fb9757f4b556fc73c2eaa2c1b7d39d0184c75e4cb77dadaf6fa59373838bd629 # via -r requirements/pytest.pip idna==3.4 \ --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ @@ -342,10 +354,18 @@ libsass==0.22.0 \ --hash=sha256:89c5ce497fcf3aba1dd1b19aae93b99f68257e5f2026b731b00a872f13324c7f \ --hash=sha256:f1efc1b612299c88aec9e39d6ca0c266d360daa5b19d9430bdeaffffa86993f9 # via -r requirements/dev.in +markdown-it-py==2.1.0 \ + --hash=sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27 \ + --hash=sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da + # via rich mccabe==0.7.0 \ --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py more-itertools==9.0.0 \ --hash=sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41 \ --hash=sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab @@ -404,9 +424,9 @@ pylint==2.15.10 \ --hash=sha256:9df0d07e8948a1c3ffa3b6e2d7e6e63d9fb457c5da5b961ed63106594780cc7e \ --hash=sha256:b3dc5ef7d33858f297ac0d06cc73862f01e4f2e74025ec3eff347ce0bc60baf5 # via -r requirements/dev.in -pyproject-api==1.4.0 \ - --hash=sha256:ac85c1f82e0291dbae5a7739dbb9a990e11ee4034c9b5599ea714f07a24ecd71 \ - --hash=sha256:c34226297781efdd1ba4dfb74ce21076d9a8360e2125ea31803c1a02c76b2460 +pyproject-api==1.5.0 \ + --hash=sha256:0962df21f3e633b8ddb9567c011e6c1b3dcdfc31b7860c0ede7e24c5a1200fbe \ + --hash=sha256:4c111277dfb96bcd562c6245428f27250b794bfe3e210b8714c4f893952f2c17 # via # -r requirements/tox.pip # tox @@ -445,13 +465,13 @@ rfc3986==2.0.0 \ --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd \ --hash=sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c # via twine -rich==13.1.0 \ - --hash=sha256:81c73a30b144bbcdedc13f4ea0b6ffd7fdc3b0d3cc259a9402309c8e4aee1964 \ - --hash=sha256:f846bff22a43e8508aebf3f0f2410ce1c6f4cde429098bd58d91fde038c57299 +rich==13.2.0 \ + --hash=sha256:7c963f0d03819221e9ac561e1bc866e3f95a02248c1234daa48954e6d381c003 \ + --hash=sha256:f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5 # via twine -setuptools==66.0.0 \ - --hash=sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab \ - --hash=sha256:bd6eb2d6722568de6d14b87c44a96fac54b2a45ff5e940e639979a3d1792adb6 +setuptools==66.1.1 \ + --hash=sha256:6f590d76b713d5de4e49fe4fbca24474469f53c83632d5d0fd056f7ff7e8112b \ + --hash=sha256:ac4008d396bc9cd983ea483cb7139c0240a07bbc74ffb6232fceffedc6cf03a8 # via check-manifest six==1.16.0 \ --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ @@ -480,9 +500,9 @@ tomlkit==0.11.6 \ --hash=sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b \ --hash=sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73 # via pylint -tox==4.3.4 \ - --hash=sha256:84ee61b27dc983cb5b5d9ef93af10ce54a0e3992df73335fcdf3e8a3d3453a93 \ - --hash=sha256:f5ac33b55de2f8764cff260661eb1257107a21c4819714b04f14669991aa7772 +tox==4.4.2 \ + --hash=sha256:258895ba5de919490c03ef97467c4c8c42954537dfd96ae72cc2fb63dac67cf0 \ + --hash=sha256:3d8a8dd8a5afdc0d37af3e2b4959e427fe22530d0aa599baf0120e144b3defa3 # via # -r requirements/tox.pip # tox-gh @@ -528,6 +548,7 @@ typing-extensions==4.4.0 \ # -r requirements/pytest.pip # astroid # importlib-metadata + # markdown-it-py # platformdirs # pylint # rich diff --git a/requirements/kit.pip b/requirements/kit.pip index ae6f4c393..70147d64f 100644 --- a/requirements/kit.pip +++ b/requirements/kit.pip @@ -8,9 +8,9 @@ auditwheel==5.3.0 \ --hash=sha256:1da1af54de5badd10149250c257a799be003fd976794716f17914e3d4b4a9fc9 \ --hash=sha256:d0be87b5b6fb767eacf1ea4afa3292574cb0f4473a3c0ba55bc9dff1d0b5a333 # via -r requirements/kit.in -bashlex==0.17 \ - --hash=sha256:0ad04403637f64f7836da46c125f9023a2518be418595322309f20ddc1db6cc0 \ - --hash=sha256:2aed062438e10ee89742bc80969793cd9ee4a3fab6cfb2365e43731aabd21010 +bashlex==0.18 \ + --hash=sha256:5bb03a01c6d5676338c36fd1028009c8ad07e7d61d8a1ce3f513b7fff52796ee \ + --hash=sha256:91d73a23a3e51711919c1c899083890cdecffc91d8c088942725ac13e9dcfffa # via cibuildwheel bracex==2.3.post1 \ --hash=sha256:351b7f20d56fb9ea91f9b9e9e7664db466eb234188c175fd943f8f755c807e73 \ @@ -60,9 +60,9 @@ pyproject-hooks==1.0.0 \ --hash=sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8 \ --hash=sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 # via build -setuptools==66.0.0 \ - --hash=sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab \ - --hash=sha256:bd6eb2d6722568de6d14b87c44a96fac54b2a45ff5e940e639979a3d1792adb6 +setuptools==66.1.1 \ + --hash=sha256:6f590d76b713d5de4e49fe4fbca24474469f53c83632d5d0fd056f7ff7e8112b \ + --hash=sha256:ac4008d396bc9cd983ea483cb7139c0240a07bbc74ffb6232fceffedc6cf03a8 # via -r requirements/kit.in tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ diff --git a/requirements/light-threads.pip b/requirements/light-threads.pip index 65e0b7db5..af9c079d6 100644 --- a/requirements/light-threads.pip +++ b/requirements/light-threads.pip @@ -201,9 +201,9 @@ pycparser==2.21 \ --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 # via cffi -setuptools==66.0.0 \ - --hash=sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab \ - --hash=sha256:bd6eb2d6722568de6d14b87c44a96fac54b2a45ff5e940e639979a3d1792adb6 +setuptools==66.1.1 \ + --hash=sha256:6f590d76b713d5de4e49fe4fbca24474469f53c83632d5d0fd056f7ff7e8112b \ + --hash=sha256:ac4008d396bc9cd983ea483cb7139c0240a07bbc74ffb6232fceffedc6cf03a8 # via # gevent # zope-event diff --git a/requirements/lint.pip b/requirements/lint.pip index 5493a9f68..548861a13 100644 --- a/requirements/lint.pip +++ b/requirements/lint.pip @@ -8,10 +8,26 @@ alabaster==0.7.13 \ --hash=sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3 \ --hash=sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2 # via sphinx -astroid==2.13.2 \ - --hash=sha256:3bc7834720e1a24ca797fd785d77efb14f7a28ee8e635ef040b6e2d80ccb3303 \ - --hash=sha256:8f6a8d40c4ad161d6fc419545ae4b2f275ed86d1c989c97825772120842ee0d2 +astroid==2.13.3 \ + --hash=sha256:14c1603c41cc61aae731cad1884a073c4645e26f126d13ac8346113c95577f3b \ + --hash=sha256:6afc22718a48a689ca24a97981ad377ba7fb78c133f40335dfd16772f29bcfb1 # via pylint +atheris==2.2.2 \ + --hash=sha256:0f02b03542266e438649e97ebbf5f96b94661cebca49a85420424cf65fdd1e87 \ + --hash=sha256:13eb3154994fe6d1330d76d970eefe25b433af2d775e690992890b714d54b68e \ + --hash=sha256:2087933ec91df9d3fb2ee22649c9811536515519d88bcc587d67018c3f0227f6 \ + --hash=sha256:30f1255319fe87765639e451a178a4732b1185af43b5c9b842591f03830cf8ec \ + --hash=sha256:33213d1f2e7f88d976c00dc3d19cc91e1304cd3d4dfba8f3ad5383093f7c55ab \ + --hash=sha256:6606b443ddf3932333aa6854bad2c4a000a65f1faeb4f559e8ea376af255278b \ + --hash=sha256:8e692836e6a8c41724c354a4f68fe35349bbc88af4708d835abef074ad5cb3f2 \ + --hash=sha256:9fb4c5e6df23b6b3650e5cb8e4780d189ae34443a23339750742a0de92ea0101 \ + --hash=sha256:ac727bcfc3345e2562722c517c836abe65ab8d7e4eaad1d792a6c85765868aff \ + --hash=sha256:d06fdfe077d8188c5acdccb8d4cbb34a3fc2d6f84dbb7b807f523cc5f6e9b8a4 \ + --hash=sha256:ebccc878ba5b958a42a97edcedff9ff46882b7c968e84cbf32632588457838f4 \ + --hash=sha256:f305a4c95575e8372774d20c28f6345f21ab7d926da8ebdd1b92f92475f5ef0b \ + --hash=sha256:fc0e4bf0830003bab8509147385184eae347a191e8f16e5e2d650aaafdcd5eb0 \ + --hash=sha256:fd4d8050f548e2583ed4c4600211f341537f077bf54399f7b4f4d814b112f35b + # via -r requirements/pytest.pip attrs==22.2.0 \ --hash=sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 \ --hash=sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99 @@ -24,17 +40,17 @@ babel==2.11.0 \ --hash=sha256:1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe \ --hash=sha256:5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6 # via sphinx -bleach==5.0.1 \ - --hash=sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a \ - --hash=sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c +bleach==6.0.0 \ + --hash=sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414 \ + --hash=sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4 # via readme-renderer build==0.10.0 \ --hash=sha256:af266720050a66c893a6096a2f410989eeac74ff9a68ba194b3f6473e8e26171 \ --hash=sha256:d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 # via check-manifest -cachetools==5.2.1 \ - --hash=sha256:5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe \ - --hash=sha256:8462eebf3a6c15d25430a8c27c56ac61340b2ecf60c9ce57afc2b97e450e47da +cachetools==5.3.0 \ + --hash=sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14 \ + --hash=sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4 # via # -r requirements/tox.pip # tox @@ -166,10 +182,6 @@ colorama==0.4.6 \ # -r requirements/tox.pip # sphinx-autobuild # tox -commonmark==0.9.1 \ - --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ - --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 - # via rich dill==0.3.6 \ --hash=sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0 \ --hash=sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373 @@ -275,9 +287,9 @@ greenlet==2.0.1 \ --hash=sha256:f6327b6907b4cb72f650a5b7b1be23a2aab395017aa6f1adb13069d66360eb3f \ --hash=sha256:fb412b7db83fe56847df9c47b6fe3f13911b06339c2aa02dcc09dce8bbf582cd # via -r requirements/dev.in -hypothesis==6.62.1 \ - --hash=sha256:7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150 \ - --hash=sha256:d00a4a9c54b0b8b4570fe1abe42395807a973b4a507e6718309800e6f84e160d +hypothesis==6.65.1 \ + --hash=sha256:4b7ae16db09151d17e5feebea07f4f84693cc1573c25e280bc92e619df24182b \ + --hash=sha256:fb9757f4b556fc73c2eaa2c1b7d39d0184c75e4cb77dadaf6fa59373838bd629 # via -r requirements/pytest.pip idna==3.4 \ --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ @@ -384,6 +396,10 @@ livereload==2.6.3 \ --hash=sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869 \ --hash=sha256:ad4ac6f53b2d62bb6ce1a5e6e96f1f00976a32348afedcb4b6d68df2a1d346e4 # via sphinx-autobuild +markdown-it-py==2.1.0 \ + --hash=sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27 \ + --hash=sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da + # via rich markupsafe==2.1.2 \ --hash=sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed \ --hash=sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc \ @@ -440,6 +456,10 @@ mccabe==0.7.0 \ --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py more-itertools==9.0.0 \ --hash=sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41 \ --hash=sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab @@ -508,9 +528,9 @@ pylint==2.15.10 \ --hash=sha256:9df0d07e8948a1c3ffa3b6e2d7e6e63d9fb457c5da5b961ed63106594780cc7e \ --hash=sha256:b3dc5ef7d33858f297ac0d06cc73862f01e4f2e74025ec3eff347ce0bc60baf5 # via -r requirements/dev.in -pyproject-api==1.4.0 \ - --hash=sha256:ac85c1f82e0291dbae5a7739dbb9a990e11ee4034c9b5599ea714f07a24ecd71 \ - --hash=sha256:c34226297781efdd1ba4dfb74ce21076d9a8360e2125ea31803c1a02c76b2460 +pyproject-api==1.5.0 \ + --hash=sha256:0962df21f3e633b8ddb9567c011e6c1b3dcdfc31b7860c0ede7e24c5a1200fbe \ + --hash=sha256:4c111277dfb96bcd562c6245428f27250b794bfe3e210b8714c4f893952f2c17 # via # -r requirements/tox.pip # tox @@ -555,17 +575,17 @@ rfc3986==2.0.0 \ --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd \ --hash=sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c # via twine -rich==13.1.0 \ - --hash=sha256:81c73a30b144bbcdedc13f4ea0b6ffd7fdc3b0d3cc259a9402309c8e4aee1964 \ - --hash=sha256:f846bff22a43e8508aebf3f0f2410ce1c6f4cde429098bd58d91fde038c57299 +rich==13.2.0 \ + --hash=sha256:7c963f0d03819221e9ac561e1bc866e3f95a02248c1234daa48954e6d381c003 \ + --hash=sha256:f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5 # via twine -scriv==1.1.0 \ - --hash=sha256:1064101623e318d906d91f7e1405c97af414c67f0c7da8ee4d08eaa523b735eb \ - --hash=sha256:f2670624b2c44cdf34224c8b032b71a00a41b78e9f587140da6dd0b010e66b75 +scriv==1.2.0 \ + --hash=sha256:26b65a903da7d9aefc712a0d4150b8638302b4758bd428bbd773dd918c61c621 \ + --hash=sha256:bb61c30fea73158a4d18c28bbb57821c308245683efb0d897bd45e4a7856b472 # via -r doc/requirements.in -setuptools==66.0.0 \ - --hash=sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab \ - --hash=sha256:bd6eb2d6722568de6d14b87c44a96fac54b2a45ff5e940e639979a3d1792adb6 +setuptools==66.1.1 \ + --hash=sha256:6f590d76b713d5de4e49fe4fbca24474469f53c83632d5d0fd056f7ff7e8112b \ + --hash=sha256:ac4008d396bc9cd983ea483cb7139c0240a07bbc74ffb6232fceffedc6cf03a8 # via check-manifest six==1.16.0 \ --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ @@ -662,9 +682,9 @@ tornado==6.2 \ --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b # via livereload -tox==4.3.4 \ - --hash=sha256:84ee61b27dc983cb5b5d9ef93af10ce54a0e3992df73335fcdf3e8a3d3453a93 \ - --hash=sha256:f5ac33b55de2f8764cff260661eb1257107a21c4819714b04f14669991aa7772 +tox==4.4.2 \ + --hash=sha256:258895ba5de919490c03ef97467c4c8c42954537dfd96ae72cc2fb63dac67cf0 \ + --hash=sha256:3d8a8dd8a5afdc0d37af3e2b4959e427fe22530d0aa599baf0120e144b3defa3 # via # -r requirements/tox.pip # tox-gh @@ -710,6 +730,7 @@ typing-extensions==4.4.0 \ # -r requirements/pytest.pip # astroid # importlib-metadata + # markdown-it-py # platformdirs # pylint # rich diff --git a/requirements/mypy.pip b/requirements/mypy.pip index 16648b773..123f890ad 100644 --- a/requirements/mypy.pip +++ b/requirements/mypy.pip @@ -4,6 +4,22 @@ # # make upgrade # +atheris==2.2.2 \ + --hash=sha256:0f02b03542266e438649e97ebbf5f96b94661cebca49a85420424cf65fdd1e87 \ + --hash=sha256:13eb3154994fe6d1330d76d970eefe25b433af2d775e690992890b714d54b68e \ + --hash=sha256:2087933ec91df9d3fb2ee22649c9811536515519d88bcc587d67018c3f0227f6 \ + --hash=sha256:30f1255319fe87765639e451a178a4732b1185af43b5c9b842591f03830cf8ec \ + --hash=sha256:33213d1f2e7f88d976c00dc3d19cc91e1304cd3d4dfba8f3ad5383093f7c55ab \ + --hash=sha256:6606b443ddf3932333aa6854bad2c4a000a65f1faeb4f559e8ea376af255278b \ + --hash=sha256:8e692836e6a8c41724c354a4f68fe35349bbc88af4708d835abef074ad5cb3f2 \ + --hash=sha256:9fb4c5e6df23b6b3650e5cb8e4780d189ae34443a23339750742a0de92ea0101 \ + --hash=sha256:ac727bcfc3345e2562722c517c836abe65ab8d7e4eaad1d792a6c85765868aff \ + --hash=sha256:d06fdfe077d8188c5acdccb8d4cbb34a3fc2d6f84dbb7b807f523cc5f6e9b8a4 \ + --hash=sha256:ebccc878ba5b958a42a97edcedff9ff46882b7c968e84cbf32632588457838f4 \ + --hash=sha256:f305a4c95575e8372774d20c28f6345f21ab7d926da8ebdd1b92f92475f5ef0b \ + --hash=sha256:fc0e4bf0830003bab8509147385184eae347a191e8f16e5e2d650aaafdcd5eb0 \ + --hash=sha256:fd4d8050f548e2583ed4c4600211f341537f077bf54399f7b4f4d814b112f35b + # via -r requirements/pytest.pip attrs==22.2.0 \ --hash=sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 \ --hash=sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99 @@ -32,9 +48,9 @@ flaky==3.7.0 \ --hash=sha256:3ad100780721a1911f57a165809b7ea265a7863305acb66708220820caf8aa0d \ --hash=sha256:d6eda73cab5ae7364504b7c44670f70abed9e75f77dd116352f662817592ec9c # via -r requirements/pytest.pip -hypothesis==6.62.1 \ - --hash=sha256:7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150 \ - --hash=sha256:d00a4a9c54b0b8b4570fe1abe42395807a973b4a507e6718309800e6f84e160d +hypothesis==6.65.1 \ + --hash=sha256:4b7ae16db09151d17e5feebea07f4f84693cc1573c25e280bc92e619df24182b \ + --hash=sha256:fb9757f4b556fc73c2eaa2c1b7d39d0184c75e4cb77dadaf6fa59373838bd629 # via -r requirements/pytest.pip importlib-metadata==6.0.0 \ --hash=sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad \ diff --git a/requirements/pip-tools.pip b/requirements/pip-tools.pip index 4884bbf18..51eeb2220 100644 --- a/requirements/pip-tools.pip +++ b/requirements/pip-tools.pip @@ -34,9 +34,9 @@ pyproject-hooks==1.0.0 \ --hash=sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8 \ --hash=sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 # via build -setuptools==66.0.0 \ - --hash=sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab \ - --hash=sha256:bd6eb2d6722568de6d14b87c44a96fac54b2a45ff5e940e639979a3d1792adb6 +setuptools==66.1.1 \ + --hash=sha256:6f590d76b713d5de4e49fe4fbca24474469f53c83632d5d0fd056f7ff7e8112b \ + --hash=sha256:ac4008d396bc9cd983ea483cb7139c0240a07bbc74ffb6232fceffedc6cf03a8 # via pip-tools tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ diff --git a/requirements/pytest.in b/requirements/pytest.in index 2b23477bd..6b2b33860 100644 --- a/requirements/pytest.in +++ b/requirements/pytest.in @@ -6,6 +6,7 @@ # The pytest specifics used by coverage.py # "make upgrade" turns this into requirements/pytest.pip. +atheris flaky hypothesis pytest diff --git a/requirements/pytest.pip b/requirements/pytest.pip index a57e8ae61..30051bd30 100644 --- a/requirements/pytest.pip +++ b/requirements/pytest.pip @@ -4,6 +4,22 @@ # # make upgrade # +atheris==2.2.2 \ + --hash=sha256:0f02b03542266e438649e97ebbf5f96b94661cebca49a85420424cf65fdd1e87 \ + --hash=sha256:13eb3154994fe6d1330d76d970eefe25b433af2d775e690992890b714d54b68e \ + --hash=sha256:2087933ec91df9d3fb2ee22649c9811536515519d88bcc587d67018c3f0227f6 \ + --hash=sha256:30f1255319fe87765639e451a178a4732b1185af43b5c9b842591f03830cf8ec \ + --hash=sha256:33213d1f2e7f88d976c00dc3d19cc91e1304cd3d4dfba8f3ad5383093f7c55ab \ + --hash=sha256:6606b443ddf3932333aa6854bad2c4a000a65f1faeb4f559e8ea376af255278b \ + --hash=sha256:8e692836e6a8c41724c354a4f68fe35349bbc88af4708d835abef074ad5cb3f2 \ + --hash=sha256:9fb4c5e6df23b6b3650e5cb8e4780d189ae34443a23339750742a0de92ea0101 \ + --hash=sha256:ac727bcfc3345e2562722c517c836abe65ab8d7e4eaad1d792a6c85765868aff \ + --hash=sha256:d06fdfe077d8188c5acdccb8d4cbb34a3fc2d6f84dbb7b807f523cc5f6e9b8a4 \ + --hash=sha256:ebccc878ba5b958a42a97edcedff9ff46882b7c968e84cbf32632588457838f4 \ + --hash=sha256:f305a4c95575e8372774d20c28f6345f21ab7d926da8ebdd1b92f92475f5ef0b \ + --hash=sha256:fc0e4bf0830003bab8509147385184eae347a191e8f16e5e2d650aaafdcd5eb0 \ + --hash=sha256:fd4d8050f548e2583ed4c4600211f341537f077bf54399f7b4f4d814b112f35b + # via -r requirements/pytest.in attrs==22.2.0 \ --hash=sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 \ --hash=sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99 @@ -28,9 +44,9 @@ flaky==3.7.0 \ --hash=sha256:3ad100780721a1911f57a165809b7ea265a7863305acb66708220820caf8aa0d \ --hash=sha256:d6eda73cab5ae7364504b7c44670f70abed9e75f77dd116352f662817592ec9c # via -r requirements/pytest.in -hypothesis==6.62.1 \ - --hash=sha256:7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150 \ - --hash=sha256:d00a4a9c54b0b8b4570fe1abe42395807a973b4a507e6718309800e6f84e160d +hypothesis==6.65.1 \ + --hash=sha256:4b7ae16db09151d17e5feebea07f4f84693cc1573c25e280bc92e619df24182b \ + --hash=sha256:fb9757f4b556fc73c2eaa2c1b7d39d0184c75e4cb77dadaf6fa59373838bd629 # via -r requirements/pytest.in importlib-metadata==6.0.0 \ --hash=sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad \ diff --git a/requirements/tox.pip b/requirements/tox.pip index 202228c76..94e4220aa 100644 --- a/requirements/tox.pip +++ b/requirements/tox.pip @@ -4,9 +4,9 @@ # # make upgrade # -cachetools==5.2.1 \ - --hash=sha256:5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe \ - --hash=sha256:8462eebf3a6c15d25430a8c27c56ac61340b2ecf60c9ce57afc2b97e450e47da +cachetools==5.3.0 \ + --hash=sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14 \ + --hash=sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4 # via tox chardet==5.1.0 \ --hash=sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5 \ @@ -51,9 +51,9 @@ pluggy==1.0.0 \ --hash=sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 \ --hash=sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3 # via tox -pyproject-api==1.4.0 \ - --hash=sha256:ac85c1f82e0291dbae5a7739dbb9a990e11ee4034c9b5599ea714f07a24ecd71 \ - --hash=sha256:c34226297781efdd1ba4dfb74ce21076d9a8360e2125ea31803c1a02c76b2460 +pyproject-api==1.5.0 \ + --hash=sha256:0962df21f3e633b8ddb9567c011e6c1b3dcdfc31b7860c0ede7e24c5a1200fbe \ + --hash=sha256:4c111277dfb96bcd562c6245428f27250b794bfe3e210b8714c4f893952f2c17 # via tox tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ @@ -61,9 +61,9 @@ tomli==2.0.1 \ # via # pyproject-api # tox -tox==4.3.4 \ - --hash=sha256:84ee61b27dc983cb5b5d9ef93af10ce54a0e3992df73335fcdf3e8a3d3453a93 \ - --hash=sha256:f5ac33b55de2f8764cff260661eb1257107a21c4819714b04f14669991aa7772 +tox==4.4.2 \ + --hash=sha256:258895ba5de919490c03ef97467c4c8c42954537dfd96ae72cc2fb63dac67cf0 \ + --hash=sha256:3d8a8dd8a5afdc0d37af3e2b4959e427fe22530d0aa599baf0120e144b3defa3 # via # -r requirements/tox.in # tox-gh diff --git a/tests/test_fuzz_parser.py b/tests/test_fuzz_parser.py new file mode 100644 index 000000000..b3f43a022 --- /dev/null +++ b/tests/test_fuzz_parser.py @@ -0,0 +1,65 @@ +# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 + +"""Fuzz test PythonParser.parse_source + +This runs on OSS-Fuzz where coveragepy's set is located at: +https://github.com/google/oss-fuzz/tree/master/projects/coveragepy + +It is configured to be a unit test as well, which makes it easier to test +during development, e.g. to catch breaking changes. + +The goal of the fuzzing by way of OSS-Fuzz is to: +- Find any uncaught illegitimate exceptions. +- Find any security vulnerabilities as identified by pysecsan: + https://pypi.org/project/pysecsan/ + Notice, pysecsan will be enabled by OSS-Fuzz and is not explicitly enabled + here. +""" + +import sys +import atheris +import pytest + +from coverage.exceptions import NotPython +from coverage.parser import PythonParser + + +@pytest.mark.parametrize( + "data", + [ + b"random_data", + b"more random data" + ] +) +def test_one_input(data): + """Fuzzer for PythonParser.""" + fdp = atheris.FuzzedDataProvider(data) + + t = fdp.ConsumeUnicodeNoSurrogates(1024) + if not t: + return + + try: + p = PythonParser(text = t) + p.parse_source() + except (NotPython, MemoryError) as e2: + # Catch Memory error to avoid reporting stack overflows. + # Catch NotPython issues as these do not signal a bug. + pass + except ValueError as e: + if "source code string cannot contain null bytes" in str(e): + # Not interesting + pass + else: + raise e + + +def main(): + """Launch fuzzing campaign.""" + atheris.instrument_all() + atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) + atheris.Fuzz() + + +if __name__ == "__main__": + main()