bazel-contrib / bazel-contrib/rules_python

Empty coverage reports for Python 3.10.15 and 3.10.16

Open
#2,844 1 comment 0 reactions 0 assignees View on GitHub
help wanted type: toolchain
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

# 🐞 bug report

### Affected Rule

rules_python

### Is this a regression?

No

### Description

Running `bazel coverage` does not produce coverage reports for all versions of Python. The coverage.dat files are empty when using Python version 3.10.15 and 3.10.16. Other versions of Python 3.10 do seem to produce valid coverage reports.

I did not test Python 3.11 or 3.12.

## 🔬 Minimal Reproduction

I added tests on a fork of main: [python-3-10-16-coverage](https://github.com/keesvanhespen/rules_python/tree/python-3-10-16-coverage).

Running

`bazel coverage --action_env=COVERAGE_GCOV_OPTIONS=-b --combined_report=lcov --strategy=CoverageReport=local -- //test_code/...
`

from the `tests/coverage` directory returns a filled coverage.dat file in bazel-out for Python 3.10.14, but it is empty for 3.10.16.

## 🌍 Your Environment

**Operating System:**

  

MacOS Sequoia ARM 64

**Output of `bazel version`:**

  

Aspect CLI version: 2025.06.52+25667cae2
INFO: Invocation ID: 58fd115a-8c31-42c8-a32f-e11056aa355a
Build label: 8.2.1
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Thu Apr 17 18:31:45 2025 (1744914705)
Build timestamp: 1744914705
Build timestamp as int: 1744914705

**Rules_python version:**

  

1.3.0

**Anything else relevant?**

Contributor guide

Open the contributing guide

Research direction

Start in tests/coverage and compare the reported bazel coverage command and coverage.dat output for Python 3.10.14 versus 3.10.15 and 3.10.16, using the linked python-3-10-16-coverage branch as the reproduction. Done means coverage.dat is populated for the affected Python versions and the coverage tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.