-
-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Tests] Add a new unit test linting the @beartype codebase with ruff
😮💨
#366
Comments
Thanks so much for packaging @beartype, @kloczek. Sadly, it looks like your
Moreover, I've personally verified right now that
@beartype's paws our tied here. NodeJS-driven installation woes is outside our locus of obsessive-compulsive control. With my deepest apologies, let's quietly close this as we wish @kloczek all the best in resolving this special |
Ok .. so what I can try to do to diagnose this issue? 😋 |
Odd .. just retested one more time and looks like pytest is happy Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-beartype-0.18.2-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-beartype-0.18.2-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network' -q
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.10.14, pytest-8.1.1, pluggy-1.4.0
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/tkloczko/rpmbuild/BUILD/beartype-0.18.2
configfile: pytest.ini
testpaths: beartype_test
plugins: hypothesis-6.100.0, benchmark-4.0.0, mock-3.14.0, subprocess-1.5.0, pyfakefs-5.4.1, rerunfailures-12.0
collected 344 items
beartype_test/a00_unit/a00_core/test_a00_package.py .. [ 0%]
beartype_test/a00_unit/a00_core/test_a90_typing.py . [ 0%]
beartype_test/a00_unit/a10_data/code/test_datacodeindent.py . [ 1%]
beartype_test/a00_unit/a10_data/hint/pep/sign/test_datapepsignset.py . [ 1%]
beartype_test/a00_unit/a20_util/a00_cache/map/test_utilmapbig.py . [ 1%]
beartype_test/a00_unit/a20_util/a00_cache/map/test_utilmaplru.py ... [ 2%]
beartype_test/a00_unit/a20_util/a00_cache/pool/test_utilcachepool.py .. [ 3%]
beartype_test/a00_unit/a20_util/a00_cache/pool/test_utilcachepoollistfixed.py .... [ 4%]
beartype_test/a00_unit/a20_util/a00_cache/pool/test_utilcachepoolobjecttyped.py .. [ 4%]
beartype_test/a00_unit/a20_util/a00_cache/test_utilcachecall.py ... [ 5%]
beartype_test/a00_unit/a20_util/a00_cache/test_utilcachemeta.py . [ 6%]
beartype_test/a00_unit/a20_util/ast/test_utilastmake.py . [ 6%]
beartype_test/a00_unit/a20_util/ast/test_utilasttest.py . [ 6%]
beartype_test/a00_unit/a20_util/cls/pep/test_utilpep3119.py .... [ 7%]
beartype_test/a00_unit/a20_util/cls/pep/test_utilpep557.py . [ 8%]
beartype_test/a00_unit/a20_util/cls/test_utilclsget.py . [ 8%]
beartype_test/a00_unit/a20_util/cls/test_utilclsmake.py . [ 8%]
beartype_test/a00_unit/a20_util/cls/test_utilclstest.py .... [ 9%]
beartype_test/a00_unit/a20_util/error/test_utilerrget.py . [ 10%]
beartype_test/a00_unit/a20_util/error/test_utilerrraise.py . [ 10%]
beartype_test/a00_unit/a20_util/error/test_utilerrwarn.py . [ 10%]
beartype_test/a00_unit/a20_util/func/arg/test_utilfuncargget.py .. [ 11%]
beartype_test/a00_unit/a20_util/func/arg/test_utilfuncargiter.py . [ 11%]
beartype_test/a00_unit/a20_util/func/arg/test_utilfuncargtest.py ... [ 12%]
beartype_test/a00_unit/a20_util/func/mod/test_utilbeartypefunc.py .. [ 13%]
beartype_test/a00_unit/a20_util/func/mod/test_utilfuncmodtest.py .. [ 13%]
beartype_test/a00_unit/a20_util/func/pep/test_utilpep484func.py . [ 13%]
beartype_test/a00_unit/a20_util/func/test_utilfunccode.py . [ 14%]
beartype_test/a00_unit/a20_util/func/test_utilfunccodeobj.py .. [ 14%]
beartype_test/a00_unit/a20_util/func/test_utilfuncfile.py .. [ 15%]
beartype_test/a00_unit/a20_util/func/test_utilfuncframe.py .. [ 15%]
beartype_test/a00_unit/a20_util/func/test_utilfuncget.py .. [ 16%]
beartype_test/a00_unit/a20_util/func/test_utilfuncmake.py . [ 16%]
beartype_test/a00_unit/a20_util/func/test_utilfuncscope.py ... [ 17%]
beartype_test/a00_unit/a20_util/func/test_utilfunctest.py ................ [ 22%]
beartype_test/a00_unit/a20_util/func/test_utilfuncwrap.py . [ 22%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484/test_utilpep484typevar.py . [ 22%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585.py .. [ 23%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585callable.py . [ 23%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py .... [ 25%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585ref.py .. [ 25%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585type.py . [ 25%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep544.py ... [ 26%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep557.py . [ 27%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep561.py . [ 27%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py ... [ 28%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep586.py . [ 28%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep589.py . [ 28%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep593.py .... [ 29%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep604.py . [ 30%]
beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep695.py .. [ 30%]
beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py ..... [ 32%]
beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py ....... [ 34%]
beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py ... [ 35%]
beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhintfactory.py . [ 35%]
beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhintget.py . [ 35%]
beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py .... [ 36%]
beartype_test/a00_unit/a20_util/kind/map/test_utilmapfrozen.py . [ 37%]
beartype_test/a00_unit/a20_util/kind/map/test_utilmapset.py ... [ 38%]
beartype_test/a00_unit/a20_util/kind/map/test_utilmaptest.py ... [ 38%]
beartype_test/a00_unit/a20_util/module/lib/test_utiltyping.py . [ 39%]
beartype_test/a00_unit/a20_util/module/test_utilmoddeprecate.py . [ 39%]
beartype_test/a00_unit/a20_util/module/test_utilmodget.py ... [ 40%]
beartype_test/a00_unit/a20_util/module/test_utilmodimport.py .... [ 41%]
beartype_test/a00_unit/a20_util/module/test_utilmodtest.py .. [ 42%]
beartype_test/a00_unit/a20_util/os/test_utilostest.py .. [ 42%]
beartype_test/a00_unit/a20_util/os/test_utilostty.py . [ 43%]
beartype_test/a00_unit/a20_util/py/test_utilpyinterpreter.py .... [ 44%]
beartype_test/a00_unit/a20_util/py/test_utilpyweakref.py .. [ 44%]
beartype_test/a00_unit/a20_util/py/test_utilpyword.py . [ 45%]
beartype_test/a00_unit/a20_util/test_utilobject.py .... [ 46%]
beartype_test/a00_unit/a20_util/text/test_utiltextansi.py .. [ 46%]
beartype_test/a00_unit/a20_util/text/test_utiltextidentifier.py .. [ 47%]
beartype_test/a00_unit/a20_util/text/test_utiltextjoin.py .. [ 47%]
beartype_test/a00_unit/a20_util/text/test_utiltextlabel.py ... [ 48%]
beartype_test/a00_unit/a20_util/text/test_utiltextmunge.py ..... [ 50%]
beartype_test/a00_unit/a20_util/text/test_utiltextrepr.py .. [ 50%]
beartype_test/a00_unit/a20_util/text/test_utiltextversion.py . [ 51%]
beartype_test/a00_unit/a40_api/conf/test_confcls.py .. [ 51%]
beartype_test/a00_unit/a40_api/conf/test_confenum.py .. [ 52%]
beartype_test/a00_unit/a40_api/conf/test_confoverrides.py . [ 52%]
beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py ............. [ 56%]
beartype_test/a00_unit/a40_api/door/a90_func/test_door_func.py . [ 56%]
beartype_test/a00_unit/a40_api/plug/test_plugmixin.py . [ 56%]
beartype_test/a00_unit/a40_api/test_api_cave.py ..... [ 58%]
beartype_test/a00_unit/a40_api/test_api_meta.py . [ 58%]
beartype_test/a00_unit/a40_api/typing/test_typingpep544.py ........ [ 61%]
beartype_test/a00_unit/a40_api/vale/_core/test_valecore.py .. [ 61%]
beartype_test/a00_unit/a40_api/vale/_is/test_valeis.py ... [ 62%]
beartype_test/a00_unit/a40_api/vale/_is/test_valeiscls.py .... [ 63%]
beartype_test/a00_unit/a40_api/vale/_is/test_valeisobj.py .. [ 64%]
beartype_test/a00_unit/a40_api/vale/_is/test_valeisoper.py .. [ 64%]
beartype_test/a00_unit/a40_api/vale/_util/test_valeutiltext.py . [ 65%]
beartype_test/a00_unit/a60_check/a00_code/snip/test_codesnipcls.py . [ 65%]
beartype_test/a00_unit/a60_check/a00_code/test_codemake.py . [ 65%]
beartype_test/a00_unit/a60_check/a00_code/test_codescope.py ... [ 66%]
beartype_test/a00_unit/a60_check/a20_convert/test_convcoerce.py .. [ 67%]
beartype_test/a00_unit/a60_check/a20_convert/test_convreduce.py . [ 67%]
beartype_test/a00_unit/a60_check/a80_forward/reference/test_fwdrefmake.py . [ 67%]
beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py ..... [ 69%]
beartype_test/a00_unit/a60_check/a90_door/test_checkdoor_pep563.py . [ 69%]
beartype_test/a00_unit/a60_check/test_checkcall.py . [ 69%]
beartype_test/a00_unit/a70_decor/a00_core/test_decormore.py . [ 70%]
beartype_test/a00_unit/a70_decor/a20_error/a90_main/test_errorget.py ..... [ 71%]
beartype_test/a00_unit/a70_decor/a20_error/a90_main/test_errorplug.py . [ 71%]
beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_contextlib.py s [ 72%]
beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_functools.py . [ 72%]
beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_mypy.py . [ 72%]
beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_nptyping.py s [ 72%]
beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_pandera.py s [ 73%]
beartype_test/a00_unit/a70_decor/a40_code/a80_nonpep/test_codenonpep.py ......... [ 75%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/pep484/test_pep484.py ..... [ 77%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/pep484/test_pep484ref.py ..... [ 78%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep3119.py . [ 79%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep435663.py .s [ 79%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep484585.py ... [ 80%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep544.py .. [ 81%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep557.py . [ 81%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep563.py .....s... [ 84%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep585.py . [ 84%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep591.py . [ 84%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep613.py . [ 84%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep647.py . [ 85%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep673.py s [ 85%]
beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep695.py s [ 85%]
beartype_test/a00_unit/a70_decor/a40_code/test_codeargkind.py ..s...... [ 88%]
beartype_test/a00_unit/a70_decor/a40_code/test_codenoop.py ....... [ 90%]
beartype_test/a00_unit/a70_decor/a40_code/test_codetype.py ... [ 91%]
beartype_test/a00_unit/a70_decor/a60_main/test_beartype.py . [ 91%]
beartype_test/a00_unit/a70_decor/a80_conf/test_decorconf.py ... [ 92%]
beartype_test/a00_unit/a70_decor/a90_roar/test_beartype_roar.py .. [ 93%]
beartype_test/a00_unit/a70_decor/test_decorwrappee.py ...... [ 94%]
beartype_test/a00_unit/a70_decor/test_decorwrapper.py . [ 95%]
beartype_test/a00_unit/a90_claw/a00_core/test_claw_api.py . [ 95%]
beartype_test/a00_unit/a90_claw/a90_hook/test_claw_extraprocess.py .. [ 95%]
beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py ..... [ 97%]
beartype_test/a90_func/doc/test_docreadme.py . [ 97%]
beartype_test/a90_func/package/test_package_import.py . [ 97%]
beartype_test/a90_func/pep/test_pep561_static.py .. [ 98%]
beartype_test/a90_func/z90_lib/a00_sphinx/test_sphinx.py .. [ 99%]
beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py s [ 99%]
beartype_test/a90_func/z90_lib/test_equinox.py s [ 99%]
beartype_test/a90_func/z90_lib/test_torch.py s [100%]
================================================================================== short test summary info ==================================================================================
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_contextlib.py:21: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_nptyping.py:30: could not import 'nptyping': No module named 'nptyping'
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_pandera.py:22: could not import 'pandera': No module named 'pandera'
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep435663.py:64: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep563.py:298: Python 3.10.14 >= 3.10.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep673.py:21: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep695.py:21: Python 3.10.14 < 3.12.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/test_codeargkind.py:80: Currently broken due to known issues in decoration-time type-checking.
SKIPPED [1] beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py:31: could not import 'nuitka': No module named 'nuitka'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_equinox.py:21: could not import 'equinox': No module named 'equinox'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_torch.py:21: could not import 'torch': No module named 'torch'
============================================================================= 333 passed, 11 skipped in 48.33s ======================================================================= .. magic 😄 |
BTW after all I've been trying to filter pyupgrade================================================================================== short test summary info ==================================================================================
SKIPPED [1] tests/test_env.py:35: workaround for Apple Python
SKIPPED [1] tests/test_env.py:46: workaround for Debian/Ubuntu Python
SKIPPED [45] tests/test_integration.py:70: integration tests not run (no --run-integration flag)
SKIPPED [1] tests/test_integration.py: integration tests not run (no --run-integration flag)
FAILED tests/test_env.py::test_default_pip_is_never_too_old[False] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-x86_64-20.2.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-x86_64-20.3.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-x86_64-21.0.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-x86_64-21.0.1] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-arm64-20.2.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-arm64-20.3.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-arm64-21.0.0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_pip_needs_upgrade_mac_os_11[False-arm64-21.0.1] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_default_impl_install_cmd_well_formed[False-0] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_default_impl_install_cmd_well_formed[False-1] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_default_impl_install_cmd_well_formed[False-2] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_default_impl_install_cmd_well_formed[False-3] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_uv_impl_install_cmd_well_formed[False-0] - RuntimeError: uv executable not found
FAILED tests/test_env.py::test_uv_impl_install_cmd_well_formed[False-1] - RuntimeError: uv executable not found
FAILED tests/test_env.py::test_uv_impl_install_cmd_well_formed[False-2] - RuntimeError: uv executable not found
FAILED tests/test_env.py::test_uv_impl_install_cmd_well_formed[False-3] - RuntimeError: uv executable not found
FAILED tests/test_env.py::test_venv_creation[pip-venv+pip-False] - build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
FAILED tests/test_env.py::test_venv_creation[uv-venv+uv-None] - RuntimeError: uv executable not found
FAILED tests/test_env.py::test_external_uv_detection_success[False] - RuntimeError: uv executable not found
FAILED tests/test_main.py::test_output[False-via-sdist-no-isolation] - AssertionError: assert ['* Getting b...none-any.whl'] == ['* Getting b...none-any.whl']
FAILED tests/test_main.py::test_output[False-sdist-direct-no-isolation] - AssertionError: assert ['* Getting b...ols-1.tar.gz'] == ['* Getting b...1.0.0.tar.gz']
FAILED tests/test_main.py::test_output[False-sdist-and-wheel-direct-no-isolation] - AssertionError: assert ['* Getting b...none-any.whl'] == ['* Getting b...none-any.whl']
FAILED tests/test_main.py::test_output_env_subprocess_error[False-no-color] - AssertionError: assert ['* Creating ...dule_as_main'] == ['* Creating ...s is invalid']
FAILED tests/test_main.py::test_output_env_subprocess_error[False-color] - AssertionError: assert ['\x1b[1m* Cr..._main\x1b[0m'] == ['\x1b[1m* Cr...s is invalid']
=========================================================== 25 failed, 111 passed, 48 skipped, 12 deselected, 15 rerun in 38.19s ============================================================ ruff================================================================================== short test summary info ==================================================================================
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_contextlib.py:21: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_nptyping.py:30: could not import 'nptyping': No module named 'nptyping'
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_module/test_decor_pandera.py:22: could not import 'pandera': No module named 'pandera'
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep435663.py:64: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep563.py:298: Python 3.10.14 >= 3.10.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep673.py:21: Python 3.10.14 < 3.11.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep695.py:21: Python 3.10.14 < 3.12.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/test_codeargkind.py:80: Currently broken due to known issues in decoration-time type-checking.
SKIPPED [1] beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py:31: could not import 'nuitka': No module named 'nuitka'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_equinox.py:21: could not import 'equinox': No module named 'equinox'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_torch.py:21: could not import 'torch': No module named 'torch'
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585callable.py::test_get_hint_pep484585_callable_params_and_return
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_is_hint_pep484585_generic
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_get_hint_pep484585_generic_type_or_none
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_get_hint_pep484585_generic_bases_unerased
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_builtin
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_generic
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_get_hint_pep585_generic_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_args
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_sign
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable_or_none
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_typing
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_type_typing
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_args
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_supported
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_die_if_hint_pep_unsupported
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_die_unless_hint_nonpep
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_is_hint_nonpep
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_is_hint_nonpep_tuple
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhintget.py::test_get_hint_repr
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_die_unless_hint
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint_ignorable
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint_needs_cls_stack
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_mapping
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_equals
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_is_ignorable
ERROR beartype_test/a00_unit/a40_api/door/a90_func/test_door_func.py::test_door_is_subhint
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_is_bearable_warnings
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_die_if_unbearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_die_if_unbearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_is_bearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_is_bearable
ERROR beartype_test/a00_unit/a70_decor/a40_code/test_codenoop.py::test_decor_noop_hint_ignorable_iter
ERROR beartype_test/a00_unit/a70_decor/a60_main/test_beartype.py::test_beartype
ERROR beartype_test/a90_func/z90_lib/a00_sphinx/test_sphinx.py::test_sphinx_docs_these
FAILED beartype_test/a00_unit/a70_decor/a40_code/a90_pep/pep484/test_pep484ref.py::test_pep484_ref_data - beartype.roar.BeartypeCallHintForwardRefException: Forward reference "Type" unimportable from module "beartype_test.a00_unit.data.hint.data_hintref".
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartype_packages - Failed: Test "test_claw_intraprocess_beartype_packages" failed in isolated subprocess with:
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartype_all - Failed: Test "test_claw_intraprocess_beartype_all" failed in isolated subprocess with:
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartyping - Failed: Test "test_claw_intraprocess_beartyping" failed in isolated subprocess with:
FAILED beartype_test/a90_func/pep/test_pep561_static.py::test_pep561_mypy - subprocess.CalledProcessError: Command '('/usr/bin/python3', '-m', 'mypy', '--config-file', '/home/tkloczko/rpmbuild/BUILD/beartype-0.18.2/mypy.ini', '/home/tkloczko/rpmbuild/BUILD/bea...
=================================================================== 5 failed, 289 passed, 11 skipped, 39 errors in 34.11s =================================================================== Looking on the generated pyupgrade patch I think that at least some of those changes should be applied as |
build._exceptions.FailedProcessError: Failed to create venv. Maybe try installing virtualenv.
RuntimeError: uv executable not found
Google tells me:
And I'm like... "UniVerse"? What are you even talking about, Google? I already live in the Universe. I sure don't want that "V" being capitalized anymore than you do. 😆 And... even Sadly, I don't know if I have the intestinal fortitude to extend support to Let's optimistically reopen this issue under a new name encouraging me to extend support to |
beartype_test/a90_func/pep/test_pep561_static.py::test_pep561_pyright
unit with pyright 1.1.358ruff
😮💨
ruff
😮💨 ruff
😮💨
If you will spot any changes wrongly done by those linters please open the ticket in they repos. |
Readiness for |
Just started testing 0.18.3 and I see that now after apply patch FAILED beartype_test/a00_unit/a00_core/test_a90_typing.py::test_api_typing - AssertionError: assert <class 'collections.abc.Hashable'> is typing.Hashable
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_is_hint_pep484585_generic - AssertionError: assert False is (HintSign('Generic') is HintSign('Generic'))
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_get_hint_pep484585_generic_bases_unerased - beartype.roar.BeartypeDecorHintPep484585Exception: Type hint <class 'beartype_test.a00_unit.data.hint.pep.proposal.data_pep484._Pep484GenericUnsubscriptedSingle'> neither PEP 484 gener...
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_builtin - assert True is False
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_generic - AssertionError: assert True is False
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_get_hint_pep585_generic_typevars - Failed: DID NOT RAISE <class 'beartype.roar.BeartypeDecorHintPep585Exception'>
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_sign - beartype.roar.BeartypeDecorHintPepSignException: Type hint <class 'collections.abc.Hashable'> is PEP-noncompliant (e.g., neither isinstanceable class, forward reference, nor tuple of i...
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable - beartype.roar.BeartypeDecorHintPepException: Type hint <class 'collections.abc.Hashable'> not isinstanceable (i.e., does not originate from isinstanceable class).
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable_or_none - AssertionError: assert None is <class 'collections.abc.Hashable'>
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_typing - AssertionError: assert False is True
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_type_typing - AssertionError: assert False is True
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep - AssertionError: assert False is True
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_supported - AssertionError: assert False is True
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_die_if_hint_pep_unsupported - beartype.roar.BeartypeDecorHintPepException: Type hint <class 'collections.abc.Hashable'> not PEP-compliant.
FAILED beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_die_unless_hint_nonpep - Failed: DID NOT RAISE <class 'beartype.roar.BeartypeDecorHintNonpepException'>
FAILED beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_is_hint_nonpep - AssertionError: assert True is False
FAILED beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_new - AssertionError: assert ClassTypeHint(<class 'list'>) is not ClassTypeHint(<class 'list'>)
FAILED beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_is_bearable_warnings - Failed: DID NOT WARN. No warnings of type (<class 'beartype.roar._roarwarn.BeartypeDecorHintPep585DeprecationWarning'>,) were emitted. Use generated by ___________________________________________________________ ERROR at setup of test_get_hint_pep484585_callable_params_and_return ____________________________________________________________
file /home/tkloczko/rpmbuild/BUILD/beartype-0.18.3/beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585callable.py, line 21
def test_get_hint_pep484585_callable_params_and_return(hints_pep_meta) -> None:
E fixture 'hints_pep_meta' not found
> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
> use 'pytest --fixtures [testpath]' for help on them.
/home/tkloczko/rpmbuild/BUILD/beartype-0.18.3/beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585callable.py:21
[..]
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585callable.py::test_get_hint_pep484585_callable_params_and_return
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_is_hint_pep484585_generic
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_get_hint_pep484585_generic_type_or_none
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/pep484585/test_utilpep484585generic.py::test_get_hint_pep484585_generic_bases_unerased
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_builtin
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_is_hint_pep585_generic
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep585.py::test_get_hint_pep585_generic_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_args
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_sign
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a00_utilpepget.py::test_get_hint_pep_type_isinstanceable_or_none
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_typevars
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_typing
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_type_typing
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_args
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_is_hint_pep_supported
ERROR beartype_test/a00_unit/a20_util/hint/a00_pep/test_a90_utilpeptest.py::test_die_if_hint_pep_unsupported
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_die_unless_hint_nonpep
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_is_hint_nonpep
ERROR beartype_test/a00_unit/a20_util/hint/a10_nonpep/test_utilhintnonpeptest.py::test_is_hint_nonpep_tuple
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhintget.py::test_get_hint_repr
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_die_unless_hint
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint_ignorable
ERROR beartype_test/a00_unit/a20_util/hint/a90_core/test_utilhinttest.py::test_is_hint_needs_cls_stack
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_mapping
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_equals
ERROR beartype_test/a00_unit/a40_api/door/a00_type/test_door_typehint.py::test_door_typehint_is_ignorable
ERROR beartype_test/a00_unit/a40_api/door/a90_func/test_door_func.py::test_door_is_subhint
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_is_bearable_warnings
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_die_if_unbearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_die_if_unbearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_is_bearable
ERROR beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_is_bearable
ERROR beartype_test/a00_unit/a70_decor/a40_code/test_codenoop.py::test_decor_noop_hint_ignorable_iter
ERROR beartype_test/a00_unit/a70_decor/a60_main/test_beartype.py::test_beartype
FAILED beartype_test/a00_unit/a70_decor/a40_code/a90_pep/pep484/test_pep484ref.py::test_pep484_ref_data - beartype.roar.BeartypeCallHintForwardRefException: Forward reference "Type" unimportable from module "beartype_test.a00_unit.data.hint.data_hintref".
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartype_packages - Failed: Test "test_claw_intraprocess_beartype_packages" failed in isolated subprocess with:
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartype_all - Failed: Test "test_claw_intraprocess_beartype_all" failed in isolated subprocess with:
FAILED beartype_test/a00_unit/a90_claw/a90_hook/test_claw_intraprocess.py::test_claw_intraprocess_beartyping - Failed: Test "test_claw_intraprocess_beartyping" failed in isolated subprocess with:
FAILED beartype_test/a90_func/pep/test_pep561_static.py::test_pep561_mypy - subprocess.CalledProcessError: Command '('/usr/bin/python3', '-m', 'mypy', '--config-file', '/home/tkloczko/rpmbuild/BUILD/beartype-0.18.3/mypy.ini', '/home/tkloczko/rpmbuild/BUILD/bea... |
Bro... static type-checkers and linters are wrong about almost everything. If I had to open an upstream ticket every time a static type-checker or linter failed to statically analyze Python, I'd never do anything except that. So, I don't do that. Nobody does that. We just forcefully silence static type-checkers and linters with:
That's sorta okay, because we expect static type-checkers and linters to be wrong about almost everything. By definition, you cannot statically analyse (i.e., semantically parse) dynamically interpreted languages like Python and Ruby. Seriously. It's infeasible – both in theory and in practice. In excess of 90% of all "errors" from static type-checkers and linters are just false negatives induced by a fundamental mismatch between static analysis and dynamic typing. This is why increasingly many lines in the @beartype codebase are suffixed by It sucks. It's just the nature of the beast, though. It's intrinsic to Python. That's why @beartype exists, after all. Nobody statically analyzes Python to any degree of accuracy. Instead, everyone runtime analyzes Python. Thus the bear flexes. 💪 🐻
...heh. You're linting the @beartype test suite with Seriously. Clearly, #!/usr/bin/env python3
# --------------------( LICENSE )--------------------
# Copyright (c) 2014-2024 Beartype authors.
# See "LICENSE" for further details.
'''
**Test configuration** (i.e., :mod:`pytest`-specific early-time configuration
guaranteed to be implicitly imported by :mod:`pytest` into *all* sibling and
child submodules of the test subpackage containing this :mod:`pytest` plugin).
'''
# ....................{ IMPORTS }....................
# Import all subpackage-specific fixtures implicitly required by tests defined
# by submodules of this subpackage.
from beartype_test.a00_unit.data.hint.data_hint import (
hints_meta,
hints_ignorable,
not_hints_nonpep,
)
from beartype_test.a00_unit.data.hint.nonpep.data_nonpep import (
hints_nonpep_meta,
)
from beartype_test.a00_unit.data.hint.pep.data_pep import (
hints_pep_hashable,
hints_pep_ignorable_deep,
hints_pep_ignorable_shallow,
hints_pep_meta,
)
from beartype_test.a00_unit.data.hint.util.data_hintmetautil import (
iter_hints_piths_meta,
) Kinda seems like running That said, even if Ultimately, it's only the main @beartype codebase that matters – and it's only the main @beartype codebase that should be linted and statically analyzed. Of course, this is merely my subjective opinion. I may very well be objectively wrong. I probably am. But there are only so many hours in the day. As I age, my days are dwindling. Linting test suites definitely isn't how I want to spend the remainder of my years on Planet Earth. If you'd like to lint the @beartype test suite for me, awesome! I'll happily merge anything that passes. Otherwise, linting the @beartype test suite will probably never happen. You know. Just sayin'. If you keep your expectations low, you'll never be disappointed. 😹 |
I'm packaging 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
build
with--no-isolation
I'm using during all processes only locally installed modulesinstaller
modulecut off from access to the public network
(pytest is executed with-m "not network"
)Here is pytest output:
List of installed modules in build env:
Please let me know if you need more details or want me to perform some diagnostics.
The text was updated successfully, but these errors were encountered: