coverage 7.6.7__tar.gz → 7.12.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.6.7 → coverage-7.12.0}/.editorconfig +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/.git-blame-ignore-revs +10 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/ISSUE_TEMPLATE/bug_report.md +4 -2
- {coverage-7.6.7 → coverage-7.12.0}/.github/ISSUE_TEMPLATE/config.yml +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/.github/dependabot.yml +1 -0
- coverage-7.12.0/.github/workflows/codeql-analysis.yml +83 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/workflows/coverage.yml +83 -41
- {coverage-7.6.7 → coverage-7.12.0}/.github/workflows/dependency-review.yml +10 -5
- {coverage-7.6.7 → coverage-7.12.0}/.github/workflows/kit.yml +99 -107
- coverage-7.12.0/.github/workflows/publish.yml +129 -0
- coverage-7.12.0/.github/workflows/python-nightly.yml +114 -0
- coverage-7.12.0/.github/workflows/quality.yml +185 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/workflows/testsuite.yml +64 -23
- coverage-7.12.0/.github/zizmor.yml +8 -0
- coverage-7.12.0/.ignore +25 -0
- {coverage-7.6.7 → coverage-7.12.0}/.pre-commit-config.yaml +21 -1
- {coverage-7.6.7 → coverage-7.12.0}/.readthedocs.yaml +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/CHANGES.rst +777 -233
- {coverage-7.6.7 → coverage-7.12.0}/CITATION.cff +2 -2
- {coverage-7.6.7 → coverage-7.12.0}/CONTRIBUTORS.txt +11 -0
- {coverage-7.6.7 → coverage-7.12.0}/MANIFEST.in +2 -3
- {coverage-7.6.7 → coverage-7.12.0}/Makefile +62 -42
- {coverage-7.6.7 → coverage-7.12.0}/NOTICE.txt +1 -1
- {coverage-7.6.7/coverage.egg-info → coverage-7.12.0}/PKG-INFO +50 -28
- {coverage-7.6.7 → coverage-7.12.0}/README.rst +23 -14
- {coverage-7.6.7 → coverage-7.12.0}/__main__.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/ci/comment_on_fixes.py +24 -14
- coverage-7.12.0/ci/session.py +33 -0
- coverage-7.12.0/ci/trigger_action.py +55 -0
- coverage-7.12.0/ci/update_rtfd.py +107 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/__init__.py +3 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/__main__.py +3 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/annotate.py +2 -3
- coverage-7.12.0/coverage/bytecode.py +196 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/cmdline.py +330 -155
- {coverage-7.6.7 → coverage-7.12.0}/coverage/collector.py +32 -43
- {coverage-7.6.7 → coverage-7.12.0}/coverage/config.py +167 -63
- {coverage-7.6.7 → coverage-7.12.0}/coverage/context.py +5 -6
- {coverage-7.6.7 → coverage-7.12.0}/coverage/control.py +166 -87
- coverage-7.12.0/coverage/core.py +139 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/datastack.c +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/datastack.h +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/filedisp.c +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/filedisp.h +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/module.c +39 -33
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/stats.h +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/tracer.c +34 -25
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/tracer.h +3 -3
- {coverage-7.6.7 → coverage-7.12.0}/coverage/ctracer/util.h +3 -13
- {coverage-7.6.7 → coverage-7.12.0}/coverage/data.py +4 -5
- {coverage-7.6.7 → coverage-7.12.0}/coverage/debug.py +113 -57
- {coverage-7.6.7 → coverage-7.12.0}/coverage/disposition.py +2 -1
- coverage-7.12.0/coverage/env.py +135 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/exceptions.py +29 -7
- {coverage-7.6.7 → coverage-7.12.0}/coverage/execfile.py +19 -14
- {coverage-7.6.7 → coverage-7.12.0}/coverage/files.py +24 -19
- {coverage-7.6.7 → coverage-7.12.0}/coverage/html.py +141 -91
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/coverage_html.js +12 -10
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/index.html +45 -10
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/pyfile.html +2 -2
- {coverage-7.6.7/tests/gold/html/styled → coverage-7.12.0/coverage/htmlfiles}/style.css +54 -6
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/style.scss +85 -3
- {coverage-7.6.7 → coverage-7.12.0}/coverage/inorout.py +62 -45
- {coverage-7.6.7 → coverage-7.12.0}/coverage/jsonreport.py +22 -9
- {coverage-7.6.7 → coverage-7.12.0}/coverage/lcovreport.py +17 -21
- {coverage-7.6.7 → coverage-7.12.0}/coverage/misc.py +51 -47
- {coverage-7.6.7 → coverage-7.12.0}/coverage/multiproc.py +13 -8
- {coverage-7.6.7 → coverage-7.12.0}/coverage/numbits.py +4 -5
- {coverage-7.6.7 → coverage-7.12.0}/coverage/parser.py +196 -270
- coverage-7.12.0/coverage/patch.py +166 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/phystokens.py +25 -26
- {coverage-7.6.7 → coverage-7.12.0}/coverage/plugin.py +14 -14
- {coverage-7.6.7 → coverage-7.12.0}/coverage/plugin_support.py +37 -36
- {coverage-7.6.7 → coverage-7.12.0}/coverage/python.py +13 -14
- {coverage-7.6.7 → coverage-7.12.0}/coverage/pytracer.py +41 -34
- {coverage-7.6.7 → coverage-7.12.0}/coverage/regions.py +3 -2
- {coverage-7.6.7 → coverage-7.12.0}/coverage/report.py +60 -44
- {coverage-7.6.7 → coverage-7.12.0}/coverage/report_core.py +7 -10
- {coverage-7.6.7 → coverage-7.12.0}/coverage/results.py +156 -73
- {coverage-7.6.7 → coverage-7.12.0}/coverage/sqldata.py +261 -211
- {coverage-7.6.7 → coverage-7.12.0}/coverage/sqlitedb.py +37 -29
- coverage-7.12.0/coverage/sysmon.py +513 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/templite.py +19 -7
- {coverage-7.6.7 → coverage-7.12.0}/coverage/tomlconfig.py +13 -13
- {coverage-7.6.7 → coverage-7.12.0}/coverage/tracer.pyi +3 -1
- {coverage-7.6.7 → coverage-7.12.0}/coverage/types.py +26 -23
- {coverage-7.6.7 → coverage-7.12.0}/coverage/version.py +4 -19
- {coverage-7.6.7 → coverage-7.12.0}/coverage/xmlreport.py +17 -14
- {coverage-7.6.7 → coverage-7.12.0/coverage.egg-info}/PKG-INFO +50 -28
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/SOURCES.txt +27 -24
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/entry_points.txt +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/_static/coverage.css +0 -8
- {coverage-7.6.7 → coverage-7.12.0}/doc/api.rst +11 -5
- {coverage-7.6.7 → coverage-7.12.0}/doc/api_coverage.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/api_coveragedata.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/api_exceptions.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/api_module.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/api_plugin.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/branch.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/changes.rst +325 -325
- {coverage-7.6.7 → coverage-7.12.0}/doc/cog_helpers.py +9 -4
- coverage-7.12.0/doc/commands/cmd_annotate.rst +78 -0
- coverage-7.12.0/doc/commands/cmd_combine.rst +118 -0
- coverage-7.12.0/doc/commands/cmd_debug.rst +128 -0
- coverage-7.12.0/doc/commands/cmd_erase.rst +41 -0
- coverage-7.12.0/doc/commands/cmd_html.rst +111 -0
- coverage-7.12.0/doc/commands/cmd_json.rst +63 -0
- coverage-7.12.0/doc/commands/cmd_lcov.rst +55 -0
- coverage-7.12.0/doc/commands/cmd_report.rst +140 -0
- coverage-7.12.0/doc/commands/cmd_reporting.rst +47 -0
- coverage-7.12.0/doc/commands/cmd_run.rst +170 -0
- coverage-7.12.0/doc/commands/cmd_xml.rst +98 -0
- coverage-7.12.0/doc/commands/index.rst +92 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/conf.py +64 -57
- {coverage-7.6.7 → coverage-7.12.0}/doc/config.rst +109 -10
- {coverage-7.6.7 → coverage-7.12.0}/doc/contexts.rst +3 -3
- {coverage-7.6.7 → coverage-7.12.0}/doc/contributing.rst +97 -75
- {coverage-7.6.7 → coverage-7.12.0}/doc/dbschema.rst +3 -3
- {coverage-7.6.7 → coverage-7.12.0}/doc/excluding.rst +67 -43
- {coverage-7.6.7 → coverage-7.12.0}/doc/faq.rst +57 -17
- {coverage-7.6.7 → coverage-7.12.0}/doc/howitworks.rst +34 -18
- {coverage-7.6.7 → coverage-7.12.0}/doc/index.rst +19 -15
- {coverage-7.6.7 → coverage-7.12.0}/doc/install.rst +1 -1
- coverage-7.12.0/doc/messages.rst +205 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/migrating.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/other.rst +2 -2
- {coverage-7.6.7 → coverage-7.12.0}/doc/plugins.rst +4 -4
- {coverage-7.6.7 → coverage-7.12.0}/doc/python-coverage.1.txt +48 -20
- {coverage-7.6.7 → coverage-7.12.0}/doc/requirements.in +4 -2
- {coverage-7.6.7 → coverage-7.12.0}/doc/requirements.pip +64 -40
- {coverage-7.6.7 → coverage-7.12.0}/doc/sleepy.rst +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/doc/source.rst +3 -3
- coverage-7.12.0/doc/subprocess.rst +152 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/trouble.rst +3 -3
- {coverage-7.6.7 → coverage-7.12.0}/doc/whatsnew5x.rst +12 -12
- {coverage-7.6.7 → coverage-7.12.0}/howto.txt +15 -44
- {coverage-7.6.7 → coverage-7.12.0}/igor.py +84 -87
- {coverage-7.6.7 → coverage-7.12.0}/lab/branches.py +3 -2
- {coverage-7.6.7 → coverage-7.12.0}/lab/compare_times.sh +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/lab/extract_code.py +5 -5
- {coverage-7.6.7 → coverage-7.12.0}/lab/goals.py +11 -6
- {coverage-7.6.7 → coverage-7.12.0}/lab/hack_pyc.py +25 -12
- {coverage-7.6.7 → coverage-7.12.0}/lab/notes/bug1303.txt +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/lab/parser.py +28 -45
- {coverage-7.6.7 → coverage-7.12.0}/lab/pick.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/lab/platform_info.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/lab/run_sysmon.py +34 -25
- coverage-7.12.0/lab/run_trace.py +44 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/select_contexts.py +2 -2
- {coverage-7.6.7 → coverage-7.12.0}/lab/show_platform.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/lab/show_pyc.py +47 -24
- coverage-7.12.0/lab/warn_executed.py +213 -0
- coverage-7.12.0/lab/warn_executed.toml +15 -0
- {coverage-7.6.7 → coverage-7.12.0}/metacov.ini +3 -3
- {coverage-7.6.7 → coverage-7.12.0}/pyproject.toml +54 -22
- {coverage-7.6.7 → coverage-7.12.0}/requirements/dev.in +4 -5
- coverage-7.12.0/requirements/dev.pip +228 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/kit.in +1 -1
- coverage-7.12.0/requirements/kit.pip +120 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/light-threads.in +1 -1
- coverage-7.12.0/requirements/light-threads.pip +23 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/mypy.in +1 -2
- coverage-7.12.0/requirements/mypy.pip +52 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/pins.pip +1 -3
- {coverage-7.6.7 → coverage-7.12.0}/requirements/pip.in +1 -1
- coverage-7.12.0/requirements/pip.pip +16 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/pytest.in +1 -1
- coverage-7.12.0/requirements/pytest.pip +38 -0
- {coverage-7.6.7 → coverage-7.12.0}/requirements/tox.in +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/requirements/tox.pip +16 -18
- {coverage-7.6.7 → coverage-7.12.0}/setup.py +17 -10
- {coverage-7.6.7 → coverage-7.12.0}/tests/__init__.py +1 -1
- coverage-7.12.0/tests/conftest.py +111 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/coveragetest.py +44 -48
- {coverage-7.6.7 → coverage-7.12.0}/tests/covmodzip1.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/README.rst +13 -14
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/Makefile +2 -2
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/a/a_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/a/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/a/function_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/a/index.html +18 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/b_branch/b_py.html +7 -7
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/b_branch/class_index.html +40 -15
- coverage-7.12.0/tests/gold/html/b_branch/function_index.html +193 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/b_branch/index.html +36 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/bom/bom_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/bom/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/bom/function_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/bom/index.html +18 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/contexts/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/contexts/function_index.html +36 -24
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/contexts/index.html +18 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/contexts/two_tests_py.html +8 -8
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/isolatin1/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/isolatin1/function_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/isolatin1/index.html +18 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/isolatin1/isolatin1_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/partial_626 → coverage-7.12.0/tests/gold/html/multiline}/class_index.html +47 -22
- {coverage-7.6.7/tests/gold/html/b_branch → coverage-7.12.0/tests/gold/html/multiline}/function_index.html +46 -51
- {coverage-7.6.7/tests/gold/html/partial_626 → coverage-7.12.0/tests/gold/html/multiline}/index.html +45 -21
- coverage-7.12.0/tests/gold/html/multiline/multiline_py.html +117 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/class_index.html +36 -24
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/function_index.html +36 -24
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/index.html +30 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/m1_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/m2_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_1/m3_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/omit_3 → coverage-7.12.0/tests/gold/html/omit_1}/main_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_2/class_index.html +31 -21
- {coverage-7.6.7/tests/gold/html/omit_4 → coverage-7.12.0/tests/gold/html/omit_2}/function_index.html +31 -21
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_2/index.html +26 -16
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_2/m2_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_2/m3_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_2/main_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/omit_5 → coverage-7.12.0/tests/gold/html/omit_3}/class_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_3/function_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_3/index.html +22 -14
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_3/m3_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/omit_4 → coverage-7.12.0/tests/gold/html/omit_3}/main_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_4/class_index.html +31 -21
- {coverage-7.6.7/tests/gold/html/omit_2 → coverage-7.12.0/tests/gold/html/omit_4}/function_index.html +31 -21
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_4/index.html +26 -16
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_4/m1_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_4/m3_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/omit_1 → coverage-7.12.0/tests/gold/html/omit_4}/main_py.html +6 -6
- {coverage-7.6.7/tests/gold/html/omit_3 → coverage-7.12.0/tests/gold/html/omit_5}/class_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_5/function_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_5/index.html +22 -14
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_5/m1_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/omit_5/main_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/other/blah_blah_other_py.html +8 -8
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/other/class_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/other/function_index.html +26 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/other/here_py.html +8 -8
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/other/index.html +23 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/partial/class_index.html +43 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/partial/function_index.html +43 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/partial/index.html +39 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/partial/partial_py.html +12 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/styled/a_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/styled/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/styled/function_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/styled/index.html +18 -12
- {coverage-7.6.7/coverage/htmlfiles → coverage-7.12.0/tests/gold/html/styled}/style.css +54 -6
- coverage-7.6.7/tests/gold/html/support/coverage_html_cb_6fb7b396.js → coverage-7.12.0/tests/gold/html/support/coverage_html_cb_bcae5fc4.js +12 -10
- coverage-7.6.7/tests/gold/html/support/style_cb_8e611ae1.css → coverage-7.12.0/tests/gold/html/support/style_cb_8432e98f.css +54 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/unicode/class_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/unicode/function_index.html +21 -15
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/unicode/index.html +18 -12
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/unicode/unicode_py.html +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/goldtest.py +17 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/helpers.py +75 -34
- {coverage-7.6.7 → coverage-7.12.0}/tests/js/tests.js +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/mixins.py +4 -3
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/covmod1.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/namespace_420/sub1/__init__.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/__main__.py +1 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/p1a.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/p1b.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/p1c.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/runmod2.py +2 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/sub/__main__.py +1 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/sub/ps1a.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/sub/runmod3.py +2 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg2/p2a.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg2/p2b.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/plugins/a_plugin.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/plugins/another.py +3 -2
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/process_test/try_execfile.py +37 -25
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/runmod1.py +2 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/usepkgs.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/namespace_420/sub2/__init__.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/othera.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/otherb.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/sub/osa.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/sub/osb.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/osinfo.py +24 -21
- {coverage-7.6.7 → coverage-7.12.0}/tests/plugin1.py +5 -3
- {coverage-7.6.7 → coverage-7.12.0}/tests/plugin2.py +9 -7
- {coverage-7.6.7 → coverage-7.12.0}/tests/plugin_config.py +3 -2
- {coverage-7.6.7 → coverage-7.12.0}/tests/select_plugin.py +3 -5
- {coverage-7.6.7 → coverage-7.12.0}/tests/stress_phystoken.tok +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/stress_phystoken_dos.tok +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_annotate.py +31 -13
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_api.py +313 -154
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_arcs.py +574 -284
- coverage-7.12.0/tests/test_bytecode.py +49 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_cmdline.py +658 -280
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_collector.py +12 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_concurrency.py +123 -69
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_config.py +356 -115
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_context.py +43 -26
- coverage-7.12.0/tests/test_core.py +155 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_coverage.py +546 -317
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_data.py +197 -168
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_debug.py +117 -67
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_execfile.py +65 -41
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_filereporter.py +2 -2
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_files.py +333 -253
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_goldtest.py +30 -21
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_html.py +365 -208
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_json.py +170 -69
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_lcov.py +148 -32
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_misc.py +33 -23
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_mixins.py +9 -5
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_numbits.py +42 -18
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_oddball.py +268 -107
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_parser.py +354 -208
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_phystokens.py +81 -33
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_plugins.py +348 -191
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_process.py +701 -257
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_python.py +13 -12
- coverage-7.12.0/tests/test_regions.py +113 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_report.py +240 -125
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_report_common.py +55 -30
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_report_core.py +1 -1
- coverage-7.12.0/tests/test_results.py +193 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_setup.py +6 -6
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_sqlitedb.py +7 -4
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_templite.py +120 -75
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_testing.py +85 -48
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_venv.py +114 -64
- coverage-7.12.0/tests/test_version.py +33 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/test_xml.py +149 -107
- {coverage-7.6.7 → coverage-7.12.0}/tests/testenv.py +20 -4
- {coverage-7.6.7 → coverage-7.12.0}/tests/zipsrc/zip1/zip1.py +1 -1
- {coverage-7.6.7 → coverage-7.12.0}/tox.ini +39 -25
- coverage-7.6.7/.github/workflows/codeql-analysis.yml +0 -79
- coverage-7.6.7/.github/workflows/publish.yml +0 -119
- coverage-7.6.7/.github/workflows/python-nightly.yml +0 -133
- coverage-7.6.7/.github/workflows/quality.yml +0 -115
- coverage-7.6.7/benchmark/.gitignore +0 -1
- coverage-7.6.7/benchmark/README.rst +0 -178
- coverage-7.6.7/benchmark/benchmark.py +0 -1081
- coverage-7.6.7/benchmark/empty.py +0 -29
- coverage-7.6.7/benchmark/fake.py +0 -32
- coverage-7.6.7/benchmark/run.py +0 -174
- coverage-7.6.7/ci/github_releases.py +0 -168
- coverage-7.6.7/ci/parse_relnotes.py +0 -123
- coverage-7.6.7/ci/session.py +0 -30
- coverage-7.6.7/ci/trigger_action.py +0 -29
- coverage-7.6.7/coverage/bytecode.py +0 -22
- coverage-7.6.7/coverage/core.py +0 -102
- coverage-7.6.7/coverage/env.py +0 -125
- coverage-7.6.7/coverage/sysmon.py +0 -436
- coverage-7.6.7/doc/cmd.rst +0 -1083
- coverage-7.6.7/doc/subprocess.rst +0 -100
- coverage-7.6.7/lab/bpo_prelude.py +0 -12
- coverage-7.6.7/lab/branch_trace.py +0 -17
- coverage-7.6.7/lab/coverage-03.dtd +0 -55
- coverage-7.6.7/lab/find_class.py +0 -40
- coverage-7.6.7/lab/genpy.py +0 -261
- coverage-7.6.7/lab/new-data.js +0 -75
- coverage-7.6.7/lab/run_trace.py +0 -37
- coverage-7.6.7/requirements/dev.pip +0 -198
- coverage-7.6.7/requirements/kit.pip +0 -106
- coverage-7.6.7/requirements/light-threads.pip +0 -31
- coverage-7.6.7/requirements/mypy.pip +0 -52
- coverage-7.6.7/requirements/pip-tools.in +0 -8
- coverage-7.6.7/requirements/pip-tools.pip +0 -34
- coverage-7.6.7/requirements/pip.pip +0 -20
- coverage-7.6.7/requirements/pytest.pip +0 -38
- coverage-7.6.7/tests/balance_xdist_plugin.py +0 -191
- coverage-7.6.7/tests/conftest.py +0 -135
- coverage-7.6.7/tests/gold/html/partial_626/function_index.html +0 -123
- coverage-7.6.7/tests/gold/html/partial_626/partial_py.html +0 -116
- coverage-7.6.7/tests/test_regions.py +0 -113
- coverage-7.6.7/tests/test_results.py +0 -164
- coverage-7.6.7/tests/test_version.py +0 -43
- {coverage-7.6.7 → coverage-7.12.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/FUNDING.yml +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/ISSUE_TEMPLATE/support.md +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/.github/SECURITY.md +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/LICENSE.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/ci/README.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/favicon_32.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/htmlfiles/keybd_closed.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage/py.typed +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/dependency_links.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/not-zip-safe +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/requires.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/coverage.egg-info/top_level.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/dict.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/media/sleepy-snake-600.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/media/sleepy-snake-circle-150.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/sample_html/favicon_32_cb_58284776.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/doc/sample_html/keybd_closed_cb_ce680311.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/README.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/coverage-04.dtd +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/notes/arcs-to-branches.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/notes/pypy-738-decorated-functions.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/parse_all.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/lab/treetopy.sh +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/setup.cfg +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/anno_dir/multi.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475___init__.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475_a.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2___init__.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2_b.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/encodings/utf8.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/mae/mae.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/multi/a/__init__.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/multi/a/a.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/multi/b/__init__.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/multi/b/b.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/multi/multi.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/annotate/white/white.py,cover +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/styled/myextra.css +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/support/favicon_32_cb_58284776.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/html/support/keybd_closed_cb_ce680311.png +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/testing/getty/gettysburg.txt +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/testing/xml/output.xml +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/xml/x_xml/coverage.xml +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/gold/xml/y_xml_branch/coverage.xml +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/js/index.html +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/afile.odd.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/afile.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb/bfile.odd.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb/bfile.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb/cc/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb/cc/cfile.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/bb.odd/bfile.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/aa/zfile.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/ambiguous/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/ambiguous/pkg1/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/ambiguous/pkg1/ambiguous.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg1/sub/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/pkg2/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/plugins/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/modules/process_test/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/moremodules/othermods/sub/__init__.py +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/qunit/jquery.tmpl.min.js +0 -0
- {coverage-7.6.7 → coverage-7.12.0}/tests/zipsrc/zip1/__init__.py +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
-
# For details: https://github.com/
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
3
|
|
|
4
4
|
# This file is for unifying the coding style for different editors and IDEs.
|
|
5
5
|
# More information at http://EditorConfig.org
|
|
@@ -27,3 +27,13 @@ e4e238a9ed8f2ad2b9060247591b4c057c2953bf
|
|
|
27
27
|
|
|
28
28
|
# 2024-02-27 style: modernize type hints, a few more f-strings
|
|
29
29
|
401a63bf08bdfd780b662f64d2dfe3603f2584dd
|
|
30
|
+
|
|
31
|
+
# 2025-08-09 style: ruff check --fix --fixable=I001,Q000 coverage/*.py
|
|
32
|
+
a32cd74bc0aaf0714acaf37beb21c84cbe2ee3ff
|
|
33
|
+
|
|
34
|
+
# 2025-08-21 chore: `ruff format .`
|
|
35
|
+
82467f72306efdb207af09ace27b6b3ed4c7ad6f
|
|
36
|
+
|
|
37
|
+
# 2025-11-09 move to the coveragepy org GitHub account
|
|
38
|
+
b33a5e889711d27610433ca0040cab67a9fb01f4
|
|
39
|
+
776f313f5415bc95ea736f6486634c3f9d0b96f4
|
|
@@ -11,11 +11,13 @@ assignees: ''
|
|
|
11
11
|
A clear and concise description of the bug.
|
|
12
12
|
|
|
13
13
|
**To Reproduce**
|
|
14
|
-
How can we reproduce the problem? Please *be specific*. Don't link to a failing CI job.
|
|
14
|
+
How can we reproduce the problem? Please *be specific*. Don't link to a failing CI job. Think about the time it will take us to recreate your situation: the easier you make it, the more likely your issue will be addressed.
|
|
15
|
+
|
|
16
|
+
Answer the questions below:
|
|
15
17
|
1. What version of Python are you using?
|
|
16
18
|
1. What version of coverage.py shows the problem? The output of `coverage debug sys` is helpful.
|
|
17
19
|
1. What versions of what packages do you have installed? The output of `pip freeze` is helpful.
|
|
18
|
-
1. What code shows the problem? Give us a specific commit of a specific repo that we can check out. If you've already worked around the problem, please provide a commit before that fix.
|
|
20
|
+
1. What code shows the problem? Give us a *specific commit* of a *specific repo* that we can check out. If you've already worked around the problem, please provide a commit before that fix.
|
|
19
21
|
1. What commands should we run to reproduce the problem? *Be specific*. Include everything, even `git clone`, `pip install`, and so on. Explain like we're five!
|
|
20
22
|
|
|
21
23
|
**Expected behavior**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
-
# For details: https://github.com/
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
3
|
|
|
4
4
|
# https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository
|
|
5
5
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
+
# to commit it to your repository.
|
|
3
|
+
#
|
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
+
# or to provide custom queries or build logic.
|
|
6
|
+
#
|
|
7
|
+
# ******** NOTE ********
|
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
+
# supported CodeQL languages.
|
|
11
|
+
#
|
|
12
|
+
name: "CodeQL"
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches:
|
|
17
|
+
- main
|
|
18
|
+
pull_request:
|
|
19
|
+
# The branches below must be a subset of the branches above
|
|
20
|
+
branches:
|
|
21
|
+
- main
|
|
22
|
+
schedule:
|
|
23
|
+
- cron: '30 20 * * 6'
|
|
24
|
+
|
|
25
|
+
permissions:
|
|
26
|
+
contents: read
|
|
27
|
+
|
|
28
|
+
concurrency:
|
|
29
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
30
|
+
cancel-in-progress: true
|
|
31
|
+
|
|
32
|
+
jobs:
|
|
33
|
+
analyze:
|
|
34
|
+
name: Analyze
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
permissions:
|
|
37
|
+
actions: read # CodeQL wrote this action.
|
|
38
|
+
contents: read
|
|
39
|
+
security-events: write # CodeQL wrote this action.
|
|
40
|
+
|
|
41
|
+
strategy:
|
|
42
|
+
fail-fast: false
|
|
43
|
+
matrix:
|
|
44
|
+
language:
|
|
45
|
+
- python
|
|
46
|
+
- javascript
|
|
47
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
48
|
+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
|
49
|
+
|
|
50
|
+
steps:
|
|
51
|
+
- name: Checkout repository
|
|
52
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
53
|
+
with:
|
|
54
|
+
persist-credentials: false
|
|
55
|
+
|
|
56
|
+
# Initializes the CodeQL tools for scanning.
|
|
57
|
+
- name: Initialize CodeQL
|
|
58
|
+
uses: github/codeql-action/init@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3
|
|
59
|
+
with:
|
|
60
|
+
languages: ${{ matrix.language }}
|
|
61
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
62
|
+
# By default, queries listed here will override any specified in a config file.
|
|
63
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
64
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
65
|
+
|
|
66
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
67
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
68
|
+
- name: Autobuild
|
|
69
|
+
uses: github/codeql-action/autobuild@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3
|
|
70
|
+
|
|
71
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
72
|
+
# 📚 https://git.io/JvXDl
|
|
73
|
+
|
|
74
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
75
|
+
# and modify them (or add more) to build your code if your project
|
|
76
|
+
# uses a compiled language
|
|
77
|
+
|
|
78
|
+
#- run: |
|
|
79
|
+
# make bootstrap
|
|
80
|
+
# make release
|
|
81
|
+
|
|
82
|
+
- name: Perform CodeQL Analysis
|
|
83
|
+
uses: github/codeql-action/analyze@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
-
# For details: https://github.com/
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
3
|
|
|
4
4
|
name: "Coverage"
|
|
5
5
|
|
|
@@ -8,7 +8,7 @@ on:
|
|
|
8
8
|
# on pull requests yet.
|
|
9
9
|
push:
|
|
10
10
|
branches:
|
|
11
|
-
-
|
|
11
|
+
- main
|
|
12
12
|
- "**/*metacov*"
|
|
13
13
|
workflow_dispatch:
|
|
14
14
|
|
|
@@ -18,6 +18,7 @@ defaults:
|
|
|
18
18
|
|
|
19
19
|
env:
|
|
20
20
|
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
21
|
+
COVERAGE_IGOR_VERBOSE: 2
|
|
21
22
|
FORCE_COLOR: 1 # Get colored pytest output
|
|
22
23
|
|
|
23
24
|
permissions:
|
|
@@ -28,12 +29,49 @@ concurrency:
|
|
|
28
29
|
cancel-in-progress: true
|
|
29
30
|
|
|
30
31
|
jobs:
|
|
32
|
+
changed:
|
|
33
|
+
name: "Check changed files"
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
permissions:
|
|
36
|
+
pull-requests: read # Needed for this check to run on pull requests
|
|
37
|
+
outputs:
|
|
38
|
+
run_coverage: ${{ steps.filter.outputs.run_coverage }}
|
|
39
|
+
workflow: ${{ steps.filter.outputs.workflow }}
|
|
40
|
+
steps:
|
|
41
|
+
- name: "Check out the repo"
|
|
42
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
43
|
+
with:
|
|
44
|
+
persist-credentials: false
|
|
45
|
+
|
|
46
|
+
- name: "Examine changed files"
|
|
47
|
+
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
|
48
|
+
id: filter
|
|
49
|
+
with:
|
|
50
|
+
filters: |
|
|
51
|
+
run_coverage:
|
|
52
|
+
- "*.py"
|
|
53
|
+
- "coverage/**.py"
|
|
54
|
+
- "tests/**.py"
|
|
55
|
+
- "**.h"
|
|
56
|
+
- "**.c"
|
|
57
|
+
- ".github/workflows/coverage.yml"
|
|
58
|
+
- "tox.ini"
|
|
59
|
+
- "metacov.ini"
|
|
60
|
+
- "requirements/*.pip"
|
|
61
|
+
- "tests/gold/**"
|
|
62
|
+
|
|
31
63
|
coverage:
|
|
32
64
|
name: "${{ matrix.python-version }} on ${{ matrix.os }}"
|
|
33
65
|
runs-on: "${{ matrix.os }}-${{ matrix.os-version || 'latest' }}"
|
|
34
|
-
timeout-minutes:
|
|
66
|
+
timeout-minutes: 10
|
|
67
|
+
|
|
68
|
+
# Only run coverage if Python files or this workflow changed.
|
|
69
|
+
needs: changed
|
|
70
|
+
if: ${{ needs.changed.outputs.run_coverage == 'true' }}
|
|
71
|
+
|
|
35
72
|
env:
|
|
36
73
|
MATRIX_ID: "${{ matrix.python-version }}.${{ matrix.os }}"
|
|
74
|
+
TOX_GH_MAJOR_MINOR: "${{ matrix.python-version }}"
|
|
37
75
|
|
|
38
76
|
strategy:
|
|
39
77
|
matrix:
|
|
@@ -46,45 +84,46 @@ jobs:
|
|
|
46
84
|
# tox.ini so that tox will run properly. PYVERSIONS
|
|
47
85
|
# Available versions:
|
|
48
86
|
# https://github.com/actions/python-versions/blob/main/versions-manifest.json
|
|
49
|
-
- "3.9"
|
|
50
87
|
- "3.10"
|
|
51
88
|
- "3.11"
|
|
52
89
|
- "3.12"
|
|
53
90
|
- "3.13"
|
|
91
|
+
- "3.13t"
|
|
54
92
|
- "3.14"
|
|
55
|
-
- "
|
|
93
|
+
- "3.14t"
|
|
94
|
+
- "3.15"
|
|
95
|
+
- "3.15t"
|
|
56
96
|
- "pypy-3.10"
|
|
97
|
+
- "pypy-3.11"
|
|
57
98
|
exclude:
|
|
58
99
|
# Mac PyPy always takes the longest, and doesn't add anything.
|
|
59
|
-
- os: macos
|
|
60
|
-
python-version: "pypy-3.9"
|
|
61
100
|
- os: macos
|
|
62
101
|
python-version: "pypy-3.10"
|
|
63
|
-
|
|
102
|
+
- os: macos
|
|
103
|
+
python-version: "pypy-3.11"
|
|
104
|
+
# Windows pypy 3.10 gets stuck with PyPy 7.3.15. I hope to
|
|
64
105
|
# unstick them, but I don't want that to block all other progress, so
|
|
65
106
|
# skip them for now.
|
|
66
|
-
- os: windows
|
|
67
|
-
python-version: "pypy-3.9"
|
|
68
107
|
- os: windows
|
|
69
108
|
python-version: "pypy-3.10"
|
|
70
109
|
# If we need to tweak the os version we can do it with an include like
|
|
71
110
|
# this:
|
|
72
111
|
# include:
|
|
73
|
-
# - python-version: "3.
|
|
112
|
+
# - python-version: "3.12"
|
|
74
113
|
# os: "macos"
|
|
75
|
-
# os-version: "
|
|
114
|
+
# os-version: "15"
|
|
76
115
|
|
|
77
116
|
# If one job fails, stop the whole thing.
|
|
78
117
|
fail-fast: true
|
|
79
118
|
|
|
80
119
|
steps:
|
|
81
120
|
- name: "Check out the repo"
|
|
82
|
-
uses: actions/checkout@
|
|
121
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
83
122
|
with:
|
|
84
123
|
persist-credentials: false
|
|
85
124
|
|
|
86
125
|
- name: "Set up Python"
|
|
87
|
-
uses: actions/setup-python@
|
|
126
|
+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
88
127
|
with:
|
|
89
128
|
python-version: "${{ matrix.python-version }}"
|
|
90
129
|
allow-prereleases: true
|
|
@@ -97,22 +136,20 @@ jobs:
|
|
|
97
136
|
- name: "Show environment"
|
|
98
137
|
run: |
|
|
99
138
|
set -xe
|
|
139
|
+
echo matrix id: $MATRIX_ID
|
|
100
140
|
python -VV
|
|
101
141
|
python -m site
|
|
102
|
-
env
|
|
142
|
+
env | sort
|
|
103
143
|
|
|
104
144
|
- name: "Install dependencies"
|
|
105
145
|
run: |
|
|
106
|
-
echo matrix id: $MATRIX_ID
|
|
107
146
|
set -xe
|
|
108
|
-
python -VV
|
|
109
|
-
python -m site
|
|
110
147
|
python -m pip install -r requirements/tox.pip
|
|
111
148
|
|
|
112
149
|
- name: "Run tox coverage for ${{ matrix.python-version }}"
|
|
113
150
|
env:
|
|
114
151
|
COVERAGE_COVERAGE: "yes"
|
|
115
|
-
COVERAGE_CONTEXT: "${{
|
|
152
|
+
COVERAGE_CONTEXT: "${{ env.MATRIX_ID }}"
|
|
116
153
|
run: |
|
|
117
154
|
set -xe
|
|
118
155
|
python -m tox
|
|
@@ -125,7 +162,7 @@ jobs:
|
|
|
125
162
|
mv .metacov .metacov.$MATRIX_ID
|
|
126
163
|
|
|
127
164
|
- name: "Upload coverage data"
|
|
128
|
-
uses: actions/upload-artifact@
|
|
165
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
129
166
|
with:
|
|
130
167
|
name: metacov-${{ env.MATRIX_ID }}
|
|
131
168
|
path: .metacov.*
|
|
@@ -142,14 +179,14 @@ jobs:
|
|
|
142
179
|
|
|
143
180
|
steps:
|
|
144
181
|
- name: "Check out the repo"
|
|
145
|
-
uses: actions/checkout@
|
|
182
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
146
183
|
with:
|
|
147
184
|
persist-credentials: false
|
|
148
185
|
|
|
149
186
|
- name: "Set up Python"
|
|
150
|
-
uses: actions/setup-python@
|
|
187
|
+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
151
188
|
with:
|
|
152
|
-
python-version: "3.
|
|
189
|
+
python-version: "3.10" # Minimum of PYVERSIONS
|
|
153
190
|
# At a certain point, installing dependencies failed on pypy 3.9 and
|
|
154
191
|
# 3.10 on Windows. Commenting out the cache here fixed it. Someday
|
|
155
192
|
# try using the cache again.
|
|
@@ -170,7 +207,7 @@ jobs:
|
|
|
170
207
|
python igor.py zip_mods
|
|
171
208
|
|
|
172
209
|
- name: "Download coverage data"
|
|
173
|
-
uses: actions/download-artifact@
|
|
210
|
+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
174
211
|
with:
|
|
175
212
|
pattern: metacov-*
|
|
176
213
|
merge-multiple: true
|
|
@@ -184,12 +221,20 @@ jobs:
|
|
|
184
221
|
python igor.py combine_html
|
|
185
222
|
|
|
186
223
|
- name: "Upload HTML report"
|
|
187
|
-
uses: actions/upload-artifact@
|
|
224
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
188
225
|
with:
|
|
189
226
|
name: html_report
|
|
190
227
|
path: htmlcov
|
|
191
228
|
include-hidden-files: true
|
|
192
229
|
|
|
230
|
+
- name: "Show text report"
|
|
231
|
+
run: |
|
|
232
|
+
set -xe
|
|
233
|
+
echo "## Coverage: $(python -m coverage report --format=total)%" >> $GITHUB_STEP_SUMMARY
|
|
234
|
+
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
235
|
+
python -m coverage report --skip-covered >> $GITHUB_STEP_SUMMARY
|
|
236
|
+
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
237
|
+
|
|
193
238
|
- name: "Get total"
|
|
194
239
|
id: total
|
|
195
240
|
run: |
|
|
@@ -210,26 +255,23 @@ jobs:
|
|
|
210
255
|
id: info
|
|
211
256
|
env:
|
|
212
257
|
REF: ${{ github.ref }}
|
|
258
|
+
SHA: ${{ github.sha }}
|
|
213
259
|
run: |
|
|
214
|
-
export SHA10=$(echo $
|
|
260
|
+
export SHA10=$(echo $SHA | cut -c 1-10)
|
|
215
261
|
export SLUG=$(date +'%Y%m%d')_$SHA10
|
|
216
262
|
echo "sha10=$SHA10" >> $GITHUB_ENV
|
|
217
263
|
echo "slug=$SLUG" >> $GITHUB_ENV
|
|
218
264
|
echo "report_dir=reports/$SLUG/htmlcov" >> $GITHUB_ENV
|
|
219
|
-
echo "url=https://htmlpreview.github.io/?https://github.com/
|
|
265
|
+
echo "url=https://htmlpreview.github.io/?https://github.com/coveragepy/metacov-reports/blob/main/reports/$SLUG/htmlcov/index.html" >> $GITHUB_ENV
|
|
220
266
|
echo "branch=${REF#refs/heads/}" >> $GITHUB_ENV
|
|
221
267
|
|
|
222
|
-
- name: "Summarize"
|
|
223
|
-
env:
|
|
224
|
-
TOTAL: ${{ needs.combine.outputs.total }}
|
|
225
|
-
run: |
|
|
226
|
-
echo "### TOTAL coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY
|
|
227
|
-
|
|
228
268
|
- name: "Checkout reports repo"
|
|
229
|
-
if: ${{ github.ref == 'refs/heads/
|
|
269
|
+
if: ${{ github.ref == 'refs/heads/main' }}
|
|
270
|
+
env:
|
|
271
|
+
TOKEN: ${{ secrets.COVERAGE_REPORTS_TOKEN }}
|
|
230
272
|
run: |
|
|
231
273
|
set -xe
|
|
232
|
-
git clone --depth=1 --no-checkout https://${
|
|
274
|
+
git clone --depth=1 --no-checkout https://${TOKEN}@github.com/coveragepy/metacov-reports reports_repo
|
|
233
275
|
cd reports_repo
|
|
234
276
|
git sparse-checkout init --cone
|
|
235
277
|
git sparse-checkout set --skip-checks '/*' '!/reports'
|
|
@@ -238,16 +280,16 @@ jobs:
|
|
|
238
280
|
git checkout main
|
|
239
281
|
|
|
240
282
|
- name: "Download coverage HTML report"
|
|
241
|
-
if: ${{ github.ref == 'refs/heads/
|
|
242
|
-
uses: actions/download-artifact@
|
|
283
|
+
if: ${{ github.ref == 'refs/heads/main' }}
|
|
284
|
+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
243
285
|
with:
|
|
244
286
|
name: html_report
|
|
245
287
|
path: reports_repo/${{ env.report_dir }}
|
|
246
288
|
|
|
247
289
|
- name: "Push to report repo"
|
|
248
290
|
if: |
|
|
249
|
-
github.repository_owner == '
|
|
250
|
-
&& github.ref == 'refs/heads/
|
|
291
|
+
github.repository_owner == 'coveragepy'
|
|
292
|
+
&& github.ref == 'refs/heads/main'
|
|
251
293
|
env:
|
|
252
294
|
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
|
253
295
|
TOTAL: ${{ needs.combine.outputs.total }}
|
|
@@ -273,8 +315,8 @@ jobs:
|
|
|
273
315
|
|
|
274
316
|
- name: "Create badge"
|
|
275
317
|
if: |
|
|
276
|
-
github.repository_owner == '
|
|
277
|
-
&& github.ref == 'refs/heads/
|
|
318
|
+
github.repository_owner == 'coveragepy'
|
|
319
|
+
&& github.ref == 'refs/heads/main'
|
|
278
320
|
# https://gist.githubusercontent.com/nedbat/8c6980f77988a327348f9b02bbaf67f5
|
|
279
321
|
uses: schneegans/dynamic-badges-action@e9a478b16159b4d31420099ba146cdc50f134483 # v1.7.0
|
|
280
322
|
with:
|
|
@@ -9,7 +9,7 @@ name: 'Dependency Review'
|
|
|
9
9
|
on:
|
|
10
10
|
push:
|
|
11
11
|
branches:
|
|
12
|
-
-
|
|
12
|
+
- main
|
|
13
13
|
- nedbat/*
|
|
14
14
|
pull_request:
|
|
15
15
|
workflow_dispatch:
|
|
@@ -17,18 +17,23 @@ on:
|
|
|
17
17
|
permissions:
|
|
18
18
|
contents: read
|
|
19
19
|
|
|
20
|
+
concurrency:
|
|
21
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
20
24
|
jobs:
|
|
21
25
|
dependency-review:
|
|
22
|
-
|
|
26
|
+
name: "Review dependencies"
|
|
27
|
+
if: github.repository_owner == 'coveragepy'
|
|
23
28
|
runs-on: ubuntu-latest
|
|
24
29
|
steps:
|
|
25
30
|
- name: 'Checkout Repository'
|
|
26
|
-
uses: actions/checkout@
|
|
31
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
27
32
|
with:
|
|
28
33
|
persist-credentials: false
|
|
29
34
|
|
|
30
35
|
- name: 'Dependency Review'
|
|
31
|
-
uses: actions/dependency-review-action@
|
|
36
|
+
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
|
|
32
37
|
with:
|
|
33
|
-
base-ref: ${{ github.event.pull_request.base.sha || '
|
|
38
|
+
base-ref: ${{ github.event.pull_request.base.sha || 'main' }}
|
|
34
39
|
head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
|