Repository: falconry/falcon

Issue:
3.1.0: pytest warnings (config from `setup.cfg` is ignored)
I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
- `python3 -sBm build -w --no-isolation`
- because I'm calling `build` with `--no-isolation` I'm using during all processes only locally installed modules
- install .whl file in </install/prefix>
- run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

I'm using patch which I've mention in https://github.com/falconry/falcon/issues/2006

Here is pytest output:
<details>

```console
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-falcon-3.1.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-falcon-3.1.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra tests
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/falcon-3.1.0, configfile: pyproject.toml, testpaths: tests
plugins: anyio-3.6.1, asyncio-0.18.2
asyncio: mode=strict
collected 3393 items

tests/test_after_hooks.py .....................                                                                                                                      [  0%]
tests/test_alias.py ..                                                                                                                                               [  0%]
tests/test_app_initializers.py ..                                                                                                                                    [  0%]
tests/test_before_hooks.py .................................                                                                                                         [  1%]
tests/test_boundedstream.py .                                                                                                                                        [  1%]
tests/test_buffered_reader.py .................................................................................                                                      [  4%]
tests/test_cmd_inspect_app.py ........................                                                                                                               [  4%]
tests/test_compiled_router.py ........                                                                                                                               [  5%]
tests/test_cookies.py ..................................................                                                                                             [  6%]
tests/test_cors_middleware.py ...................................                                                                                                    [  7%]
tests/test_custom_router.py ..........                                                                                                                               [  7%]
tests/test_cython.py ..                                                                                                                                              [  7%]
tests/test_default_router.py ....................................................................................................................................... [ 11%]
...............                                                                                                                                                      [ 12%]
tests/test_deprecations.py ..s                                                                                                                                       [ 12%]
tests/test_deps.py .                                                                                                                                                 [ 12%]
tests/test_error.py ..........................................................................................................................................       [ 16%]
tests/test_error_handlers.py .........s..............................................                                                                                [ 18%]
tests/test_headers.py ........................................................................s..................................................................... [ 22%]
........                                                                                                                                                             [ 22%]
tests/test_hello.py ..............                                                                                                                                   [ 23%]
tests/test_http_custom_method_routing.py ..ssssss....                                                                                                                [ 23%]
tests/test_http_method_routing.py ........................                                                                                                           [ 24%]
tests/test_httperror.py ...............................................................................................................                              [ 27%]
tests/test_httpstatus.py ...................................................                                                                                         [ 28%]
tests/test_inspect.py ...........................................................................................................                                    [ 32%]
tests/test_media_handlers.py ....................................                                                                                                    [ 33%]
tests/test_media_multipart.py ................................................s...........................................................                           [ 36%]
tests/test_media_urlencoded.py ................                                                                                                                      [ 36%]
tests/test_middleware.py ..........................................................................s                                                                 [ 38%]
tests/test_options.py ......                                                                                                                                         [ 39%]
tests/test_python_version_requirements.py .                                                                                                                          [ 39%]
tests/test_query_params.py ....................................................................................................................s.s.s.s.s.s.s.s.sssss [ 43%]
ssss.........s.s.s.s.ssssss......s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.....sssss.....ss..s.s.s.s....                                         [ 46%]
tests/test_redirects.py ....................                                                                                                                         [ 47%]
tests/test_request_access_route.py .....................                                                                                                             [ 48%]
tests/test_request_attrs.py ........................................................................................................................................ [ 52%]
................................................................................................................                                                     [ 55%]
tests/test_request_body.py .......                                                                                                                                   [ 55%]
tests/test_request_context.py ....                                                                                                                                   [ 55%]
tests/test_request_forwarded.py ............................                                                                                                         [ 56%]
tests/test_request_media.py ..........................................................                                                                               [ 58%]
tests/test_response.py ...........                                                                                                                                   [ 58%]
tests/test_response_body.py ..............                                                                                                                           [ 58%]
tests/test_response_context.py ........                                                                                                                              [ 59%]
tests/test_response_media.py ....................                                                                                                                    [ 59%]
tests/test_sink_and_static.py ....                                                                                                                                   [ 59%]
tests/test_sinks.py ........................                                                                                                                         [ 60%]
tests/test_slots.py ....                                                                                                                                             [ 60%]
tests/test_static.py ............................................................................................................................................... [ 64%]
................................................................................................................                                                     [ 68%]
tests/test_testing.py ..........................................                                                                                                     [ 69%]
tests/test_things_example.py .                                                                                                                                       [ 69%]
tests/test_uri_converters.py ................................................................                                                                        [ 71%]
tests/test_uri_templates.py ......................................................................................                                                   [ 73%]
tests/test_uri_templates_legacy.py ......................                                                                                                            [ 74%]
tests/test_utils.py ................................................................................................................................................ [ 78%]
........................................................................................................................                                             [ 82%]
tests/test_validators.py ..............                                                                                                                              [ 82%]
tests/test_wsgi.py .......                                                                                                                                           [ 82%]
tests/test_wsgi_errors.py .                                                                                                                                          [ 82%]
tests/test_wsgi_interface.py ..                                                                                                                                      [ 83%]
tests/test_wsgi_servers.py ss.s.ss.s.ss.s.ss.s.ssssssss....ssss....                                                                                                  [ 84%]
tests/test_wsgiref_inputwrapper_with_size.py .                                                                                                                       [ 84%]
tests/asgi/test_asgi_conductor.py ..................                                                                                                                 [ 84%]
tests/asgi/test_asgi_helpers.py .                                                                                                                                    [ 84%]
tests/asgi/test_asgi_servers.py .s..s..s..s..s..s..s..s..s..s..s..s.....ssss........ssss.....s...ss...s..s..s..s..s..s..s.....ssss.....s.                            [ 87%]
tests/asgi/test_boundedstream_asgi.py ..............sssssss......................................................                                                    [ 90%]
tests/asgi/test_buffered_reader.py .........................................................................................                                         [ 92%]
tests/asgi/test_cythonized_asgi.py ................                                                                                                                  [ 93%]
tests/asgi/test_hello_asgi.py .......................                                                                                                                [ 93%]
tests/asgi/test_lifespan_handlers.py .......                                                                                                                         [ 94%]
tests/asgi/test_middleware_asgi.py ....                                                                                                                              [ 94%]
tests/asgi/test_request_asgi.py ..                                                                                                                                   [ 94%]
tests/asgi/test_request_body_asgi.py ............                                                                                                                    [ 94%]
tests/asgi/test_request_context_asgi.py ....                                                                                                                         [ 94%]
tests/asgi/test_response_media_asgi.py .......................                                                                                                       [ 95%]
tests/asgi/test_scheduled_callbacks.py .....                                                                                                                         [ 95%]
tests/asgi/test_scope.py ........................................................                                                                                    [ 97%]
tests/asgi/test_sse.py ........                                                                                                                                      [ 97%]
tests/asgi/test_sync.py .                                                                                                                                            [ 97%]
tests/asgi/test_testing_asgi.py ..........                                                                                                                           [ 97%]
tests/asgi/test_ws.py ..............s.s.........................................................s

============================================================================= warnings summary =============================================================================
../../../../../usr/lib64/python3.8/site-packages/pyximport/pyximport.py:51
  /usr/lib64/python3.8/site-packages/pyximport/pyximport.py:51: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

../../../../../usr/lib/python3.8/site-packages/setuptools/config/setupcfg.py:463
  /usr/lib/python3.8/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)

tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'REPORT'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'CONNECT'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'CHECKIN'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'CHECKOUT'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'COPY'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
tests/test_testing.py::test_client_simulate_aliases[wsgi-LOCK]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'LOCK'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'MKCOL'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'MOVE'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'PROPFIND'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'PROPPATCH'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'UNCHECKIN'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'UNLOCK'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'UPDATE'
    warnings.warn(

tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'VERSION-CONTROL'
    warnings.warn(

tests/test_media_handlers.py::test_serialization[asgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[asgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[asgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[asgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-{"test":"value"}]
tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-{"test":"value"}]
  /usr/lib/python3.8/site-packages/mujson/__init__.py:105: DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()
    return inspect.getargspec(func)[0]

tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi]
  /usr/lib64/python3.8/wsgiref/validate.py:341: WSGIWarning: Unknown REQUEST_METHOD: 'BREW'
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/test_deprecations.py:21: Reloading modules on Cython does not work
SKIPPED [1] tests/test_error_handlers.py:86: Test only applies to ASGI
SKIPPED [1] tests/test_headers.py:668: wsgiref.validate sees no evil here
SKIPPED [6] tests/test_http_custom_method_routing.py:66: Reloading modules on Cython does not work
SKIPPED [1] tests/test_media_multipart.py:323: Testing missing ASGI support
SKIPPED [1] tests/test_middleware.py:1013: Cythonized coroutine functions cannot be detected
SKIPPED [69] tests/test_query_params.py:61: The ASGI implementation does not support RequestOptions.auto_parse_form_urlencoded
SKIPPED [8] tests/test_wsgi_servers.py:28: gunicorn not installed
SKIPPED [8] tests/test_wsgi_servers.py:53: meinheld not installed
SKIPPED [8] tests/test_wsgi_servers.py:144: uwsgi executable is not installed
SKIPPED [35] tests/asgi/test_asgi_servers.py:566: daphne not installed
SKIPPED [7] tests/asgi/test_boundedstream_asgi.py:26: extra_body ignores set_content_length so we only need to test one of the parameter permutations
SKIPPED [2] tests/asgi/test_ws.py:450: rapidjson is required for this test
SKIPPED [1] tests/asgi/test_ws.py:1085: test requires msgpack lib to be missing
======================================================== 3244 passed, 149 skipped, 42 warnings in 110.21s (0:01:50) ========================================================
```
</details>



Discussion:
It seems that this style of invocation does not load `pytest`'s configuration from [`setup.cfg`](https://github.com/falconry/falcon/blob/master/setup.cfg), where we have chosen to ignore some (or all) of these, because in some cases we simply cannot fix them (limitations or warnings in the stdlib or 3rd party test deps).

We would happily take a look into your (or another contributor's) analysis on why this is happening.
> It seems that this style of invocation does not load `pytest`'s configuration from [`setup.cfg`](https://github.com/falconry/falcon/blob/master/setup.cfg), where we have chosen to ignore some (or all) of these, because in some cases we simply cannot fix them (limitations or warnings in the stdlib or 3rd party test deps).

Issue is that I don't want to waste time to figure out on upgrade between version what is the current set of pytst params.
Whatebver is necessary to use it shoud be kept and maintainet in pytest.ini or other files from which pytest reads test suite execution settings.
So please to add those settings to allow pass just raw `pytest` exacution without any addional params 😄 
> Whatebver is necessary to use it shoud be kept and maintainet in pytest.ini or other files from which pytest reads test suite execution settings.

from my understating setup.cfg is equivalent to pytest.ini so it would not help in this case.  the invocation in tox uses the raw pytest invocation, so I'm not sure why pytest is not loading the setup configuration:
https://github.com/falconry/falcon/blob/edd9352e630dbbb6272370281fc5fa6d792df057/tox.ini#L34
Okay, so one of the issues here is that Falcon is not tested with the [`build`](https://pypi.org/project/build) tool.
@kloczek Is there any particular reason why you opt to use `--no-isolation`?

In addition, as already pointed out in another issue, it is unclear why you decide to run `pytest` without parameters. What if you decide to run `nose` instead? We use `tox` for testing, not `pytest` directly.
> @kloczek Is there any particular reason why you opt to use `--no-isolation`?

Because I want to build and test ONLY against modules which are arlready installed in buikd env which are part of my distribution.
@kloczek we have now consolidated the relevant configuration in `pyproject.toml`, could you please check if the `master` branch works as expected (and whether we could then close this issue)?
One sec ..
OK with all master patches I've dropped my pytest related patches
I'm still using below patch to be able produce man page out of source tree
```patch
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -18,6 +18,8 @@
 import sys
 import os

+sys.path.insert(0, os.path.abspath(".."))
+
 try:
     import configparser
 except ImportError:
```

Here pytest result:
```console
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-falcon-3.1.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-falcon-3.1.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/falcon-3.1.0, configfile: pyproject.toml, testpaths: tests
plugins: anyio-3.6.1, asyncio-0.18.2
asyncio: mode=strict
collected 3440 items

tests/test_after_hooks.py .....................                                                                                                                      [  0%]
tests/test_alias.py ..                                                                                                                                               [  0%]
tests/test_app_initializers.py ..                                                                                                                                    [  0%]
tests/test_before_hooks.py .................................                                                                                                         [  1%]
tests/test_boundedstream.py .                                                                                                                                        [  1%]
tests/test_buffered_reader.py .................................................................................                                                      [  4%]
tests/test_cmd_inspect_app.py ........................                                                                                                               [  4%]
tests/test_compiled_router.py ..........                                                                                                                             [  5%]
tests/test_cookies.py ..................................................                                                                                             [  6%]
tests/test_cors_middleware.py ...................................                                                                                                    [  7%]
tests/test_custom_router.py ..........                                                                                                                               [  7%]
tests/test_cython.py ..                                                                                                                                              [  7%]
tests/test_default_router.py ....................................................................................................................................... [ 11%]
....................................                                                                                                                                 [ 12%]
tests/test_deprecations.py ..s                                                                                                                                       [ 12%]
tests/test_deps.py .                                                                                                                                                 [ 12%]
tests/test_error.py ..........................................................................................................................................       [ 16%]
tests/test_error_handlers.py .........s..............................................                                                                                [ 18%]
tests/test_headers.py ........................................................................s..................................................................... [ 22%]
........                                                                                                                                                             [ 22%]
tests/test_hello.py ..............                                                                                                                                   [ 23%]
tests/test_http_custom_method_routing.py ..ssssss....                                                                                                                [ 23%]
tests/test_http_method_routing.py ........................                                                                                                           [ 24%]
tests/test_httperror.py ...........................................................................................................                                  [ 27%]
tests/test_httpstatus.py ...................................................                                                                                         [ 29%]
tests/test_inspect.py ...........................................................................................................                                    [ 32%]
tests/test_media_handlers.py ....................................                                                                                                    [ 33%]
tests/test_media_multipart.py ................................................s...........................................................                           [ 36%]
tests/test_media_urlencoded.py ................                                                                                                                      [ 36%]
tests/test_middleware.py ..........................................................................s                                                                 [ 38%]
tests/test_options.py ......                                                                                                                                         [ 39%]
tests/test_python_version_requirements.py .                                                                                                                          [ 39%]
tests/test_query_params.py ....................................................................................................................s.s.s.s.s.s.s.s.sssss [ 43%]
ssss.........s.s.s.s.ssssss......s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.....sssss.....ss..s.s.s.s....                                         [ 46%]
tests/test_redirects.py ....................                                                                                                                         [ 47%]
tests/test_request_access_route.py .....................                                                                                                             [ 47%]
tests/test_request_attrs.py ........................................................................................................................................ [ 51%]
................................................................................................................                                                     [ 55%]
tests/test_request_body.py .......                                                                                                                                   [ 55%]
tests/test_request_context.py ....                                                                                                                                   [ 55%]
tests/test_request_forwarded.py ..............................                                                                                                       [ 56%]
tests/test_request_media.py ..........................................................                                                                               [ 58%]
tests/test_response.py ...........                                                                                                                                   [ 58%]
tests/test_response_body.py ..............                                                                                                                           [ 58%]
tests/test_response_context.py ........                                                                                                                              [ 58%]
tests/test_response_media.py ....................                                                                                                                    [ 59%]
tests/test_sink_and_static.py ....                                                                                                                                   [ 59%]
tests/test_sinks.py ........................                                                                                                                         [ 60%]
tests/test_slots.py ....                                                                                                                                             [ 60%]
tests/test_static.py ............................................................................................................................................... [ 64%]
................................................................................................................                                                     [ 67%]
tests/test_testing.py ..........................................                                                                                                     [ 69%]
tests/test_things_example.py .                                                                                                                                       [ 69%]
tests/test_uri_converters.py ................................................................                                                                        [ 71%]
tests/test_uri_templates.py ......................................................................................                                                   [ 73%]
tests/test_uri_templates_legacy.py ......................                                                                                                            [ 74%]
tests/test_utils.py ................................................................................................................................................ [ 78%]
..................................................................................................................................................                   [ 82%]
tests/test_validators.py ..............                                                                                                                              [ 82%]
tests/test_wsgi.py .......                                                                                                                                           [ 83%]
tests/test_wsgi_errors.py .                                                                                                                                          [ 83%]
tests/test_wsgi_interface.py ..                                                                                                                                      [ 83%]
tests/test_wsgi_servers.py ss.s.ss.s.ss.s.ss.s.ssssssss....ssss....                                                                                                  [ 84%]
tests/test_wsgiref_inputwrapper_with_size.py .                                                                                                                       [ 84%]
tests/asgi/test_asgi_conductor.py ..................                                                                                                                 [ 84%]
tests/asgi/test_asgi_helpers.py .                                                                                                                                    [ 85%]
tests/asgi/test_asgi_servers.py .s..s..s..s..s..s..s..s..s..s..s..s.....ssss........ssss.....s...ss...s..s..s..s..s..s..s.....ssss.....s.                            [ 88%]
tests/asgi/test_boundedstream_asgi.py ..............sssssss......................................................                                                    [ 90%]
tests/asgi/test_buffered_reader.py .........................................................................................                                         [ 92%]
tests/asgi/test_cythonized_asgi.py ................                                                                                                                  [ 93%]
tests/asgi/test_hello_asgi.py .......................                                                                                                                [ 93%]
tests/asgi/test_lifespan_handlers.py .......                                                                                                                         [ 94%]
tests/asgi/test_middleware_asgi.py ....                                                                                                                              [ 94%]
tests/asgi/test_request_asgi.py ..                                                                                                                                   [ 94%]
tests/asgi/test_request_body_asgi.py ............                                                                                                                    [ 94%]
tests/asgi/test_request_context_asgi.py ....                                                                                                                         [ 94%]
tests/asgi/test_response_media_asgi.py .......................                                                                                                       [ 95%]
tests/asgi/test_scheduled_callbacks.py .....                                                                                                                         [ 95%]
tests/asgi/test_scope.py ........................................................                                                                                    [ 97%]
tests/asgi/test_sse.py ........                                                                                                                                      [ 97%]
tests/asgi/test_sync.py .                                                                                                                                            [ 97%]
tests/asgi/test_testing_asgi.py ..........                                                                                                                           [ 97%]
tests/asgi/test_ws.py ..............s.s.........................................................s

============================================================================= warnings summary =============================================================================
../../../../../usr/lib64/python3.8/site-packages/pyximport/pyximport.py:51
  /usr/lib64/python3.8/site-packages/pyximport/pyximport.py:51: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/test_deprecations.py:21: Reloading modules on Cython does not work
SKIPPED [1] tests/test_error_handlers.py:86: Test only applies to ASGI
SKIPPED [1] tests/test_headers.py:684: wsgiref.validate sees no evil here
SKIPPED [6] tests/test_http_custom_method_routing.py:66: Reloading modules on Cython does not work
SKIPPED [1] tests/test_media_multipart.py:323: Testing missing ASGI support
SKIPPED [1] tests/test_middleware.py:1013: Cythonized coroutine functions cannot be detected
SKIPPED [69] tests/test_query_params.py:61: The ASGI implementation does not support RequestOptions.auto_parse_form_urlencoded
SKIPPED [8] tests/test_wsgi_servers.py:28: gunicorn not installed
SKIPPED [8] tests/test_wsgi_servers.py:55: meinheld not installed
SKIPPED [8] tests/test_wsgi_servers.py:150: uwsgi executable is not installed
SKIPPED [35] tests/asgi/test_asgi_servers.py:576: daphne not installed
SKIPPED [7] tests/asgi/test_boundedstream_asgi.py:26: extra_body ignores set_content_length so we only need to test one of the parameter permutations
SKIPPED [2] tests/asgi/test_ws.py:452: rapidjson is required for this test
SKIPPED [1] tests/asgi/test_ws.py:1087: test requires msgpack lib to be missing
========================================================= 3291 passed, 149 skipped, 1 warning in 110.55s (0:01:50) =========================================================
```

Thanks for checking.
We can add that docs path fixup, shouln't cause any problems.
👍 

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -14,16 +14,14 @@
 
 from datetime import datetime
 from collections import OrderedDict
+import configparser
 import multiprocessing
 import sys
 import os
 
-try:
-    import configparser
-except ImportError:
-    import ConfigParser as configparser
+sys.path.insert(0, os.path.abspath('..'))
 
-import falcon
+import falcon  # noqa: E402
 
 # NOTE(kgriffs): Work around the change in Python 3.8 that breaks sphinx
 #   on macOS. See also:


Test patch: