coverage 7.15.3__tar.gz → 7.16.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/codeql-analysis.yml +3 -3
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/coverage.yml +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/kit.yml +20 -6
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/publish.yml +5 -5
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/quality.yml +3 -2
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/testsuite.yml +1 -1
- coverage-7.16.0/.gitignore +59 -0
- {coverage-7.15.3 → coverage-7.16.0}/.pre-commit-config.yaml +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/CHANGES.rst +78 -0
- {coverage-7.15.3 → coverage-7.16.0}/MANIFEST.in +1 -0
- {coverage-7.15.3 → coverage-7.16.0}/Makefile +2 -6
- {coverage-7.15.3 → coverage-7.16.0}/PKG-INFO +8 -8
- {coverage-7.15.3 → coverage-7.16.0}/README.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/ci/comment_on_fixes.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/coverage/__init__.py +3 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/annotate.py +7 -3
- {coverage-7.15.3 → coverage-7.16.0}/coverage/cmdline.py +3 -6
- {coverage-7.15.3 → coverage-7.16.0}/coverage/collector.py +5 -8
- {coverage-7.15.3 → coverage-7.16.0}/coverage/config.py +32 -29
- {coverage-7.15.3 → coverage-7.16.0}/coverage/control.py +33 -31
- {coverage-7.15.3 → coverage-7.16.0}/coverage/debug.py +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/coverage/env.py +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/coverage/exceptions.py +0 -18
- {coverage-7.15.3 → coverage-7.16.0}/coverage/files.py +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/coverage/html.py +5 -13
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/index.html +4 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/pyfile.html +4 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/inorout.py +1 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/lcovreport.py +18 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/misc.py +8 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/parser.py +21 -19
- {coverage-7.15.3 → coverage-7.16.0}/coverage/plugin.py +4 -5
- {coverage-7.15.3 → coverage-7.16.0}/coverage/plugin_support.py +1 -5
- {coverage-7.15.3 → coverage-7.16.0}/coverage/pytracer.py +2 -5
- {coverage-7.15.3 → coverage-7.16.0}/coverage/results.py +5 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/sqldata.py +43 -21
- {coverage-7.15.3 → coverage-7.16.0}/coverage/sqlitedb.py +1 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/sysmon.py +3 -3
- {coverage-7.15.3 → coverage-7.16.0}/coverage/templite.py +0 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/tomlconfig.py +9 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/tracer.pyi +3 -3
- {coverage-7.15.3 → coverage-7.16.0}/coverage/types.py +4 -4
- {coverage-7.15.3 → coverage-7.16.0}/coverage/version.py +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/PKG-INFO +8 -8
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/SOURCES.txt +1 -2
- {coverage-7.15.3 → coverage-7.16.0}/doc/api_coveragedata.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_lcov.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_run.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/conf.py +4 -4
- {coverage-7.15.3 → coverage-7.16.0}/doc/config.rst +18 -18
- {coverage-7.15.3 → coverage-7.16.0}/doc/contexts.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/dbschema.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/excluding.rst +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/doc/index.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/plugins.rst +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/doc/requirements.in +2 -2
- coverage-7.16.0/doc/requirements.pip +828 -0
- {coverage-7.15.3 → coverage-7.16.0}/howto.txt +3 -5
- {coverage-7.15.3 → coverage-7.16.0}/pyproject.toml +34 -12
- coverage-7.16.0/requirements/dev.pip +994 -0
- coverage-7.16.0/requirements/kit.pip +542 -0
- coverage-7.16.0/requirements/light-threads.pip +290 -0
- coverage-7.16.0/requirements/mypy.pip +436 -0
- coverage-7.16.0/requirements/pip.pip +36 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/pytest.pip +66 -62
- {coverage-7.15.3 → coverage-7.16.0}/requirements/tox.pip +29 -29
- {coverage-7.15.3 → coverage-7.16.0}/setup.py +1 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/conftest.py +0 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/coveragetest.py +3 -7
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/b_branch/b_py.html +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/bom/bom_py.html +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/contexts/two_tests_py.html +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/isolatin1/isolatin1_py.html +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/multiline/multiline_py.html +3 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/other/blah_blah_other_py.html +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/partial/partial_py.html +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/unicode/unicode_py.html +2 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/goldtest.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/helpers.py +2 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/hypo.py +7 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/mixins.py +0 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/p1a.py +2 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/process_test/try_execfile.py +3 -4
- coverage-7.16.0/tests/modules/usepkgs.py +14 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/osinfo.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/plugin1.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/plugin2.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_annotate.py +12 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_api.py +11 -9
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_arcs.py +3 -4
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_bytecode.py +1 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_cmdline.py +15 -5
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_collector.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_concurrency.py +6 -9
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_config.py +20 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_context.py +0 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_core.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_coverage.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_data.py +65 -14
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_debug.py +1 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_execfile.py +2 -4
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_filereporter.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_files.py +11 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_goldtest.py +2 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_html.py +53 -19
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_json.py +4 -8
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_lcov.py +25 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_misc.py +9 -5
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_mixins.py +1 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_numbits.py +9 -12
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_oddball.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_parser.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_phystokens.py +2 -4
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_plugins.py +2 -5
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_process.py +5 -6
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_python.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_regions.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_report.py +2 -4
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_report_common.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_report_core.py +1 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_results.py +6 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_setup.py +0 -2
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_sqlitedb.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_sysmon.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_templite.py +8 -9
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_testing.py +1 -3
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_venv.py +3 -6
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_version.py +0 -1
- {coverage-7.15.3 → coverage-7.16.0}/tests/test_xml.py +1 -3
- {coverage-7.15.3 → coverage-7.16.0}/tox.ini +1 -1
- coverage-7.15.3/doc/requirements.pip +0 -750
- coverage-7.15.3/requirements/dev.pip +0 -911
- coverage-7.15.3/requirements/kit.pip +0 -463
- coverage-7.15.3/requirements/light-threads.pip +0 -289
- coverage-7.15.3/requirements/mypy.pip +0 -364
- coverage-7.15.3/requirements/pip.pip +0 -38
- coverage-7.15.3/tests/gold/html/support/favicon_32_cb_c827f16f.png +0 -0
- coverage-7.15.3/tests/gold/html/support/keybd_closed_cb_900cfef5.png +0 -0
- coverage-7.15.3/tests/modules/usepkgs.py +0 -8
- {coverage-7.15.3 → coverage-7.16.0}/.editorconfig +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.git-blame-ignore-revs +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/FUNDING.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/ISSUE_TEMPLATE/support.md +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/SECURITY.md +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/dependabot.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/dependency-review.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/workflows/python-nightly.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.github/zizmor.yml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.ignore +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/.readthedocs.yaml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/CITATION.cff +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/CONTRIBUTORS.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/LICENSE.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/NOTICE.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/__main__.py +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/a1_coverage.pth +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/ci/README.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/ci/session.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/ci/trigger_action.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/ci/update_rtfd.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/__main__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/bytecode.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/context.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/core.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/datastack.c +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/datastack.h +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/filedisp.c +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/filedisp.h +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/module.c +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/stats.h +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/tracer.c +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/tracer.h +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/ctracer/util.h +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/data.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/disposition.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/execfile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/coverage_html.js +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/favicon_32.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/keybd_closed.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/style.css +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/htmlfiles/style.scss +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/jsonreport.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/multiproc.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/numbits.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/patch.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/phystokens.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/pth_file.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/py.typed +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/python.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/regions.py +1 -1
- {coverage-7.15.3 → coverage-7.16.0}/coverage/report.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/report_core.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage/xmlreport.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/dependency_links.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/entry_points.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/not-zip-safe +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/requires.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/coverage.egg-info/top_level.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/_static/coverage.css +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/api.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/api_coverage.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/api_exceptions.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/api_module.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/api_plugin.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/branch.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/changes.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/cog_helpers.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_annotate.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_combine.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_debug.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_erase.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_html.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_json.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_report.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_reporting.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/cmd_xml.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/commands/index.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/contributing.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/dict.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/faq.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/howitworks.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/install.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/media/sleepy-snake-600.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/media/sleepy-snake-circle-150.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/messages.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/migrating.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/other.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/python-coverage.1.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/sleepy.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/source.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/subprocess.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/trouble.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/doc/whatsnew5x.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/igor.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/README.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/branches.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/compare_times.sh +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/coverage-04.dtd +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/extract_code.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/goals.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/hack_pyc.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/notes/arcs-to-branches.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/notes/bug1303.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/notes/pypy-738-decorated-functions.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/parse_all.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/parser.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/pick.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/platform_info.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/run_sysmon.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/run_trace.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/select_contexts.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/show_platform.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/show_pyc.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/treetopy.sh +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/warn_executed.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/lab/warn_executed.toml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/metacov.ini +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/dev.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/kit.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/light-threads.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/mypy.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/pins.pip +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/pip.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/pytest.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/requirements/tox.in +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/setup.cfg +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/covmodzip1.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/README.rst +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/anno_dir/multi.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475___init__.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475_a.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2___init__.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2_b.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/encodings/utf8.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/mae/mae.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/multi/a/__init__.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/multi/a/a.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/multi/b/__init__.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/multi/b/b.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/multi/multi.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/annotate/white/white.py,cover +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/Makefile +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/a/a_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/a/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/a/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/a/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/b_branch/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/b_branch/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/b_branch/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/bom/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/bom/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/bom/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/contexts/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/contexts/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/contexts/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/isolatin1/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/isolatin1/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/isolatin1/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/multiline/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/multiline/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/multiline/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/m1_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/m2_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/m3_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_1/main_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/m2_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/m3_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_2/main_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_3/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_3/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_3/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_3/m3_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_3/main_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/m1_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/m3_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_4/main_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_5/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_5/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_5/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_5/m1_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/omit_5/main_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/other/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/other/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/other/here_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/other/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/partial/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/partial/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/partial/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/a_py.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/myextra.css +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/styled/style.css +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/support/coverage_html_cb_dd2e7eb5.js +0 -0
- {coverage-7.15.3/doc/sample_html → coverage-7.16.0/tests/gold/html/support}/favicon_32_cb_c827f16f.png +0 -0
- {coverage-7.15.3/doc/sample_html → coverage-7.16.0/tests/gold/html/support}/keybd_closed_cb_900cfef5.png +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/support/style_cb_a90a112a.css +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/unicode/class_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/unicode/function_index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/html/unicode/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/testing/getty/gettysburg.txt +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/testing/xml/output.xml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/xml/x_xml/coverage.xml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/gold/xml/y_xml_branch/coverage.xml +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/js/index.html +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/js/tests.js +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/afile.odd.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/afile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb/bfile.odd.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb/bfile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb/cc/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb/cc/cfile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/bb.odd/bfile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/aa/zfile.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/ambiguous/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/ambiguous/pkg1/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/ambiguous/pkg1/ambiguous.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/checkspec.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/covmod1.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/namespace_420/sub1/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/__main__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/p1b.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/p1c.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/runmod2.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/sub/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/sub/__main__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/sub/ps1a.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg1/sub/runmod3.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg2/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg2/p2a.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/pkg2/p2b.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/plugins/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/plugins/a_plugin.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/plugins/another.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/process_test/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/modules/runmod1.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/namespace_420/sub2/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/othera.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/otherb.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/sub/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/sub/osa.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/moremodules/othermods/sub/osb.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/plugin_config.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/qunit/jquery.tmpl.min.js +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/select_plugin.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/strategies.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/stress_phystoken.tok +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/stress_phystoken_dos.tok +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/testenv.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/zipsrc/zip1/__init__.py +0 -0
- {coverage-7.15.3 → coverage-7.16.0}/tests/zipsrc/zip1/zip1.py +0 -0
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
|
|
56
56
|
# Initializes the CodeQL tools for scanning.
|
|
57
57
|
- name: Initialize CodeQL
|
|
58
|
-
uses: github/codeql-action/init@
|
|
58
|
+
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
|
|
59
59
|
with:
|
|
60
60
|
languages: ${{ matrix.language }}
|
|
61
61
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
67
67
|
# If this step fails, then you should remove it and run the build manually (see below)
|
|
68
68
|
- name: Autobuild
|
|
69
|
-
uses: github/codeql-action/autobuild@
|
|
69
|
+
uses: github/codeql-action/autobuild@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
|
|
70
70
|
|
|
71
71
|
# ℹ️ Command-line programs to run using the OS shell.
|
|
72
72
|
# 📚 https://git.io/JvXDl
|
|
@@ -80,4 +80,4 @@ jobs:
|
|
|
80
80
|
# make release
|
|
81
81
|
|
|
82
82
|
- name: Perform CodeQL Analysis
|
|
83
|
-
uses: github/codeql-action/analyze@
|
|
83
|
+
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
|
|
@@ -44,7 +44,7 @@ jobs:
|
|
|
44
44
|
persist-credentials: false
|
|
45
45
|
|
|
46
46
|
- name: "Examine changed files"
|
|
47
|
-
uses: dorny/paths-filter@
|
|
47
|
+
uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
|
|
48
48
|
id: filter
|
|
49
49
|
with:
|
|
50
50
|
filters: |
|
|
@@ -36,7 +36,7 @@ env:
|
|
|
36
36
|
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
37
37
|
# PYVERSIONS: changing the list of versions will change the number of
|
|
38
38
|
# expected distributions. This must match the same number in publish.yml.
|
|
39
|
-
EXPECTED:
|
|
39
|
+
EXPECTED: 121
|
|
40
40
|
|
|
41
41
|
permissions:
|
|
42
42
|
contents: read
|
|
@@ -79,13 +79,13 @@ jobs:
|
|
|
79
79
|
# # of Python: https://cibuildwheel.readthedocs.io/en/stable/options/#enable
|
|
80
80
|
# # When changing this, also adjust SHIPPING_WHEELS in env.py.
|
|
81
81
|
#
|
|
82
|
-
# pys = ["cp310", "cp311", "cp312", "cp313", "cp314"]
|
|
82
|
+
# pys = ["cp310", "cp311", "cp312", "cp313", "cp314", "cp315"]
|
|
83
83
|
# cipy = "3.11" # PYVERSIONS, default for cibuildwheel
|
|
84
84
|
#
|
|
85
85
|
# # Some OS/arch combinations need overrides for the Python versions:
|
|
86
86
|
# os_arch_pys = {
|
|
87
87
|
# # ("macos", "arm64"): ["cp38", "cp39", "cp310", "cp311", "cp312"],
|
|
88
|
-
# ("windows", "ARM64"): ["cp311", "cp312", "cp313", "cp314"],
|
|
88
|
+
# ("windows", "ARM64"): ["cp311", "cp312", "cp313", "cp314", "cp315"],
|
|
89
89
|
# }
|
|
90
90
|
#
|
|
91
91
|
# #----- ^^^ ---------------------- ^^^ -----
|
|
@@ -117,51 +117,61 @@ jobs:
|
|
|
117
117
|
- {"os": "ubuntu", "py": "cp312", "arch": "x86_64", "cipy": "3.11"}
|
|
118
118
|
- {"os": "ubuntu", "py": "cp313", "arch": "x86_64", "cipy": "3.11"}
|
|
119
119
|
- {"os": "ubuntu", "py": "cp314", "arch": "x86_64", "cipy": "3.11"}
|
|
120
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "x86_64", "cipy": "3.11"}
|
|
120
121
|
- {"os": "ubuntu", "py": "cp310", "arch": "i686", "cipy": "3.11"}
|
|
121
122
|
- {"os": "ubuntu", "py": "cp311", "arch": "i686", "cipy": "3.11"}
|
|
122
123
|
- {"os": "ubuntu", "py": "cp312", "arch": "i686", "cipy": "3.11"}
|
|
123
124
|
- {"os": "ubuntu", "py": "cp313", "arch": "i686", "cipy": "3.11"}
|
|
124
125
|
- {"os": "ubuntu", "py": "cp314", "arch": "i686", "cipy": "3.11"}
|
|
126
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "i686", "cipy": "3.11"}
|
|
125
127
|
- {"os": "ubuntu", "py": "cp310", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
126
128
|
- {"os": "ubuntu", "py": "cp311", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
127
129
|
- {"os": "ubuntu", "py": "cp312", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
128
130
|
- {"os": "ubuntu", "py": "cp313", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
129
131
|
- {"os": "ubuntu", "py": "cp314", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
132
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
130
133
|
- {"os": "ubuntu", "py": "cp310", "arch": "riscv64", "cipy": "3.11"}
|
|
131
134
|
- {"os": "ubuntu", "py": "cp311", "arch": "riscv64", "cipy": "3.11"}
|
|
132
135
|
- {"os": "ubuntu", "py": "cp312", "arch": "riscv64", "cipy": "3.11"}
|
|
133
136
|
- {"os": "ubuntu", "py": "cp313", "arch": "riscv64", "cipy": "3.11"}
|
|
134
137
|
- {"os": "ubuntu", "py": "cp314", "arch": "riscv64", "cipy": "3.11"}
|
|
138
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "riscv64", "cipy": "3.11"}
|
|
135
139
|
- {"os": "ubuntu", "py": "cp310", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
136
140
|
- {"os": "ubuntu", "py": "cp311", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
137
141
|
- {"os": "ubuntu", "py": "cp312", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
138
142
|
- {"os": "ubuntu", "py": "cp313", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
139
143
|
- {"os": "ubuntu", "py": "cp314", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
144
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
140
145
|
- {"os": "macos", "py": "cp310", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
141
146
|
- {"os": "macos", "py": "cp311", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
142
147
|
- {"os": "macos", "py": "cp312", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
143
148
|
- {"os": "macos", "py": "cp313", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
144
149
|
- {"os": "macos", "py": "cp314", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
150
|
+
- {"os": "macos", "py": "cp315", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
|
|
145
151
|
- {"os": "macos", "py": "cp310", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
146
152
|
- {"os": "macos", "py": "cp311", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
147
153
|
- {"os": "macos", "py": "cp312", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
148
154
|
- {"os": "macos", "py": "cp313", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
149
155
|
- {"os": "macos", "py": "cp314", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
156
|
+
- {"os": "macos", "py": "cp315", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
150
157
|
- {"os": "windows", "py": "cp310", "arch": "x86", "cipy": "3.11"}
|
|
151
158
|
- {"os": "windows", "py": "cp311", "arch": "x86", "cipy": "3.11"}
|
|
152
159
|
- {"os": "windows", "py": "cp312", "arch": "x86", "cipy": "3.11"}
|
|
153
160
|
- {"os": "windows", "py": "cp313", "arch": "x86", "cipy": "3.11"}
|
|
154
161
|
- {"os": "windows", "py": "cp314", "arch": "x86", "cipy": "3.11"}
|
|
162
|
+
- {"os": "windows", "py": "cp315", "arch": "x86", "cipy": "3.11"}
|
|
155
163
|
- {"os": "windows", "py": "cp310", "arch": "AMD64", "cipy": "3.11"}
|
|
156
164
|
- {"os": "windows", "py": "cp311", "arch": "AMD64", "cipy": "3.11"}
|
|
157
165
|
- {"os": "windows", "py": "cp312", "arch": "AMD64", "cipy": "3.11"}
|
|
158
166
|
- {"os": "windows", "py": "cp313", "arch": "AMD64", "cipy": "3.11"}
|
|
159
167
|
- {"os": "windows", "py": "cp314", "arch": "AMD64", "cipy": "3.11"}
|
|
168
|
+
- {"os": "windows", "py": "cp315", "arch": "AMD64", "cipy": "3.11"}
|
|
160
169
|
- {"os": "windows", "py": "cp311", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
161
170
|
- {"os": "windows", "py": "cp312", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
162
171
|
- {"os": "windows", "py": "cp313", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
163
172
|
- {"os": "windows", "py": "cp314", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
164
|
-
|
|
173
|
+
- {"os": "windows", "py": "cp315", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
174
|
+
# [[[end]]] (sum: N6DRns0iG/)
|
|
165
175
|
# ^^^^^^^^^^^^^^^
|
|
166
176
|
# If a check fails and points to this checksum line, it means you edited
|
|
167
177
|
# the matrix directly instead of editing the Python code in the comment
|
|
@@ -204,12 +214,16 @@ jobs:
|
|
|
204
214
|
if: ${{ matrix.arch == 'riscv64' }}
|
|
205
215
|
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
|
|
206
216
|
|
|
217
|
+
- name: "Show environment"
|
|
218
|
+
run: |
|
|
219
|
+
python -VV
|
|
220
|
+
python -m site
|
|
221
|
+
|
|
207
222
|
- name: "Build binary wheels"
|
|
208
223
|
env:
|
|
209
224
|
CIBW_BUILD: ${{ matrix.py }}*-*
|
|
210
225
|
CIBW_ARCHS: ${{ matrix.arch }}
|
|
211
226
|
CIBW_ENVIRONMENT: PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
212
|
-
CIBW_ENABLE: cpython-prerelease
|
|
213
227
|
CIBW_TEST_COMMAND: python -c "from coverage.tracer import CTracer; print('CTracer OK!')"
|
|
214
228
|
run: |
|
|
215
229
|
python -m cibuildwheel --output-dir wheelhouse
|
|
@@ -295,7 +309,7 @@ jobs:
|
|
|
295
309
|
files=$(find coverage-* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
|
|
296
310
|
|
|
297
311
|
- name: "Sign artifacts"
|
|
298
|
-
uses: sigstore/gh-action-sigstore-python@
|
|
312
|
+
uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9 # v3.5.0
|
|
299
313
|
with:
|
|
300
314
|
inputs: coverage-*.*
|
|
301
315
|
|
|
@@ -17,7 +17,7 @@ defaults:
|
|
|
17
17
|
env:
|
|
18
18
|
# PYVERSIONS: changing the list of versions will change the number of
|
|
19
19
|
# expected distributions. This must match the same number in kit.yml.
|
|
20
|
-
EXPECTED:
|
|
20
|
+
EXPECTED: 121
|
|
21
21
|
|
|
22
22
|
permissions:
|
|
23
23
|
contents: read
|
|
@@ -86,12 +86,12 @@ jobs:
|
|
|
86
86
|
files=$(find dist/* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
|
|
87
87
|
|
|
88
88
|
- name: "Generate attestations"
|
|
89
|
-
uses: actions/attest-build-provenance@
|
|
89
|
+
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
|
|
90
90
|
with:
|
|
91
91
|
subject-path: "dist/*"
|
|
92
92
|
|
|
93
93
|
- name: "Publish dists to Test PyPI"
|
|
94
|
-
uses: pypa/gh-action-pypi-publish@
|
|
94
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
95
95
|
with:
|
|
96
96
|
repository-url: https://test.pypi.org/legacy/
|
|
97
97
|
|
|
@@ -127,9 +127,9 @@ jobs:
|
|
|
127
127
|
files=$(find dist/* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
|
|
128
128
|
|
|
129
129
|
- name: "Generate attestations"
|
|
130
|
-
uses: actions/attest-build-provenance@
|
|
130
|
+
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
|
|
131
131
|
with:
|
|
132
132
|
subject-path: "dist/*"
|
|
133
133
|
|
|
134
134
|
- name: "Publish dists to PyPI"
|
|
135
|
-
uses: pypa/gh-action-pypi-publish@
|
|
135
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
persist-credentials: false
|
|
44
44
|
|
|
45
45
|
- name: "Examine changed files"
|
|
46
|
-
uses: dorny/paths-filter@
|
|
46
|
+
uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
|
|
47
47
|
id: filter
|
|
48
48
|
with:
|
|
49
49
|
filters: |
|
|
@@ -52,6 +52,7 @@ jobs:
|
|
|
52
52
|
docs:
|
|
53
53
|
- "doc/**"
|
|
54
54
|
- "coverage/**.py"
|
|
55
|
+
- "*.rst"
|
|
55
56
|
actions:
|
|
56
57
|
- ".github/workflows/**"
|
|
57
58
|
workflow:
|
|
@@ -184,7 +185,7 @@ jobs:
|
|
|
184
185
|
persist-credentials: false
|
|
185
186
|
|
|
186
187
|
- name: "Install uv"
|
|
187
|
-
uses: astral-sh/setup-uv@
|
|
188
|
+
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
|
|
188
189
|
with:
|
|
189
190
|
enable-cache: false
|
|
190
191
|
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
persist-credentials: false
|
|
44
44
|
|
|
45
45
|
- name: "Examine changed files"
|
|
46
|
-
uses: dorny/paths-filter@
|
|
46
|
+
uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
|
|
47
47
|
id: filter
|
|
48
48
|
with:
|
|
49
49
|
filters: |
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Files that can appear anywhere in the tree.
|
|
2
|
+
*.pyc
|
|
3
|
+
*.pyo
|
|
4
|
+
*$py.class
|
|
5
|
+
*.pyd
|
|
6
|
+
*.so
|
|
7
|
+
*.bak
|
|
8
|
+
.coverage
|
|
9
|
+
.coverage.*
|
|
10
|
+
.metacov
|
|
11
|
+
.metacov.*
|
|
12
|
+
*.swp
|
|
13
|
+
|
|
14
|
+
# Data files we should ignore in the root, but need for gold files.
|
|
15
|
+
/coverage.xml
|
|
16
|
+
/coverage.json
|
|
17
|
+
/coverage.lcov
|
|
18
|
+
|
|
19
|
+
# Stuff generated by editors.
|
|
20
|
+
.idea/
|
|
21
|
+
.vscode/
|
|
22
|
+
.vimtags
|
|
23
|
+
|
|
24
|
+
# Stuff in the root.
|
|
25
|
+
build
|
|
26
|
+
*.egg-info
|
|
27
|
+
cheats.txt
|
|
28
|
+
dist
|
|
29
|
+
htmlcov
|
|
30
|
+
MANIFEST
|
|
31
|
+
setuptools-*.egg
|
|
32
|
+
.tox
|
|
33
|
+
.noseids
|
|
34
|
+
.cache
|
|
35
|
+
.pytest_cache
|
|
36
|
+
.hypothesis
|
|
37
|
+
.ruby-version
|
|
38
|
+
.venv
|
|
39
|
+
|
|
40
|
+
# Stuff in the test directory.
|
|
41
|
+
covmain.zip
|
|
42
|
+
zipmods.zip
|
|
43
|
+
zip1.zip
|
|
44
|
+
tests/actual
|
|
45
|
+
|
|
46
|
+
# Stuff in the doc directory.
|
|
47
|
+
doc/_build
|
|
48
|
+
doc/_spell
|
|
49
|
+
doc/sample_html
|
|
50
|
+
doc/sample_html_beta
|
|
51
|
+
|
|
52
|
+
# Build intermediaries.
|
|
53
|
+
tmp
|
|
54
|
+
a1_coverage.pth
|
|
55
|
+
|
|
56
|
+
# OS junk
|
|
57
|
+
.DS_Store
|
|
58
|
+
|
|
59
|
+
!.github
|
|
@@ -22,6 +22,84 @@ upgrading your version of coverage.py.
|
|
|
22
22
|
|
|
23
23
|
.. start-releases
|
|
24
24
|
|
|
25
|
+
.. _changes_7-16-0:
|
|
26
|
+
|
|
27
|
+
Version 7.16.0 — 2026-08-28
|
|
28
|
+
---------------------------
|
|
29
|
+
|
|
30
|
+
- When combining files, now path separator slashes will automatically be
|
|
31
|
+
converted to the local file system style. This makes it less necessary to
|
|
32
|
+
define ``[paths]`` configuration to combine data across operating systems.
|
|
33
|
+
Fixes `issue 2266`_.
|
|
34
|
+
|
|
35
|
+
- The :meth:`.Coverage.switch_context` method now returns the previous context.
|
|
36
|
+
|
|
37
|
+
- Fix: previously, a ``[paths]`` pattern would be replaced everywhere in a file
|
|
38
|
+
path when it was only meant to be replaced once, in the leading portion of
|
|
39
|
+
the path. This is now fixed, in `pull 2268`_.
|
|
40
|
+
|
|
41
|
+
- Fixes to validation of options and configuration settings:
|
|
42
|
+
|
|
43
|
+
- Negative precision settings now always cause useful error messages (`pull
|
|
44
|
+
2261`_).
|
|
45
|
+
|
|
46
|
+
- An invalid regex in the ``--contexts`` option (or the ``[report]
|
|
47
|
+
contexts`` setting) reported a confusing "Couldn't use data file ...:
|
|
48
|
+
user-defined function raised exception" error. Now it raises a proper
|
|
49
|
+
configuration error naming the bad regex, like other regex settings do
|
|
50
|
+
(`pull 2262`_).
|
|
51
|
+
|
|
52
|
+
- Non-string values in TOML configuration settings now produce a helpful
|
|
53
|
+
error message instead of a traceback. This affects list settings whose
|
|
54
|
+
elements aren't strings (like ``omit``, ``exclude_lines``, or a ``[paths]``
|
|
55
|
+
entry), file settings like ``data_file``, and any wrong-typed value in the
|
|
56
|
+
``[paths]`` section (`pull 2263`_).
|
|
57
|
+
|
|
58
|
+
- ``coverage run`` refuses run-affecting command-line options like
|
|
59
|
+
``--branch`` alongside ``--concurrency=multiprocessing``, since they can't
|
|
60
|
+
reach the subprocesses. The check only recognized ``multiprocessing`` as
|
|
61
|
+
the entire option value, so ``--concurrency=multiprocessing,thread``
|
|
62
|
+
slipped through and failed later with "Can't combine statement coverage
|
|
63
|
+
data with branch data". Each named concurrency library is now properly
|
|
64
|
+
considered (`pull 2270`_).
|
|
65
|
+
|
|
66
|
+
- Fix: ``coverage annotate -d DIR`` raised an ``AssertionError`` if any
|
|
67
|
+
measured file had an extension other than ``.py``, such as a ``.pyw`` file on
|
|
68
|
+
Windows. The original extension is now restored on the annotated copy (`pull
|
|
69
|
+
2265`_).
|
|
70
|
+
|
|
71
|
+
.. _pull 2261: https://github.com/coveragepy/coveragepy/pull/2261
|
|
72
|
+
.. _pull 2262: https://github.com/coveragepy/coveragepy/pull/2262
|
|
73
|
+
.. _pull 2263: https://github.com/coveragepy/coveragepy/pull/2263
|
|
74
|
+
.. _pull 2265: https://github.com/coveragepy/coveragepy/pull/2265
|
|
75
|
+
.. _issue 2266: https://github.com/coveragepy/coveragepy/issues/2266
|
|
76
|
+
.. _pull 2268: https://github.com/coveragepy/coveragepy/pull/2268
|
|
77
|
+
.. _pull 2270: https://github.com/coveragepy/coveragepy/pull/2270
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
.. _changes_7-15-4:
|
|
81
|
+
|
|
82
|
+
Version 7.15.4 — 2026-08-06
|
|
83
|
+
---------------------------
|
|
84
|
+
|
|
85
|
+
- Fix: in the HTML report, a source file name containing a double quote (legal
|
|
86
|
+
on POSIX) wasn't escaped where it's dropped into the ``href`` of the index
|
|
87
|
+
and prev/next links, so it could close the attribute early and inject markup.
|
|
88
|
+
Page URLs are now escaped. Thanks, `Rajath Mohare <pull 2227_>`_.
|
|
89
|
+
|
|
90
|
+
- Fix: the LCOV report wrote file names and other fields into its
|
|
91
|
+
line-oriented records without neutralizing control characters. A measured
|
|
92
|
+
file whose name contained a newline (legal on POSIX) could forge extra
|
|
93
|
+
records, inflating the coverage seen by tools that read the report. Control
|
|
94
|
+
characters in a field are now replaced. Thanks, `Rajath Mohare <pull
|
|
95
|
+
2226_>`_.
|
|
96
|
+
|
|
97
|
+
- Wheels are now provided for Python 3.15.
|
|
98
|
+
|
|
99
|
+
.. _pull 2226: https://github.com/coveragepy/coveragepy/pull/2226
|
|
100
|
+
.. _pull 2227: https://github.com/coveragepy/coveragepy/pull/2227
|
|
101
|
+
|
|
102
|
+
|
|
25
103
|
.. _changes_7-15-3:
|
|
26
104
|
|
|
27
105
|
Version 7.15.3 — 2026-08-02
|
|
@@ -58,7 +58,7 @@ clean: debug_clean _clean_platform #- Remove artifacts of test execution, instal
|
|
|
58
58
|
@rm -f .tox/*/lib/*/site-packages/a0_metacov.pth
|
|
59
59
|
@rm -f */.coverage */*/.coverage */*/*/.coverage */*/*/*/.coverage */*/*/*/*/.coverage */*/*/*/*/*/.coverage
|
|
60
60
|
@rm -f tests/covmain.zip tests/zipmods.zip tests/zip1.zip
|
|
61
|
-
@rm -rf doc/_build doc/_spell doc/sample_html_beta
|
|
61
|
+
@rm -rf doc/_build doc/_spell doc/sample_html doc/sample_html_beta
|
|
62
62
|
@rm -rf tmp
|
|
63
63
|
@rm -rf a1_coverage.pth
|
|
64
64
|
@rm -rf .*cache */.*cache */*/.*cache */*/*/.*cache .hypothesis
|
|
@@ -208,7 +208,7 @@ sample_html_beta: _sample_cog_html #- Generate sample HTML report for a beta rel
|
|
|
208
208
|
|
|
209
209
|
### Kitting: making releases
|
|
210
210
|
|
|
211
|
-
.PHONY: release_version edit_for_release cheats relbranch relcommit1
|
|
211
|
+
.PHONY: release_version edit_for_release cheats relbranch relcommit1
|
|
212
212
|
.PHONY: kit pypi_upload test_upload build_kits update_rtd
|
|
213
213
|
.PHONY: _check_github_auth download_kits
|
|
214
214
|
.PHONY: tag bump_version
|
|
@@ -231,10 +231,6 @@ relbranch: # Create the branch for releasing (see howto.txt).
|
|
|
231
231
|
relcommit1: # Commit the first release changes (see howto.txt).
|
|
232
232
|
git commit -am "docs: prep for $$(python setup.py --version)"
|
|
233
233
|
|
|
234
|
-
relcommit2: # Commit the latest sample HTML report (see howto.txt).
|
|
235
|
-
git add doc/sample_html
|
|
236
|
-
git commit -am "docs: sample HTML for $$(python setup.py --version)"
|
|
237
|
-
|
|
238
234
|
kit: #- Make a source distribution and some wheels.
|
|
239
235
|
@# Makes sdist and binary wheel for current Python version and platform:
|
|
240
236
|
python -m build
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coverage
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.16.0
|
|
4
4
|
Summary: Code coverage measurement for Python
|
|
5
5
|
Home-page: https://github.com/coveragepy/coveragepy
|
|
6
6
|
Author: Ned Batchelder and 263 others
|
|
7
7
|
Author-email: ned@nedbatchelder.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Project-URL: Documentation, https://coverage.readthedocs.io/en/7.
|
|
9
|
+
Project-URL: Documentation, https://coverage.readthedocs.io/en/7.16.0
|
|
10
10
|
Project-URL: Funding, https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=pypi
|
|
11
11
|
Project-URL: Issues, https://github.com/coveragepy/coveragepy/issues
|
|
12
12
|
Project-URL: Mastodon, https://hachyderm.io/@coveragepy
|
|
@@ -78,13 +78,13 @@ Coverage.py runs on these versions of Python:
|
|
|
78
78
|
|
|
79
79
|
.. PYVERSIONS
|
|
80
80
|
|
|
81
|
-
* Python 3.10 through 3.15
|
|
81
|
+
* Python 3.10 through 3.15 rc1, including free-threading.
|
|
82
82
|
* PyPy3 versions 3.10 and 3.11.
|
|
83
83
|
|
|
84
84
|
Documentation is on `Read the Docs`_. Code repository and issue tracker are on
|
|
85
85
|
`GitHub`_.
|
|
86
86
|
|
|
87
|
-
.. _Read the Docs: https://coverage.readthedocs.io/en/7.
|
|
87
|
+
.. _Read the Docs: https://coverage.readthedocs.io/en/7.16.0/
|
|
88
88
|
.. _GitHub: https://github.com/coveragepy/coveragepy
|
|
89
89
|
|
|
90
90
|
|
|
@@ -113,7 +113,7 @@ Getting Started
|
|
|
113
113
|
Looking to run ``coverage`` on your test suite? See the `Quick Start section`_
|
|
114
114
|
of the docs.
|
|
115
115
|
|
|
116
|
-
.. _Quick Start section: https://coverage.readthedocs.io/en/7.
|
|
116
|
+
.. _Quick Start section: https://coverage.readthedocs.io/en/7.16.0/#quick-start
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
Change history
|
|
@@ -121,7 +121,7 @@ Change history
|
|
|
121
121
|
|
|
122
122
|
The complete history of changes is on the `change history page`_.
|
|
123
123
|
|
|
124
|
-
.. _change history page: https://coverage.readthedocs.io/en/7.
|
|
124
|
+
.. _change history page: https://coverage.readthedocs.io/en/7.16.0/changes.html
|
|
125
125
|
|
|
126
126
|
|
|
127
127
|
Code of Conduct
|
|
@@ -140,7 +140,7 @@ Contributing
|
|
|
140
140
|
Found a bug? Want to help improve the code or documentation? See the
|
|
141
141
|
`Contributing section`_ of the docs.
|
|
142
142
|
|
|
143
|
-
.. _Contributing section: https://coverage.readthedocs.io/en/7.
|
|
143
|
+
.. _Contributing section: https://coverage.readthedocs.io/en/7.16.0/contributing.html
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
Security
|
|
@@ -168,7 +168,7 @@ Licensed under the `Apache 2.0 License`_. For details, see `NOTICE.txt`_.
|
|
|
168
168
|
:target: https://github.com/coveragepy/coveragepy/actions/workflows/quality.yml
|
|
169
169
|
:alt: Quality check status
|
|
170
170
|
.. |docs| image:: https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat
|
|
171
|
-
:target: https://coverage.readthedocs.io/en/7.
|
|
171
|
+
:target: https://coverage.readthedocs.io/en/7.16.0/
|
|
172
172
|
:alt: Documentation
|
|
173
173
|
.. |kit| image:: https://img.shields.io/pypi/v/coverage
|
|
174
174
|
:target: https://pypi.org/project/coverage/
|
|
@@ -26,7 +26,7 @@ Coverage.py runs on these versions of Python:
|
|
|
26
26
|
|
|
27
27
|
.. PYVERSIONS
|
|
28
28
|
|
|
29
|
-
* Python 3.10 through 3.15
|
|
29
|
+
* Python 3.10 through 3.15 rc1, including free-threading.
|
|
30
30
|
* PyPy3 versions 3.10 and 3.11.
|
|
31
31
|
|
|
32
32
|
Documentation is on `Read the Docs`_. Code repository and issue tracker are on
|
|
@@ -15,6 +15,9 @@ from __future__ import annotations
|
|
|
15
15
|
# We import names as themselves to indicate that. Pylint sees it as pointless,
|
|
16
16
|
# so disable its warning.
|
|
17
17
|
# pylint: disable=useless-import-alias
|
|
18
|
+
#
|
|
19
|
+
# Keep ruff from changing the imports in this file.
|
|
20
|
+
# ruff: noqa: I001
|
|
18
21
|
|
|
19
22
|
from coverage.version import (
|
|
20
23
|
__version__ as __version__,
|
|
@@ -75,9 +75,13 @@ class AnnotateReporter:
|
|
|
75
75
|
|
|
76
76
|
if self.directory:
|
|
77
77
|
ensure_dir(self.directory)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
rel_fname = fr.relative_filename()
|
|
79
|
+
dest_file = os.path.join(self.directory, flat_rootname(rel_fname))
|
|
80
|
+
# flat_rootname turned the dot of the extension into an underscore.
|
|
81
|
+
# Put the original extension back, whatever it is: .py, .pyw, or
|
|
82
|
+
# something a plugin measures.
|
|
83
|
+
ext = os.path.splitext(rel_fname)[1]
|
|
84
|
+
dest_file = dest_file[: len(dest_file) - len(ext)] + ext
|
|
81
85
|
else:
|
|
82
86
|
dest_file = fr.filename
|
|
83
87
|
dest_file += ",cover"
|
|
@@ -24,7 +24,7 @@ from coverage.control import DEFAULT_DATAFILE
|
|
|
24
24
|
from coverage.core import CTRACER_FILE
|
|
25
25
|
from coverage.data import CoverageData, combinable_files, debug_data_file
|
|
26
26
|
from coverage.debug import info_header, short_stack, write_formatted_info
|
|
27
|
-
from coverage.exceptions import
|
|
27
|
+
from coverage.exceptions import CoverageException, NoSource, _ExceptionDuringRun
|
|
28
28
|
from coverage.execfile import PyRunner
|
|
29
29
|
from coverage.results import display_covered, should_fail_under
|
|
30
30
|
from coverage.version import __url__
|
|
@@ -432,8 +432,6 @@ class CoverageOptionParser(optparse.OptionParser):
|
|
|
432
432
|
class OptionParserError(Exception):
|
|
433
433
|
"""Used to stop the optparse error handler ending the process."""
|
|
434
434
|
|
|
435
|
-
pass
|
|
436
|
-
|
|
437
435
|
def parse_args_ok(self, args: list[str]) -> tuple[bool, optparse.Values | None, list[str]]:
|
|
438
436
|
"""Call optparse.parse_args, but return a triple:
|
|
439
437
|
|
|
@@ -753,8 +751,7 @@ def show_help(
|
|
|
753
751
|
# coverage-3.5-script.py. argv[0] is the .py file, but we want to
|
|
754
752
|
# get back to the original form.
|
|
755
753
|
auto_suffix = "-script.py"
|
|
756
|
-
|
|
757
|
-
program_name = program_name[: -len(auto_suffix)]
|
|
754
|
+
program_name = program_name.removesuffix(auto_suffix)
|
|
758
755
|
|
|
759
756
|
help_params = dict(coverage.__dict__)
|
|
760
757
|
help_params["__url__"] = __url__
|
|
@@ -1020,7 +1017,7 @@ class CoverageScript:
|
|
|
1020
1017
|
show_help("Can't append to data files in parallel mode.")
|
|
1021
1018
|
return ERR
|
|
1022
1019
|
|
|
1023
|
-
if options.concurrency
|
|
1020
|
+
if "multiprocessing" in (options.concurrency or "").split(","):
|
|
1024
1021
|
# Can't set other run-affecting command line options with
|
|
1025
1022
|
# multiprocessing.
|
|
1026
1023
|
for opt_name in ["branch", "include", "omit", "pylib", "source", "timid"]:
|
|
@@ -11,7 +11,7 @@ import os
|
|
|
11
11
|
import sys
|
|
12
12
|
from collections.abc import Callable, Collection, Mapping
|
|
13
13
|
from types import FrameType
|
|
14
|
-
from typing import Any, TypeVar, cast
|
|
14
|
+
from typing import Any, ClassVar, TypeVar, cast
|
|
15
15
|
|
|
16
16
|
from coverage import env
|
|
17
17
|
from coverage.core import Core
|
|
@@ -57,7 +57,7 @@ class Collector:
|
|
|
57
57
|
# The stack of active Collectors. Collectors are added here when started,
|
|
58
58
|
# and popped when stopped. Collectors on the stack are paused when not
|
|
59
59
|
# the top, and resumed when they become the top again.
|
|
60
|
-
_collectors: list[Collector] = []
|
|
60
|
+
_collectors: ClassVar[list[Collector]] = []
|
|
61
61
|
|
|
62
62
|
def __init__(
|
|
63
63
|
self,
|
|
@@ -148,10 +148,7 @@ class Collector:
|
|
|
148
148
|
|
|
149
149
|
if self.concur_id_func and not hasattr(core.tracer_class, "concur_id_func"):
|
|
150
150
|
raise ConfigError(
|
|
151
|
-
"Can't support concurrency={} with {}, only threads are supported."
|
|
152
|
-
tried,
|
|
153
|
-
self.tracer_name(),
|
|
154
|
-
),
|
|
151
|
+
f"Can't support concurrency={tried} with {self.tracer_name()}, only threads are supported.",
|
|
155
152
|
)
|
|
156
153
|
|
|
157
154
|
if do_threading or not concurrency:
|
|
@@ -388,7 +385,7 @@ class Collector:
|
|
|
388
385
|
"""
|
|
389
386
|
return any(tracer.activity() for tracer in self.tracers)
|
|
390
387
|
|
|
391
|
-
def switch_context(self, new_context: str | None) -> None:
|
|
388
|
+
def switch_context(self, new_context: str | None) -> str | None:
|
|
392
389
|
"""Switch to a new dynamic context."""
|
|
393
390
|
context: str | None
|
|
394
391
|
self.flush_data()
|
|
@@ -398,7 +395,7 @@ class Collector:
|
|
|
398
395
|
context += "|" + new_context
|
|
399
396
|
else:
|
|
400
397
|
context = new_context
|
|
401
|
-
self.covdata.set_context(context)
|
|
398
|
+
return self.covdata.set_context(context)
|
|
402
399
|
|
|
403
400
|
def disable_plugin(self, disposition: TFileDisposition) -> None:
|
|
404
401
|
"""Disable the plugin mentioned in `disposition`."""
|