coverage 3.6__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.12.0/.editorconfig +53 -0
- coverage-7.12.0/.git-blame-ignore-revs +39 -0
- coverage-7.12.0/.github/CODE_OF_CONDUCT.md +8 -0
- coverage-7.12.0/.github/FUNDING.yml +2 -0
- coverage-7.12.0/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- coverage-7.12.0/.github/ISSUE_TEMPLATE/config.yml +13 -0
- coverage-7.12.0/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- coverage-7.12.0/.github/ISSUE_TEMPLATE/support.md +26 -0
- coverage-7.12.0/.github/SECURITY.md +4 -0
- coverage-7.12.0/.github/dependabot.yml +18 -0
- coverage-7.12.0/.github/workflows/codeql-analysis.yml +83 -0
- coverage-7.12.0/.github/workflows/coverage.yml +330 -0
- coverage-7.12.0/.github/workflows/dependency-review.yml +39 -0
- coverage-7.12.0/.github/workflows/kit.yml +304 -0
- 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.12.0/.github/workflows/testsuite.yml +171 -0
- coverage-7.12.0/.github/zizmor.yml +8 -0
- coverage-7.12.0/.ignore +25 -0
- coverage-7.12.0/.pre-commit-config.yaml +36 -0
- coverage-7.12.0/.readthedocs.yaml +26 -0
- coverage-7.12.0/CHANGES.rst +2225 -0
- coverage-7.12.0/CITATION.cff +22 -0
- coverage-7.12.0/CONTRIBUTORS.txt +250 -0
- coverage-7.12.0/LICENSE.txt +177 -0
- coverage-7.12.0/MANIFEST.in +48 -0
- coverage-7.12.0/Makefile +314 -0
- coverage-7.12.0/NOTICE.txt +14 -0
- coverage-7.12.0/PKG-INFO +221 -0
- coverage-7.12.0/README.rst +171 -0
- coverage-7.12.0/__main__.py +12 -0
- coverage-7.12.0/ci/README.txt +1 -0
- coverage-7.12.0/ci/comment_on_fixes.py +60 -0
- 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.12.0/coverage/__init__.py +40 -0
- coverage-7.12.0/coverage/__main__.py +12 -0
- coverage-7.12.0/coverage/annotate.py +114 -0
- coverage-7.12.0/coverage/bytecode.py +196 -0
- coverage-7.12.0/coverage/cmdline.py +1184 -0
- coverage-7.12.0/coverage/collector.py +486 -0
- coverage-7.12.0/coverage/config.py +731 -0
- coverage-7.12.0/coverage/context.py +74 -0
- coverage-7.12.0/coverage/control.py +1481 -0
- coverage-7.12.0/coverage/core.py +139 -0
- coverage-7.12.0/coverage/ctracer/datastack.c +50 -0
- coverage-7.12.0/coverage/ctracer/datastack.h +45 -0
- coverage-7.12.0/coverage/ctracer/filedisp.c +85 -0
- coverage-7.12.0/coverage/ctracer/filedisp.h +26 -0
- coverage-7.12.0/coverage/ctracer/module.c +79 -0
- coverage-7.12.0/coverage/ctracer/stats.h +29 -0
- coverage-7.12.0/coverage/ctracer/tracer.c +1149 -0
- coverage-7.12.0/coverage/ctracer/tracer.h +72 -0
- coverage-7.12.0/coverage/ctracer/util.h +75 -0
- coverage-7.12.0/coverage/data.py +227 -0
- coverage-7.12.0/coverage/debug.py +669 -0
- coverage-7.12.0/coverage/disposition.py +59 -0
- coverage-7.12.0/coverage/env.py +135 -0
- coverage-7.12.0/coverage/exceptions.py +85 -0
- coverage-7.12.0/coverage/execfile.py +329 -0
- coverage-7.12.0/coverage/files.py +553 -0
- coverage-7.12.0/coverage/html.py +860 -0
- coverage-7.12.0/coverage/htmlfiles/coverage_html.js +735 -0
- coverage-7.12.0/coverage/htmlfiles/favicon_32.png +0 -0
- coverage-7.12.0/coverage/htmlfiles/index.html +199 -0
- coverage-7.12.0/coverage/htmlfiles/keybd_closed.png +0 -0
- coverage-7.12.0/coverage/htmlfiles/pyfile.html +149 -0
- coverage-7.12.0/coverage/htmlfiles/style.css +385 -0
- coverage-7.12.0/coverage/htmlfiles/style.scss +842 -0
- coverage-7.12.0/coverage/inorout.py +614 -0
- coverage-7.12.0/coverage/jsonreport.py +192 -0
- coverage-7.12.0/coverage/lcovreport.py +219 -0
- coverage-7.12.0/coverage/misc.py +373 -0
- coverage-7.12.0/coverage/multiproc.py +120 -0
- coverage-7.12.0/coverage/numbits.py +146 -0
- coverage-7.12.0/coverage/parser.py +1215 -0
- coverage-7.12.0/coverage/patch.py +166 -0
- coverage-7.12.0/coverage/phystokens.py +197 -0
- coverage-7.12.0/coverage/plugin.py +617 -0
- coverage-7.12.0/coverage/plugin_support.py +299 -0
- coverage-7.12.0/coverage/py.typed +1 -0
- coverage-7.12.0/coverage/python.py +272 -0
- coverage-7.12.0/coverage/pytracer.py +369 -0
- coverage-7.12.0/coverage/regions.py +127 -0
- coverage-7.12.0/coverage/report.py +298 -0
- coverage-7.12.0/coverage/report_core.py +117 -0
- coverage-7.12.0/coverage/results.py +502 -0
- coverage-7.12.0/coverage/sqldata.py +1153 -0
- coverage-7.12.0/coverage/sqlitedb.py +239 -0
- coverage-7.12.0/coverage/sysmon.py +513 -0
- coverage-7.12.0/coverage/templite.py +318 -0
- coverage-7.12.0/coverage/tomlconfig.py +210 -0
- coverage-7.12.0/coverage/tracer.pyi +43 -0
- coverage-7.12.0/coverage/types.py +206 -0
- coverage-7.12.0/coverage/version.py +35 -0
- coverage-7.12.0/coverage/xmlreport.py +264 -0
- coverage-7.12.0/coverage.egg-info/PKG-INFO +221 -0
- coverage-7.12.0/coverage.egg-info/SOURCES.txt +396 -0
- coverage-7.12.0/coverage.egg-info/entry_points.txt +4 -0
- coverage-7.12.0/coverage.egg-info/requires.txt +5 -0
- coverage-7.12.0/doc/_static/coverage.css +109 -0
- coverage-7.12.0/doc/api.rst +64 -0
- coverage-7.12.0/doc/api_coverage.rst +12 -0
- coverage-7.12.0/doc/api_coveragedata.rst +13 -0
- coverage-7.12.0/doc/api_exceptions.rst +11 -0
- coverage-7.12.0/doc/api_module.rst +38 -0
- coverage-7.12.0/doc/api_plugin.rst +38 -0
- {coverage-3.6 → coverage-7.12.0}/doc/branch.rst +35 -24
- coverage-7.12.0/doc/changes.rst +2795 -0
- coverage-7.12.0/doc/cog_helpers.py +102 -0
- 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.12.0/doc/conf.py +259 -0
- coverage-7.12.0/doc/config.rst +1012 -0
- coverage-7.12.0/doc/contexts.rst +148 -0
- coverage-7.12.0/doc/contributing.rst +326 -0
- coverage-7.12.0/doc/dbschema.rst +128 -0
- coverage-7.12.0/doc/dict.txt +283 -0
- coverage-7.12.0/doc/excluding.rst +372 -0
- coverage-7.12.0/doc/faq.rst +208 -0
- coverage-7.12.0/doc/howitworks.rst +133 -0
- coverage-7.12.0/doc/index.rst +253 -0
- coverage-7.12.0/doc/install.rst +89 -0
- coverage-7.12.0/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png +0 -0
- coverage-7.12.0/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png +0 -0
- coverage-7.12.0/doc/media/sleepy-snake-600.png +0 -0
- coverage-7.12.0/doc/media/sleepy-snake-circle-150.png +0 -0
- coverage-7.12.0/doc/messages.rst +205 -0
- coverage-7.12.0/doc/migrating.rst +66 -0
- coverage-7.12.0/doc/other.rst +136 -0
- coverage-7.12.0/doc/plugins.rst +137 -0
- coverage-7.12.0/doc/python-coverage.1.txt +487 -0
- coverage-7.12.0/doc/requirements.in +20 -0
- coverage-7.12.0/doc/requirements.pip +139 -0
- coverage-7.12.0/doc/sample_html/favicon_32_cb_58284776.png +0 -0
- coverage-7.12.0/doc/sample_html/keybd_closed_cb_ce680311.png +0 -0
- coverage-7.12.0/doc/sleepy.rst +16 -0
- coverage-7.12.0/doc/source.rst +244 -0
- coverage-7.12.0/doc/subprocess.rst +152 -0
- coverage-7.12.0/doc/trouble.rst +62 -0
- coverage-7.12.0/doc/whatsnew5x.rst +152 -0
- coverage-7.12.0/howto.txt +77 -0
- coverage-7.12.0/igor.py +546 -0
- coverage-7.12.0/lab/README.txt +4 -0
- coverage-7.12.0/lab/branches.py +82 -0
- coverage-7.12.0/lab/compare_times.sh +63 -0
- coverage-7.12.0/lab/coverage-04.dtd +60 -0
- coverage-7.12.0/lab/extract_code.py +72 -0
- coverage-7.12.0/lab/goals.py +100 -0
- coverage-7.12.0/lab/hack_pyc.py +98 -0
- coverage-7.12.0/lab/notes/arcs-to-branches.txt +24 -0
- coverage-7.12.0/lab/notes/bug1303.txt +92 -0
- coverage-7.12.0/lab/notes/pypy-738-decorated-functions.txt +97 -0
- coverage-7.12.0/lab/parse_all.py +18 -0
- coverage-7.12.0/lab/parser.py +220 -0
- coverage-7.12.0/lab/pick.py +72 -0
- coverage-7.12.0/lab/platform_info.py +26 -0
- coverage-7.12.0/lab/run_sysmon.py +119 -0
- coverage-7.12.0/lab/run_trace.py +44 -0
- coverage-7.12.0/lab/select_contexts.py +66 -0
- coverage-7.12.0/lab/show_platform.py +19 -0
- coverage-7.12.0/lab/show_pyc.py +217 -0
- coverage-7.12.0/lab/treetopy.sh +6 -0
- coverage-7.12.0/lab/warn_executed.py +213 -0
- coverage-7.12.0/lab/warn_executed.toml +15 -0
- coverage-7.12.0/metacov.ini +102 -0
- coverage-7.12.0/pyproject.toml +188 -0
- coverage-7.12.0/requirements/dev.in +29 -0
- coverage-7.12.0/requirements/dev.pip +228 -0
- coverage-7.12.0/requirements/kit.in +20 -0
- coverage-7.12.0/requirements/kit.pip +120 -0
- coverage-7.12.0/requirements/light-threads.in +13 -0
- coverage-7.12.0/requirements/light-threads.pip +23 -0
- coverage-7.12.0/requirements/mypy.in +10 -0
- coverage-7.12.0/requirements/mypy.pip +52 -0
- coverage-7.12.0/requirements/pins.pip +4 -0
- coverage-7.12.0/requirements/pip.in +11 -0
- coverage-7.12.0/requirements/pip.pip +16 -0
- coverage-7.12.0/requirements/pytest.in +19 -0
- coverage-7.12.0/requirements/pytest.pip +38 -0
- coverage-7.12.0/requirements/tox.in +16 -0
- coverage-7.12.0/requirements/tox.pip +44 -0
- {coverage-3.6 → coverage-7.12.0}/setup.cfg +4 -5
- coverage-7.12.0/setup.py +225 -0
- coverage-7.12.0/tests/__init__.py +4 -0
- coverage-7.12.0/tests/conftest.py +111 -0
- coverage-7.12.0/tests/coveragetest.py +516 -0
- coverage-7.12.0/tests/covmodzip1.py +10 -0
- coverage-7.12.0/tests/gold/README.rst +48 -0
- coverage-3.6/test/farm/annotate/gold_anno_dir/b_b.py,cover → coverage-7.12.0/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2_b.py,cover +1 -1
- coverage-7.12.0/tests/gold/annotate/encodings/utf8.py,cover +4 -0
- coverage-7.12.0/tests/gold/annotate/mae/mae.py,cover +10 -0
- coverage-7.12.0/tests/gold/html/Makefile +31 -0
- coverage-7.12.0/tests/gold/html/a/a_py.html +102 -0
- coverage-7.12.0/tests/gold/html/a/class_index.html +121 -0
- coverage-7.12.0/tests/gold/html/a/function_index.html +121 -0
- coverage-7.12.0/tests/gold/html/a/index.html +117 -0
- coverage-7.12.0/tests/gold/html/b_branch/b_py.html +126 -0
- coverage-7.12.0/tests/gold/html/b_branch/class_index.html +148 -0
- coverage-7.12.0/tests/gold/html/b_branch/function_index.html +193 -0
- coverage-7.12.0/tests/gold/html/b_branch/index.html +143 -0
- coverage-7.12.0/tests/gold/html/bom/bom_py.html +102 -0
- coverage-7.12.0/tests/gold/html/bom/class_index.html +121 -0
- coverage-7.12.0/tests/gold/html/bom/function_index.html +121 -0
- coverage-7.12.0/tests/gold/html/bom/index.html +117 -0
- coverage-7.12.0/tests/gold/html/contexts/class_index.html +121 -0
- coverage-7.12.0/tests/gold/html/contexts/function_index.html +151 -0
- coverage-7.12.0/tests/gold/html/contexts/index.html +117 -0
- coverage-7.12.0/tests/gold/html/contexts/two_tests_py.html +126 -0
- coverage-7.12.0/tests/gold/html/isolatin1/class_index.html +121 -0
- coverage-7.12.0/tests/gold/html/isolatin1/function_index.html +121 -0
- coverage-7.12.0/tests/gold/html/isolatin1/index.html +117 -0
- coverage-7.12.0/tests/gold/html/isolatin1/isolatin1_py.html +102 -0
- coverage-7.12.0/tests/gold/html/multiline/class_index.html +148 -0
- coverage-7.12.0/tests/gold/html/multiline/function_index.html +148 -0
- coverage-7.12.0/tests/gold/html/multiline/index.html +143 -0
- coverage-7.12.0/tests/gold/html/multiline/multiline_py.html +117 -0
- coverage-7.12.0/tests/gold/html/omit_1/class_index.html +151 -0
- coverage-7.12.0/tests/gold/html/omit_1/function_index.html +151 -0
- coverage-7.12.0/tests/gold/html/omit_1/index.html +144 -0
- coverage-7.12.0/tests/gold/html/omit_1/m1_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_1/m2_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_1/m3_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_1/main_py.html +107 -0
- coverage-7.12.0/tests/gold/html/omit_2/class_index.html +141 -0
- coverage-7.12.0/tests/gold/html/omit_2/function_index.html +141 -0
- coverage-7.12.0/tests/gold/html/omit_2/index.html +135 -0
- coverage-7.12.0/tests/gold/html/omit_2/m2_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_2/m3_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_2/main_py.html +107 -0
- coverage-7.12.0/tests/gold/html/omit_3/class_index.html +131 -0
- coverage-7.12.0/tests/gold/html/omit_3/function_index.html +131 -0
- coverage-7.12.0/tests/gold/html/omit_3/index.html +126 -0
- coverage-7.12.0/tests/gold/html/omit_3/m3_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_3/main_py.html +107 -0
- coverage-7.12.0/tests/gold/html/omit_4/class_index.html +141 -0
- coverage-7.12.0/tests/gold/html/omit_4/function_index.html +141 -0
- coverage-7.12.0/tests/gold/html/omit_4/index.html +135 -0
- coverage-7.12.0/tests/gold/html/omit_4/m1_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_4/m3_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_4/main_py.html +107 -0
- coverage-7.12.0/tests/gold/html/omit_5/class_index.html +131 -0
- coverage-7.12.0/tests/gold/html/omit_5/function_index.html +131 -0
- coverage-7.12.0/tests/gold/html/omit_5/index.html +126 -0
- coverage-7.12.0/tests/gold/html/omit_5/m1_py.html +99 -0
- coverage-7.12.0/tests/gold/html/omit_5/main_py.html +107 -0
- coverage-7.12.0/tests/gold/html/other/blah_blah_other_py.html +101 -0
- coverage-7.12.0/tests/gold/html/other/class_index.html +131 -0
- coverage-7.12.0/tests/gold/html/other/function_index.html +131 -0
- coverage-7.12.0/tests/gold/html/other/here_py.html +103 -0
- coverage-7.12.0/tests/gold/html/other/index.html +126 -0
- coverage-7.12.0/tests/gold/html/partial/class_index.html +148 -0
- coverage-7.12.0/tests/gold/html/partial/function_index.html +148 -0
- coverage-7.12.0/tests/gold/html/partial/index.html +143 -0
- coverage-7.12.0/tests/gold/html/partial/partial_py.html +116 -0
- coverage-7.12.0/tests/gold/html/styled/a_py.html +103 -0
- coverage-7.12.0/tests/gold/html/styled/class_index.html +122 -0
- coverage-7.12.0/tests/gold/html/styled/function_index.html +122 -0
- coverage-7.12.0/tests/gold/html/styled/index.html +118 -0
- coverage-7.12.0/tests/gold/html/styled/myextra.css +1 -0
- coverage-7.12.0/tests/gold/html/styled/style.css +385 -0
- coverage-7.12.0/tests/gold/html/support/coverage_html_cb_bcae5fc4.js +735 -0
- coverage-7.12.0/tests/gold/html/support/favicon_32_cb_58284776.png +0 -0
- coverage-7.12.0/tests/gold/html/support/keybd_closed_cb_ce680311.png +0 -0
- coverage-7.12.0/tests/gold/html/support/style_cb_8432e98f.css +385 -0
- coverage-7.12.0/tests/gold/html/unicode/class_index.html +121 -0
- coverage-7.12.0/tests/gold/html/unicode/function_index.html +121 -0
- coverage-7.12.0/tests/gold/html/unicode/index.html +117 -0
- coverage-7.12.0/tests/gold/html/unicode/unicode_py.html +102 -0
- coverage-7.12.0/tests/gold/testing/getty/gettysburg.txt +4 -0
- coverage-7.12.0/tests/gold/testing/xml/output.xml +6 -0
- coverage-7.12.0/tests/gold/xml/x_xml/coverage.xml +22 -0
- coverage-7.12.0/tests/gold/xml/y_xml_branch/coverage.xml +24 -0
- coverage-7.12.0/tests/goldtest.py +196 -0
- coverage-7.12.0/tests/helpers.py +416 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/js/index.html +9 -18
- {coverage-3.6/test → coverage-7.12.0/tests}/js/tests.js +52 -46
- coverage-7.12.0/tests/mixins.py +151 -0
- coverage-7.12.0/tests/modules/ambiguous/pkg1/__init__.py +1 -0
- coverage-7.12.0/tests/modules/ambiguous/pkg1/ambiguous.py +2 -0
- coverage-7.12.0/tests/modules/covmod1.py +6 -0
- coverage-7.12.0/tests/modules/namespace_420/sub1/__init__.py +4 -0
- coverage-7.12.0/tests/modules/pkg1/__init__.py +2 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/pkg1/__main__.py +2 -1
- coverage-7.12.0/tests/modules/pkg1/p1a.py +8 -0
- coverage-7.12.0/tests/modules/pkg1/p1b.py +6 -0
- coverage-7.12.0/tests/modules/pkg1/p1c.py +6 -0
- coverage-7.12.0/tests/modules/pkg1/runmod2.py +7 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/pkg1/sub/__main__.py +2 -1
- coverage-7.12.0/tests/modules/pkg1/sub/ps1a.py +6 -0
- coverage-7.12.0/tests/modules/pkg1/sub/runmod3.py +7 -0
- coverage-7.12.0/tests/modules/pkg2/p2a.py +6 -0
- coverage-7.12.0/tests/modules/pkg2/p2b.py +6 -0
- coverage-7.12.0/tests/modules/plugins/a_plugin.py +19 -0
- coverage-7.12.0/tests/modules/plugins/another.py +22 -0
- coverage-7.12.0/tests/modules/process_test/try_execfile.py +127 -0
- coverage-7.12.0/tests/modules/runmod1.py +7 -0
- coverage-7.12.0/tests/modules/usepkgs.py +8 -0
- coverage-7.12.0/tests/moremodules/namespace_420/sub2/__init__.py +4 -0
- coverage-7.12.0/tests/moremodules/othermods/othera.py +5 -0
- coverage-7.12.0/tests/moremodules/othermods/otherb.py +5 -0
- coverage-7.12.0/tests/moremodules/othermods/sub/osa.py +5 -0
- coverage-7.12.0/tests/moremodules/othermods/sub/osb.py +5 -0
- coverage-7.12.0/tests/osinfo.py +91 -0
- coverage-7.12.0/tests/plugin1.py +63 -0
- coverage-7.12.0/tests/plugin2.py +74 -0
- coverage-7.12.0/tests/plugin_config.py +32 -0
- coverage-7.12.0/tests/select_plugin.py +35 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/stress_phystoken.tok +14 -1
- {coverage-3.6/test → coverage-7.12.0/tests}/stress_phystoken_dos.tok +4 -1
- coverage-7.12.0/tests/test_annotate.py +145 -0
- coverage-7.12.0/tests/test_api.py +1639 -0
- coverage-7.12.0/tests/test_arcs.py +2423 -0
- coverage-7.12.0/tests/test_bytecode.py +49 -0
- coverage-7.12.0/tests/test_cmdline.py +1612 -0
- coverage-7.12.0/tests/test_collector.py +58 -0
- coverage-7.12.0/tests/test_concurrency.py +863 -0
- coverage-7.12.0/tests/test_config.py +1061 -0
- coverage-7.12.0/tests/test_context.py +311 -0
- coverage-7.12.0/tests/test_core.py +155 -0
- coverage-7.12.0/tests/test_coverage.py +1859 -0
- coverage-7.12.0/tests/test_data.py +1055 -0
- coverage-7.12.0/tests/test_debug.py +511 -0
- coverage-7.12.0/tests/test_execfile.py +344 -0
- coverage-7.12.0/tests/test_filereporter.py +104 -0
- coverage-7.12.0/tests/test_files.py +788 -0
- coverage-7.12.0/tests/test_goldtest.py +188 -0
- coverage-7.12.0/tests/test_html.py +1572 -0
- coverage-7.12.0/tests/test_json.py +662 -0
- coverage-7.12.0/tests/test_lcov.py +644 -0
- coverage-7.12.0/tests/test_misc.py +186 -0
- coverage-7.12.0/tests/test_mixins.py +86 -0
- coverage-7.12.0/tests/test_numbits.py +190 -0
- coverage-7.12.0/tests/test_oddball.py +789 -0
- coverage-7.12.0/tests/test_parser.py +1322 -0
- coverage-7.12.0/tests/test_phystokens.py +288 -0
- coverage-7.12.0/tests/test_plugins.py +1332 -0
- coverage-7.12.0/tests/test_process.py +1798 -0
- coverage-7.12.0/tests/test_python.py +87 -0
- coverage-7.12.0/tests/test_regions.py +113 -0
- coverage-7.12.0/tests/test_report.py +1246 -0
- coverage-7.12.0/tests/test_report_common.py +304 -0
- coverage-7.12.0/tests/test_report_core.py +69 -0
- coverage-7.12.0/tests/test_results.py +193 -0
- coverage-7.12.0/tests/test_setup.py +60 -0
- coverage-7.12.0/tests/test_sqlitedb.py +105 -0
- coverage-7.12.0/tests/test_templite.py +387 -0
- coverage-7.12.0/tests/test_testing.py +489 -0
- coverage-7.12.0/tests/test_venv.py +402 -0
- coverage-7.12.0/tests/test_version.py +33 -0
- coverage-7.12.0/tests/test_xml.py +614 -0
- coverage-7.12.0/tests/testenv.py +42 -0
- coverage-7.12.0/tests/zipsrc/zip1/zip1.py +7 -0
- coverage-7.12.0/tox.ini +146 -0
- coverage-3.6/AUTHORS.txt +0 -41
- coverage-3.6/CHANGES.txt +0 -943
- coverage-3.6/MANIFEST.in +0 -16
- coverage-3.6/PKG-INFO +0 -38
- coverage-3.6/README.txt +0 -9
- coverage-3.6/coverage/__init__.py +0 -120
- coverage-3.6/coverage/__main__.py +0 -4
- coverage-3.6/coverage/annotate.py +0 -101
- coverage-3.6/coverage/backward.py +0 -147
- coverage-3.6/coverage/bytecode.py +0 -91
- coverage-3.6/coverage/cmdline.py +0 -730
- coverage-3.6/coverage/codeunit.py +0 -145
- coverage-3.6/coverage/collector.py +0 -340
- coverage-3.6/coverage/config.py +0 -211
- coverage-3.6/coverage/control.py +0 -720
- coverage-3.6/coverage/data.py +0 -270
- coverage-3.6/coverage/execfile.py +0 -138
- coverage-3.6/coverage/files.py +0 -289
- coverage-3.6/coverage/fullcoverage/encodings.py +0 -57
- coverage-3.6/coverage/html.py +0 -367
- coverage-3.6/coverage/htmlfiles/coverage_html.js +0 -376
- coverage-3.6/coverage/htmlfiles/index.html +0 -104
- coverage-3.6/coverage/htmlfiles/jquery-1.4.3.min.js +0 -166
- coverage-3.6/coverage/htmlfiles/jquery.hotkeys.js +0 -99
- coverage-3.6/coverage/htmlfiles/jquery.isonscreen.js +0 -53
- coverage-3.6/coverage/htmlfiles/jquery.tablesorter.min.js +0 -2
- coverage-3.6/coverage/htmlfiles/keybd_closed.png +0 -0
- coverage-3.6/coverage/htmlfiles/keybd_open.png +0 -0
- coverage-3.6/coverage/htmlfiles/pyfile.html +0 -90
- coverage-3.6/coverage/htmlfiles/style.css +0 -300
- coverage-3.6/coverage/misc.py +0 -159
- coverage-3.6/coverage/parser.py +0 -662
- coverage-3.6/coverage/phystokens.py +0 -206
- coverage-3.6/coverage/report.py +0 -92
- coverage-3.6/coverage/results.py +0 -254
- coverage-3.6/coverage/summary.py +0 -86
- coverage-3.6/coverage/templite.py +0 -166
- coverage-3.6/coverage/tracer.c +0 -730
- coverage-3.6/coverage/version.py +0 -9
- coverage-3.6/coverage/xmlreport.py +0 -150
- coverage-3.6/coverage.egg-info/PKG-INFO +0 -38
- coverage-3.6/coverage.egg-info/SOURCES.txt +0 -237
- coverage-3.6/coverage.egg-info/entry_points.txt +0 -5
- coverage-3.6/doc/api.rst +0 -47
- coverage-3.6/doc/changes.rst +0 -629
- coverage-3.6/doc/cmd.rst +0 -365
- coverage-3.6/doc/config.rst +0 -198
- coverage-3.6/doc/contributing.rst +0 -164
- coverage-3.6/doc/excluding.rst +0 -105
- coverage-3.6/doc/faq.rst +0 -116
- coverage-3.6/doc/index.rst +0 -171
- coverage-3.6/doc/install.rst +0 -80
- coverage-3.6/doc/source.rst +0 -74
- coverage-3.6/doc/subprocess.rst +0 -66
- coverage-3.6/doc/trouble.rst +0 -88
- coverage-3.6/igor.py +0 -255
- coverage-3.6/requirements.txt +0 -5
- coverage-3.6/setup.py +0 -199
- coverage-3.6/test/__init__.py +0 -1
- coverage-3.6/test/backtest.py +0 -49
- coverage-3.6/test/backunittest.py +0 -115
- coverage-3.6/test/coveragetest.py +0 -465
- coverage-3.6/test/covmodzip1.py +0 -3
- coverage-3.6/test/eggsrc/egg1/egg1.py +0 -4
- coverage-3.6/test/eggsrc/setup.py +0 -8
- coverage-3.6/test/farm/annotate/annotate_dir.py +0 -7
- coverage-3.6/test/farm/annotate/gold_v24/white.py,cover +0 -33
- coverage-3.6/test/farm/annotate/run.py +0 -7
- coverage-3.6/test/farm/annotate/run_multi.py +0 -7
- coverage-3.6/test/farm/annotate/src/a/a.py +0 -5
- coverage-3.6/test/farm/annotate/src/b/b.py +0 -3
- coverage-3.6/test/farm/annotate/src/multi.py +0 -5
- coverage-3.6/test/farm/annotate/src/white.py +0 -33
- coverage-3.6/test/farm/html/gold_a/a.html +0 -95
- coverage-3.6/test/farm/html/gold_a/index.html +0 -89
- coverage-3.6/test/farm/html/gold_b_branch/b.html +0 -139
- coverage-3.6/test/farm/html/gold_b_branch/index.html +0 -101
- coverage-3.6/test/farm/html/gold_bom/bom.html +0 -104
- coverage-3.6/test/farm/html/gold_bom/index.html +0 -90
- coverage-3.6/test/farm/html/gold_isolatin1/index.html +0 -89
- coverage-3.6/test/farm/html/gold_isolatin1/isolatin1.html +0 -91
- coverage-3.6/test/farm/html/gold_omit_1/index.html +0 -116
- coverage-3.6/test/farm/html/gold_omit_1/m1.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_1/m2.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_1/m3.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_1/main.html +0 -101
- coverage-3.6/test/farm/html/gold_omit_2/index.html +0 -107
- coverage-3.6/test/farm/html/gold_omit_2/m2.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_2/m3.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_2/main.html +0 -101
- coverage-3.6/test/farm/html/gold_omit_3/index.html +0 -98
- coverage-3.6/test/farm/html/gold_omit_3/m3.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_3/main.html +0 -101
- coverage-3.6/test/farm/html/gold_omit_4/index.html +0 -107
- coverage-3.6/test/farm/html/gold_omit_4/m1.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_4/m3.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_4/main.html +0 -101
- coverage-3.6/test/farm/html/gold_omit_5/index.html +0 -98
- coverage-3.6/test/farm/html/gold_omit_5/m1.html +0 -85
- coverage-3.6/test/farm/html/gold_omit_5/main.html +0 -101
- coverage-3.6/test/farm/html/gold_other/blah_blah_other.html +0 -89
- coverage-3.6/test/farm/html/gold_other/here.html +0 -97
- coverage-3.6/test/farm/html/gold_other/index.html +0 -98
- coverage-3.6/test/farm/html/gold_partial/index.html +0 -101
- coverage-3.6/test/farm/html/gold_partial/partial.html +0 -121
- coverage-3.6/test/farm/html/gold_styled/a.html +0 -95
- coverage-3.6/test/farm/html/gold_styled/extra.css +0 -1
- coverage-3.6/test/farm/html/gold_styled/index.html +0 -89
- coverage-3.6/test/farm/html/gold_styled/style.css +0 -275
- coverage-3.6/test/farm/html/gold_unicode/index.html +0 -89
- coverage-3.6/test/farm/html/gold_unicode/unicode.html +0 -91
- coverage-3.6/test/farm/html/gold_x_xml/coverage.xml +0 -20
- coverage-3.6/test/farm/html/gold_y_xml_branch/coverage.xml +0 -22
- coverage-3.6/test/farm/html/othersrc/other.py +0 -4
- coverage-3.6/test/farm/html/run_a.py +0 -25
- coverage-3.6/test/farm/html/run_a_xml_1.py +0 -21
- coverage-3.6/test/farm/html/run_a_xml_2.py +0 -21
- coverage-3.6/test/farm/html/run_b_branch.py +0 -28
- coverage-3.6/test/farm/html/run_bom.py +0 -21
- coverage-3.6/test/farm/html/run_isolatin1.py +0 -21
- coverage-3.6/test/farm/html/run_omit_1.py +0 -12
- coverage-3.6/test/farm/html/run_omit_2.py +0 -12
- coverage-3.6/test/farm/html/run_omit_3.py +0 -12
- coverage-3.6/test/farm/html/run_omit_4.py +0 -12
- coverage-3.6/test/farm/html/run_omit_5.py +0 -12
- coverage-3.6/test/farm/html/run_other.py +0 -26
- coverage-3.6/test/farm/html/run_partial.py +0 -32
- coverage-3.6/test/farm/html/run_styled.py +0 -28
- coverage-3.6/test/farm/html/run_tabbed.py +0 -24
- coverage-3.6/test/farm/html/run_unicode.py +0 -30
- coverage-3.6/test/farm/html/run_y_xml_branch.py +0 -21
- coverage-3.6/test/farm/html/src/a.py +0 -7
- coverage-3.6/test/farm/html/src/b.py +0 -29
- coverage-3.6/test/farm/html/src/bom.py +0 -11
- coverage-3.6/test/farm/html/src/coverage.xml +0 -20
- coverage-3.6/test/farm/html/src/extra.css +0 -1
- coverage-3.6/test/farm/html/src/here.py +0 -8
- coverage-3.6/test/farm/html/src/isolatin1.py +0 -5
- coverage-3.6/test/farm/html/src/m1.py +0 -2
- coverage-3.6/test/farm/html/src/m2.py +0 -2
- coverage-3.6/test/farm/html/src/m3.py +0 -2
- coverage-3.6/test/farm/html/src/main.py +0 -10
- coverage-3.6/test/farm/html/src/omit4.ini +0 -2
- coverage-3.6/test/farm/html/src/omit5.ini +0 -8
- coverage-3.6/test/farm/html/src/partial.py +0 -18
- coverage-3.6/test/farm/html/src/run_a_xml_2.ini +0 -3
- coverage-3.6/test/farm/html/src/tabbed.py +0 -7
- coverage-3.6/test/farm/html/src/unicode.py +0 -5
- coverage-3.6/test/farm/html/src/y.py +0 -9
- coverage-3.6/test/farm/run/run_chdir.py +0 -12
- coverage-3.6/test/farm/run/run_timid.py +0 -60
- coverage-3.6/test/farm/run/run_xxx.py +0 -12
- coverage-3.6/test/farm/run/src/chdir.py +0 -4
- coverage-3.6/test/farm/run/src/showtrace.py +0 -23
- coverage-3.6/test/farm/run/src/xxx +0 -8
- coverage-3.6/test/modules/covmod1.py +0 -3
- coverage-3.6/test/modules/pkg1/__init__.py +0 -3
- coverage-3.6/test/modules/pkg1/p1a.py +0 -5
- coverage-3.6/test/modules/pkg1/p1b.py +0 -3
- coverage-3.6/test/modules/pkg1/p1c.py +0 -3
- coverage-3.6/test/modules/pkg1/runmod2.py +0 -3
- coverage-3.6/test/modules/pkg1/sub/ps1a.py +0 -3
- coverage-3.6/test/modules/pkg1/sub/runmod3.py +0 -3
- coverage-3.6/test/modules/pkg2/p2a.py +0 -3
- coverage-3.6/test/modules/pkg2/p2b.py +0 -3
- coverage-3.6/test/modules/runmod1.py +0 -3
- coverage-3.6/test/modules/usepkgs.py +0 -4
- coverage-3.6/test/moremodules/othermods/othera.py +0 -2
- coverage-3.6/test/moremodules/othermods/otherb.py +0 -2
- coverage-3.6/test/moremodules/othermods/sub/osa.py +0 -2
- coverage-3.6/test/moremodules/othermods/sub/osb.py +0 -2
- coverage-3.6/test/osinfo.py +0 -71
- coverage-3.6/test/qunit/qunit.css +0 -225
- coverage-3.6/test/qunit/qunit.js +0 -1448
- coverage-3.6/test/test_api.py +0 -571
- coverage-3.6/test/test_arcs.py +0 -571
- coverage-3.6/test/test_cmdline.py +0 -702
- coverage-3.6/test/test_codeunit.py +0 -103
- coverage-3.6/test/test_config.py +0 -225
- coverage-3.6/test/test_coverage.py +0 -1730
- coverage-3.6/test/test_data.py +0 -146
- coverage-3.6/test/test_execfile.py +0 -116
- coverage-3.6/test/test_farm.py +0 -366
- coverage-3.6/test/test_files.py +0 -169
- coverage-3.6/test/test_html.py +0 -297
- coverage-3.6/test/test_misc.py +0 -73
- coverage-3.6/test/test_oddball.py +0 -386
- coverage-3.6/test/test_parser.py +0 -131
- coverage-3.6/test/test_phystokens.py +0 -79
- coverage-3.6/test/test_process.py +0 -575
- coverage-3.6/test/test_results.py +0 -60
- coverage-3.6/test/test_summary.py +0 -298
- coverage-3.6/test/test_templite.py +0 -204
- coverage-3.6/test/test_testing.py +0 -192
- coverage-3.6/test/test_xml.py +0 -84
- coverage-3.6/test/try_execfile.py +0 -34
- coverage-3.6/test_old.sh +0 -8
- coverage-3.6/tox.ini +0 -32
- {coverage-3.6 → coverage-7.12.0}/coverage.egg-info/dependency_links.txt +0 -0
- {coverage-3.6 → coverage-7.12.0}/coverage.egg-info/not-zip-safe +0 -0
- {coverage-3.6 → coverage-7.12.0}/coverage.egg-info/top_level.txt +0 -0
- {coverage-3.6/test/farm/annotate/gold_anno_dir → coverage-7.12.0/tests/gold/annotate/anno_dir}/multi.py,cover +0 -0
- /coverage-3.6/test/eggsrc/egg1/__init__.py → /coverage-7.12.0/tests/gold/annotate/anno_dir/z_80084bf2fba02475___init__.py,cover +0 -0
- /coverage-3.6/test/farm/annotate/gold_anno_dir/a_a.py,cover → /coverage-7.12.0/tests/gold/annotate/anno_dir/z_80084bf2fba02475_a.py,cover +0 -0
- /coverage-3.6/test/farm/annotate/gold_anno_dir/a___init__.py,cover → /coverage-7.12.0/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2___init__.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold_multi → coverage-7.12.0/tests/gold/annotate/multi}/a/__init__.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold_multi → coverage-7.12.0/tests/gold/annotate/multi}/a/a.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold_multi → coverage-7.12.0/tests/gold/annotate/multi}/b/__init__.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold_multi → coverage-7.12.0/tests/gold/annotate/multi}/b/b.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold_multi → coverage-7.12.0/tests/gold/annotate/multi}/multi.py,cover +0 -0
- {coverage-3.6/test/farm/annotate/gold → coverage-7.12.0/tests/gold/annotate/white}/white.py,cover +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/__init__.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/afile.odd.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/afile.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/bb/__init__.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/bb/bfile.odd.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/bb/bfile.py +0 -0
- {coverage-3.6/test/farm/annotate/src/a → coverage-7.12.0/tests/modules/aa/bb/cc}/__init__.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/bb/cc/cfile.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/bb.odd/bfile.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/aa/zfile.py +0 -0
- {coverage-3.6/test/farm/annotate/src/b → coverage-7.12.0/tests/modules/ambiguous}/__init__.py +0 -0
- {coverage-3.6/test/modules/aa/bb/cc → coverage-7.12.0/tests/modules/pkg1/sub}/__init__.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/modules/pkg2/__init__.py +0 -0
- {coverage-3.6/test/modules/pkg1/sub → coverage-7.12.0/tests/modules/plugins}/__init__.py +0 -0
- {coverage-3.6/test/moremodules/othermods → coverage-7.12.0/tests/modules/process_test}/__init__.py +0 -0
- {coverage-3.6/test/moremodules/othermods/sub → coverage-7.12.0/tests/moremodules/othermods}/__init__.py +0 -0
- /coverage-3.6/test/farm/annotate/gold_anno_dir/b___init__.py,cover → /coverage-7.12.0/tests/moremodules/othermods/sub/__init__.py +0 -0
- {coverage-3.6/test → coverage-7.12.0/tests}/qunit/jquery.tmpl.min.js +0 -0
- /coverage-3.6/test/farm/run/src/subdir/placeholder → /coverage-7.12.0/tests/zipsrc/zip1/__init__.py +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
|
+
|
|
4
|
+
# This file is for unifying the coding style for different editors and IDEs.
|
|
5
|
+
# More information at http://EditorConfig.org
|
|
6
|
+
|
|
7
|
+
root = true
|
|
8
|
+
|
|
9
|
+
[*]
|
|
10
|
+
charset = utf-8
|
|
11
|
+
end_of_line = lf
|
|
12
|
+
indent_size = 4
|
|
13
|
+
indent_style = space
|
|
14
|
+
insert_final_newline = true
|
|
15
|
+
max_line_length = 80
|
|
16
|
+
trim_trailing_whitespace = true
|
|
17
|
+
|
|
18
|
+
[*.py]
|
|
19
|
+
max_line_length = 100
|
|
20
|
+
|
|
21
|
+
[*.pyi]
|
|
22
|
+
max_line_length = 100
|
|
23
|
+
|
|
24
|
+
[*.c]
|
|
25
|
+
max_line_length = 100
|
|
26
|
+
|
|
27
|
+
[*.h]
|
|
28
|
+
max_line_length = 100
|
|
29
|
+
|
|
30
|
+
[*.{yml,yaml}]
|
|
31
|
+
indent_size = 2
|
|
32
|
+
|
|
33
|
+
[*.rst]
|
|
34
|
+
max_line_length = 79
|
|
35
|
+
|
|
36
|
+
[*.tok]
|
|
37
|
+
trim_trailing_whitespace = false
|
|
38
|
+
|
|
39
|
+
[*_dos.tok]
|
|
40
|
+
end_of_line = crlf
|
|
41
|
+
|
|
42
|
+
[Makefile]
|
|
43
|
+
indent_style = tab
|
|
44
|
+
indent_size = 8
|
|
45
|
+
|
|
46
|
+
[*,cover]
|
|
47
|
+
trim_trailing_whitespace = false
|
|
48
|
+
|
|
49
|
+
[*.diff]
|
|
50
|
+
trim_trailing_whitespace = false
|
|
51
|
+
|
|
52
|
+
[.git/*]
|
|
53
|
+
trim_trailing_whitespace = false
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Commits to ignore when doing git-blame.
|
|
2
|
+
|
|
3
|
+
# 2023-01-05 style: use good style for annotated defaults parameters
|
|
4
|
+
78444f4c06df6a634fa67dd99ee7c07b6b633d9e
|
|
5
|
+
|
|
6
|
+
# 2023-01-06 style(perf): blacken lab/benchmark.py
|
|
7
|
+
bf6c12f5da54db7c5c0cc47cbf22c70f686e8236
|
|
8
|
+
|
|
9
|
+
# 2023-03-22 style: use double-quotes
|
|
10
|
+
16abd82b6e87753184e8308c4b2606ff3979f8d3
|
|
11
|
+
b7be64538aa480fce641349d3053e9a84862d571
|
|
12
|
+
|
|
13
|
+
# 2023-04-01 style: use double-quotes in JavaScript
|
|
14
|
+
b03ab92bae24c54f1d5a98baa3af6b9a18de4d36
|
|
15
|
+
|
|
16
|
+
# 2023-11-04 style: ruff format igor.py, setup.py, __main__.py
|
|
17
|
+
acb80450d7c033a6ea6e06eb2e74d3590c268435
|
|
18
|
+
|
|
19
|
+
# 2023-11-20 style: fr"" is better than rf"", for real
|
|
20
|
+
d8daa08b347fe6b7099c437b09d926eb999d0803
|
|
21
|
+
|
|
22
|
+
# 2023-12-02 style: check_coverage close parens should be on their own line
|
|
23
|
+
5d0b5d4464b84adb6389c8894c207a323edb2b2b
|
|
24
|
+
|
|
25
|
+
# 2024-02-27 style: fix COM812 Trailing comma missing
|
|
26
|
+
e4e238a9ed8f2ad2b9060247591b4c057c2953bf
|
|
27
|
+
|
|
28
|
+
# 2024-02-27 style: modernize type hints, a few more f-strings
|
|
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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Treat each other well
|
|
2
|
+
|
|
3
|
+
Everyone participating in the coverage.py project, and in particular in the
|
|
4
|
+
issue tracker, pull requests, and social media activity, is expected to treat
|
|
5
|
+
other people with respect and to follow the guidelines articulated in the
|
|
6
|
+
[Python Community Code of Conduct][psf_coc].
|
|
7
|
+
|
|
8
|
+
[psf_coc]: https://www.python.org/psf/codeofconduct/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Report a problem with coverage.py
|
|
4
|
+
title: ''
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the bug**
|
|
11
|
+
A clear and concise description of the bug.
|
|
12
|
+
|
|
13
|
+
**To Reproduce**
|
|
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:
|
|
17
|
+
1. What version of Python are you using?
|
|
18
|
+
1. What version of coverage.py shows the problem? The output of `coverage debug sys` is helpful.
|
|
19
|
+
1. What versions of what packages do you have installed? The output of `pip freeze` is helpful.
|
|
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.
|
|
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!
|
|
22
|
+
|
|
23
|
+
**Expected behavior**
|
|
24
|
+
A clear and concise description of what you expected to happen.
|
|
25
|
+
|
|
26
|
+
**Additional context**
|
|
27
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
|
+
|
|
4
|
+
# https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository
|
|
5
|
+
|
|
6
|
+
blank_issues_enabled: false
|
|
7
|
+
contact_links:
|
|
8
|
+
- name: Frequently Asked Questions
|
|
9
|
+
url: https://coverage.readthedocs.io/en/latest/faq.html
|
|
10
|
+
about: Some common problems are described here.
|
|
11
|
+
- name: Tidelift security contact
|
|
12
|
+
url: https://tidelift.com/security
|
|
13
|
+
about: Please report security vulnerabilities here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for coverage.py
|
|
4
|
+
title: ''
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
12
|
+
|
|
13
|
+
**Describe the solution you'd like**
|
|
14
|
+
A clear and concise description of what you want to happen.
|
|
15
|
+
|
|
16
|
+
**Describe alternatives you've considered**
|
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
+
|
|
19
|
+
**Additional context**
|
|
20
|
+
Add any other context about the feature request here.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Support request
|
|
3
|
+
about: Ask for help using coverage.py
|
|
4
|
+
title: ''
|
|
5
|
+
labels: support
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Have you asked elsewhere?**
|
|
11
|
+
|
|
12
|
+
There are other good places to ask for help using coverage.py. These places let
|
|
13
|
+
other people suggest solutions, are more likely places for people to find your
|
|
14
|
+
question:
|
|
15
|
+
|
|
16
|
+
- [Stack Overflow](https://stackoverflow.com/questions/tagged/coverage.py)
|
|
17
|
+
- [discuss.python.org](https://discuss.python.org/search?q=coverage.py)
|
|
18
|
+
|
|
19
|
+
**Describe your situation**
|
|
20
|
+
|
|
21
|
+
Wherever you ask your question, be sure to explain:
|
|
22
|
+
|
|
23
|
+
- What you did
|
|
24
|
+
- What happened
|
|
25
|
+
- How that was different than what you wanted to happen
|
|
26
|
+
- What kind of help you need
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# From:
|
|
2
|
+
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
|
|
3
|
+
# Set update schedule for GitHub Actions
|
|
4
|
+
|
|
5
|
+
version: 2
|
|
6
|
+
updates:
|
|
7
|
+
- package-ecosystem: "github-actions"
|
|
8
|
+
directory: "/"
|
|
9
|
+
schedule:
|
|
10
|
+
# Check for updates to GitHub Actions once a week
|
|
11
|
+
interval: "weekly"
|
|
12
|
+
day: "sunday"
|
|
13
|
+
groups:
|
|
14
|
+
action-dependencies:
|
|
15
|
+
patterns:
|
|
16
|
+
- "*"
|
|
17
|
+
commit-message:
|
|
18
|
+
prefix: "chore"
|
|
@@ -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
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
|
2
|
+
# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt
|
|
3
|
+
|
|
4
|
+
name: "Coverage"
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
# As currently structured, this adds too many jobs (checks?), so don't run it
|
|
8
|
+
# on pull requests yet.
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- main
|
|
12
|
+
- "**/*metacov*"
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
defaults:
|
|
16
|
+
run:
|
|
17
|
+
shell: bash
|
|
18
|
+
|
|
19
|
+
env:
|
|
20
|
+
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
21
|
+
COVERAGE_IGOR_VERBOSE: 2
|
|
22
|
+
FORCE_COLOR: 1 # Get colored pytest output
|
|
23
|
+
|
|
24
|
+
permissions:
|
|
25
|
+
contents: read
|
|
26
|
+
|
|
27
|
+
concurrency:
|
|
28
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
29
|
+
cancel-in-progress: true
|
|
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
|
+
|
|
63
|
+
coverage:
|
|
64
|
+
name: "${{ matrix.python-version }} on ${{ matrix.os }}"
|
|
65
|
+
runs-on: "${{ matrix.os }}-${{ matrix.os-version || 'latest' }}"
|
|
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
|
+
|
|
72
|
+
env:
|
|
73
|
+
MATRIX_ID: "${{ matrix.python-version }}.${{ matrix.os }}"
|
|
74
|
+
TOX_GH_MAJOR_MINOR: "${{ matrix.python-version }}"
|
|
75
|
+
|
|
76
|
+
strategy:
|
|
77
|
+
matrix:
|
|
78
|
+
os:
|
|
79
|
+
- ubuntu
|
|
80
|
+
- macos
|
|
81
|
+
- windows
|
|
82
|
+
python-version:
|
|
83
|
+
# When changing this list, be sure to check the [gh] list in
|
|
84
|
+
# tox.ini so that tox will run properly. PYVERSIONS
|
|
85
|
+
# Available versions:
|
|
86
|
+
# https://github.com/actions/python-versions/blob/main/versions-manifest.json
|
|
87
|
+
- "3.10"
|
|
88
|
+
- "3.11"
|
|
89
|
+
- "3.12"
|
|
90
|
+
- "3.13"
|
|
91
|
+
- "3.13t"
|
|
92
|
+
- "3.14"
|
|
93
|
+
- "3.14t"
|
|
94
|
+
- "3.15"
|
|
95
|
+
- "3.15t"
|
|
96
|
+
- "pypy-3.10"
|
|
97
|
+
- "pypy-3.11"
|
|
98
|
+
exclude:
|
|
99
|
+
# Mac PyPy always takes the longest, and doesn't add anything.
|
|
100
|
+
- os: macos
|
|
101
|
+
python-version: "pypy-3.10"
|
|
102
|
+
- os: macos
|
|
103
|
+
python-version: "pypy-3.11"
|
|
104
|
+
# Windows pypy 3.10 gets stuck with PyPy 7.3.15. I hope to
|
|
105
|
+
# unstick them, but I don't want that to block all other progress, so
|
|
106
|
+
# skip them for now.
|
|
107
|
+
- os: windows
|
|
108
|
+
python-version: "pypy-3.10"
|
|
109
|
+
# If we need to tweak the os version we can do it with an include like
|
|
110
|
+
# this:
|
|
111
|
+
# include:
|
|
112
|
+
# - python-version: "3.12"
|
|
113
|
+
# os: "macos"
|
|
114
|
+
# os-version: "15"
|
|
115
|
+
|
|
116
|
+
# If one job fails, stop the whole thing.
|
|
117
|
+
fail-fast: true
|
|
118
|
+
|
|
119
|
+
steps:
|
|
120
|
+
- name: "Check out the repo"
|
|
121
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
122
|
+
with:
|
|
123
|
+
persist-credentials: false
|
|
124
|
+
|
|
125
|
+
- name: "Set up Python"
|
|
126
|
+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
127
|
+
with:
|
|
128
|
+
python-version: "${{ matrix.python-version }}"
|
|
129
|
+
allow-prereleases: true
|
|
130
|
+
# At a certain point, installing dependencies failed on pypy 3.9 and
|
|
131
|
+
# 3.10 on Windows. Commenting out the cache here fixed it. Someday
|
|
132
|
+
# try using the cache again.
|
|
133
|
+
#cache: pip
|
|
134
|
+
#cache-dependency-path: 'requirements/*.pip'
|
|
135
|
+
|
|
136
|
+
- name: "Show environment"
|
|
137
|
+
run: |
|
|
138
|
+
set -xe
|
|
139
|
+
echo matrix id: $MATRIX_ID
|
|
140
|
+
python -VV
|
|
141
|
+
python -m site
|
|
142
|
+
env | sort
|
|
143
|
+
|
|
144
|
+
- name: "Install dependencies"
|
|
145
|
+
run: |
|
|
146
|
+
set -xe
|
|
147
|
+
python -m pip install -r requirements/tox.pip
|
|
148
|
+
|
|
149
|
+
- name: "Run tox coverage for ${{ matrix.python-version }}"
|
|
150
|
+
env:
|
|
151
|
+
COVERAGE_COVERAGE: "yes"
|
|
152
|
+
COVERAGE_CONTEXT: "${{ env.MATRIX_ID }}"
|
|
153
|
+
run: |
|
|
154
|
+
set -xe
|
|
155
|
+
python -m tox
|
|
156
|
+
|
|
157
|
+
- name: "Combine data"
|
|
158
|
+
env:
|
|
159
|
+
COVERAGE_RCFILE: "metacov.ini"
|
|
160
|
+
run: |
|
|
161
|
+
python -m coverage combine
|
|
162
|
+
mv .metacov .metacov.$MATRIX_ID
|
|
163
|
+
|
|
164
|
+
- name: "Upload coverage data"
|
|
165
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
166
|
+
with:
|
|
167
|
+
name: metacov-${{ env.MATRIX_ID }}
|
|
168
|
+
path: .metacov.*
|
|
169
|
+
include-hidden-files: true
|
|
170
|
+
|
|
171
|
+
combine:
|
|
172
|
+
name: "Combine coverage data"
|
|
173
|
+
needs: coverage
|
|
174
|
+
runs-on: ubuntu-latest
|
|
175
|
+
outputs:
|
|
176
|
+
total: ${{ steps.total.outputs.total }}
|
|
177
|
+
env:
|
|
178
|
+
COVERAGE_RCFILE: "metacov.ini"
|
|
179
|
+
|
|
180
|
+
steps:
|
|
181
|
+
- name: "Check out the repo"
|
|
182
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
183
|
+
with:
|
|
184
|
+
persist-credentials: false
|
|
185
|
+
|
|
186
|
+
- name: "Set up Python"
|
|
187
|
+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
188
|
+
with:
|
|
189
|
+
python-version: "3.10" # Minimum of PYVERSIONS
|
|
190
|
+
# At a certain point, installing dependencies failed on pypy 3.9 and
|
|
191
|
+
# 3.10 on Windows. Commenting out the cache here fixed it. Someday
|
|
192
|
+
# try using the cache again.
|
|
193
|
+
#cache: pip
|
|
194
|
+
#cache-dependency-path: 'requirements/*.pip'
|
|
195
|
+
|
|
196
|
+
- name: "Show environment"
|
|
197
|
+
run: |
|
|
198
|
+
set -xe
|
|
199
|
+
python -VV
|
|
200
|
+
python -m site
|
|
201
|
+
env | sort
|
|
202
|
+
|
|
203
|
+
- name: "Install dependencies"
|
|
204
|
+
run: |
|
|
205
|
+
set -xe
|
|
206
|
+
python -m pip install -e .
|
|
207
|
+
python igor.py zip_mods
|
|
208
|
+
|
|
209
|
+
- name: "Download coverage data"
|
|
210
|
+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
211
|
+
with:
|
|
212
|
+
pattern: metacov-*
|
|
213
|
+
merge-multiple: true
|
|
214
|
+
|
|
215
|
+
- name: "Combine and report"
|
|
216
|
+
id: combine
|
|
217
|
+
env:
|
|
218
|
+
COVERAGE_CONTEXT: "yes"
|
|
219
|
+
run: |
|
|
220
|
+
set -xe
|
|
221
|
+
python igor.py combine_html
|
|
222
|
+
|
|
223
|
+
- name: "Upload HTML report"
|
|
224
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
225
|
+
with:
|
|
226
|
+
name: html_report
|
|
227
|
+
path: htmlcov
|
|
228
|
+
include-hidden-files: true
|
|
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
|
+
|
|
238
|
+
- name: "Get total"
|
|
239
|
+
id: total
|
|
240
|
+
run: |
|
|
241
|
+
echo "total=$(python -m coverage report --format=total)" >> $GITHUB_OUTPUT
|
|
242
|
+
|
|
243
|
+
publish:
|
|
244
|
+
name: "Publish coverage report"
|
|
245
|
+
needs: combine
|
|
246
|
+
runs-on: ubuntu-latest
|
|
247
|
+
|
|
248
|
+
steps:
|
|
249
|
+
- name: "Show environment"
|
|
250
|
+
run: |
|
|
251
|
+
set -xe
|
|
252
|
+
env | sort
|
|
253
|
+
|
|
254
|
+
- name: "Compute info for later steps"
|
|
255
|
+
id: info
|
|
256
|
+
env:
|
|
257
|
+
REF: ${{ github.ref }}
|
|
258
|
+
SHA: ${{ github.sha }}
|
|
259
|
+
run: |
|
|
260
|
+
export SHA10=$(echo $SHA | cut -c 1-10)
|
|
261
|
+
export SLUG=$(date +'%Y%m%d')_$SHA10
|
|
262
|
+
echo "sha10=$SHA10" >> $GITHUB_ENV
|
|
263
|
+
echo "slug=$SLUG" >> $GITHUB_ENV
|
|
264
|
+
echo "report_dir=reports/$SLUG/htmlcov" >> $GITHUB_ENV
|
|
265
|
+
echo "url=https://htmlpreview.github.io/?https://github.com/coveragepy/metacov-reports/blob/main/reports/$SLUG/htmlcov/index.html" >> $GITHUB_ENV
|
|
266
|
+
echo "branch=${REF#refs/heads/}" >> $GITHUB_ENV
|
|
267
|
+
|
|
268
|
+
- name: "Checkout reports repo"
|
|
269
|
+
if: ${{ github.ref == 'refs/heads/main' }}
|
|
270
|
+
env:
|
|
271
|
+
TOKEN: ${{ secrets.COVERAGE_REPORTS_TOKEN }}
|
|
272
|
+
run: |
|
|
273
|
+
set -xe
|
|
274
|
+
git clone --depth=1 --no-checkout https://${TOKEN}@github.com/coveragepy/metacov-reports reports_repo
|
|
275
|
+
cd reports_repo
|
|
276
|
+
git sparse-checkout init --cone
|
|
277
|
+
git sparse-checkout set --skip-checks '/*' '!/reports'
|
|
278
|
+
git config user.name nedbat
|
|
279
|
+
git config user.email ned@nedbatchelder.com
|
|
280
|
+
git checkout main
|
|
281
|
+
|
|
282
|
+
- name: "Download coverage HTML report"
|
|
283
|
+
if: ${{ github.ref == 'refs/heads/main' }}
|
|
284
|
+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
285
|
+
with:
|
|
286
|
+
name: html_report
|
|
287
|
+
path: reports_repo/${{ env.report_dir }}
|
|
288
|
+
|
|
289
|
+
- name: "Push to report repo"
|
|
290
|
+
if: |
|
|
291
|
+
github.repository_owner == 'coveragepy'
|
|
292
|
+
&& github.ref == 'refs/heads/main'
|
|
293
|
+
env:
|
|
294
|
+
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
|
295
|
+
TOTAL: ${{ needs.combine.outputs.total }}
|
|
296
|
+
run: |
|
|
297
|
+
set -xe
|
|
298
|
+
# Make the redirect to the latest report.
|
|
299
|
+
echo "<html><head>" > reports_repo/latest.html
|
|
300
|
+
echo "<meta http-equiv='refresh' content='0;url=${url}' />" >> reports_repo/latest.html
|
|
301
|
+
echo "<body>Coverage report redirect..." >> reports_repo/latest.html
|
|
302
|
+
# Make the commit message.
|
|
303
|
+
echo "${TOTAL}% - ${COMMIT_MESSAGE}" > commit.txt
|
|
304
|
+
echo "" >> commit.txt
|
|
305
|
+
echo "${url}" >> commit.txt
|
|
306
|
+
echo "${sha10}: ${branch}" >> commit.txt
|
|
307
|
+
# Commit.
|
|
308
|
+
cd ./reports_repo
|
|
309
|
+
git sparse-checkout set --skip-checks '/*' ${report_dir}
|
|
310
|
+
rm ${report_dir}/.gitignore
|
|
311
|
+
git add ${report_dir} latest.html
|
|
312
|
+
git commit --file=../commit.txt
|
|
313
|
+
git push
|
|
314
|
+
echo "[${url}](${url})" >> $GITHUB_STEP_SUMMARY
|
|
315
|
+
|
|
316
|
+
- name: "Create badge"
|
|
317
|
+
if: |
|
|
318
|
+
github.repository_owner == 'coveragepy'
|
|
319
|
+
&& github.ref == 'refs/heads/main'
|
|
320
|
+
# https://gist.githubusercontent.com/nedbat/8c6980f77988a327348f9b02bbaf67f5
|
|
321
|
+
uses: schneegans/dynamic-badges-action@e9a478b16159b4d31420099ba146cdc50f134483 # v1.7.0
|
|
322
|
+
with:
|
|
323
|
+
auth: ${{ secrets.METACOV_GIST_SECRET }}
|
|
324
|
+
gistID: 8c6980f77988a327348f9b02bbaf67f5
|
|
325
|
+
filename: metacov.json
|
|
326
|
+
label: Coverage
|
|
327
|
+
message: ${{ needs.combine.outputs.total }}%
|
|
328
|
+
minColorRange: 60
|
|
329
|
+
maxColorRange: 95
|
|
330
|
+
valColorRange: ${{ needs.combine.outputs.total }}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Dependency Review Action
|
|
2
|
+
#
|
|
3
|
+
# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
|
|
4
|
+
#
|
|
5
|
+
# Source repository: https://github.com/actions/dependency-review-action
|
|
6
|
+
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
|
|
7
|
+
|
|
8
|
+
name: 'Dependency Review'
|
|
9
|
+
on:
|
|
10
|
+
push:
|
|
11
|
+
branches:
|
|
12
|
+
- main
|
|
13
|
+
- nedbat/*
|
|
14
|
+
pull_request:
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
dependency-review:
|
|
26
|
+
name: "Review dependencies"
|
|
27
|
+
if: github.repository_owner == 'coveragepy'
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
steps:
|
|
30
|
+
- name: 'Checkout Repository'
|
|
31
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
32
|
+
with:
|
|
33
|
+
persist-credentials: false
|
|
34
|
+
|
|
35
|
+
- name: 'Dependency Review'
|
|
36
|
+
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
|
|
37
|
+
with:
|
|
38
|
+
base-ref: ${{ github.event.pull_request.base.sha || 'main' }}
|
|
39
|
+
head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
|