-- sys -------------------------------------------------------
coverage_version: 7.11.0
coverage_module: /Users/burrito/coverage-report/.venv/lib/python3.14/site-packages/coverage/__init__.py
core: -none-
CTracer: available from /Users/burrito/coverage-report/.venv/lib/python3.14/site-packages/coverage/tracer.cpython-314-darwin.so
plugins.file_tracers: -none-
plugins.configurers: -none-
plugins.context_switchers: -none-
configs_attempted: /Users/burrito/coverage-report/.coveragerc
configs_read: /Users/burrito/coverage-report/.coveragerc
config_file: /Users/burrito/coverage-report/.coveragerc
config_contents: b'[run]\nbranch = true\n\n[report]\nshow_missing = true\n'
data_file: -none-
python: 3.14.0 (main, Oct 10 2025, 12:54:13) [Clang 20.1.4 ]
platform: macOS-15.7.1-arm64-arm-64bit-Mach-O
implementation: CPython
build: main
Oct 10 2025 12:54:13
gil_enabled: True
executable: /Users/burrito/coverage-report/.venv/bin/python
def_encoding: utf-8
fs_encoding: utf-8
pid: 36117
cwd: /Users/burrito/coverage-report
path: /Users/burrito/coverage-report/.venv/bin
/Users/burrito/.local/share/uv/python/cpython-3.14.0-macos-aarch64-none/lib/python314.zip
/Users/burrito/.local/share/uv/python/cpython-3.14.0-macos-aarch64-none/lib/python3.14
/Users/burrito/.local/share/uv/python/cpython-3.14.0-macos-aarch64-none/lib/python3.14/lib-dynload
/Users/burrito/coverage-report/.venv/lib/python3.14/site-packages
environment: HOME = /Users/burrito
command_line: /Users/burrito/coverage-report/.venv/bin/coverage debug sys
sqlite3_sqlite_version: 3.50.4
sqlite3_temp_store: 0
sqlite3_compile_options: ATOMIC_INTRINSICS=1, COMPILER=clang-20.1.4, DEFAULT_AUTOVACUUM,
DEFAULT_CACHE_SIZE=-2000, DEFAULT_FILE_FORMAT=4,
DEFAULT_JOURNAL_SIZE_LIMIT=-1, DEFAULT_MMAP_SIZE=0, DEFAULT_PAGE_SIZE=4096,
DEFAULT_PCACHE_INITSZ=20, DEFAULT_RECURSIVE_TRIGGERS,
DEFAULT_SECTOR_SIZE=4096, DEFAULT_SYNCHRONOUS=2,
DEFAULT_WAL_AUTOCHECKPOINT=1000, DEFAULT_WAL_SYNCHRONOUS=2,
DEFAULT_WORKER_THREADS=0, DIRECT_OVERFLOW_READ, ENABLE_DBSTAT_VTAB,
ENABLE_FTS3, ENABLE_FTS3_PARENTHESIS, ENABLE_FTS4, ENABLE_FTS5,
ENABLE_GEOPOLY, ENABLE_MATH_FUNCTIONS, ENABLE_RTREE,
MALLOC_SOFT_LIMIT=1024, MAX_ATTACHED=10, MAX_COLUMN=2000,
MAX_COMPOUND_SELECT=500, MAX_DEFAULT_PAGE_SIZE=8192, MAX_EXPR_DEPTH=1000,
MAX_FUNCTION_ARG=1000, MAX_LENGTH=1000000000,
MAX_LIKE_PATTERN_LENGTH=50000, MAX_MMAP_SIZE=0x7fff0000,
MAX_PAGE_COUNT=0xfffffffe, MAX_PAGE_SIZE=65536, MAX_SQL_LENGTH=1000000000,
MAX_TRIGGER_DEPTH=1000, MAX_VARIABLE_NUMBER=32766, MAX_VDBE_OP=250000000,
MAX_WORKER_THREADS=8, MUTEX_PTHREADS, SYSTEM_MALLOC, TEMP_STORE=1,
THREADSAFE=1
Describe the bug
When using multiline
casestatements inmatch..case(e.g. with a long list of variants)coveragepyreports incomplete branch coverage (missing jump from a longcasestatement to the following one, to be exact). I haven't managed to reproduce the issue using Python versions other than 3.14.To Reproduce
Installed Python: 3.14.0
Installed
coverage: 7.11.0.coveragercmatch.pyOutput of
coverage erase && coverage run match.py && coverage report:Same output after we collapse the long
casestatement to a single line (case 1 | 2:):Answer the questions below:
What version of Python are you using? 3.14.0
What version of coverage.py shows the problem? The output of
coverage debug sysis helpful.coverage debug sysWhat versions of what packages do you have installed? The output of
pip freezeis helpful.uv pip freezeWhat 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.
I don't have such commit at hand, only the minimal example posted above.
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!Details
I've ran the example in a
uv-managed venv.pyproject.tomlThen installed
coverageand activated the venv:uv sync source .venv/bin/activateThen proceeded with the example as described above.
Expected behavior
coverage reportshould show complete branch coverage regardless of the formatting.Additional context
N/A