Skip to content

Commit 473fd58

Browse files
feat(ci_visibility): use sys.monitoring code coverage for Python 3.13 (#14786)
## Description Currently code coverage support is a no-op for Python 3.13. It should support the same mechanism used for 3.12 (sys.monitoring). This PR enables that. ## Testing The existing unit tests for coverage should pass for Python 3.13. ## Risks It is possible that differences in 3.13 bytecode cause lines not to be detected correctly; the unit tests should catch chat. sys.monitoring code coverage does not depend on bytecode _modification_ but it does depend on _parsing_ the bytecode to identify instructions of interest, so differences in the bytecode instructions used might affect the results. ## Additional Notes It turns out that for Python 3.14 some bytecode instructions _are_ different. I will address it in a separate PR.
1 parent db21adf commit 473fd58

File tree

18 files changed

+35
-437
lines changed

18 files changed

+35
-437
lines changed

.riot/requirements/10d072f.txt

Lines changed: 0 additions & 34 deletions
This file was deleted.

.riot/requirements/154d69c.txt

Lines changed: 0 additions & 35 deletions
This file was deleted.

.riot/requirements/1d4c5f5.txt

Lines changed: 0 additions & 33 deletions
This file was deleted.

.riot/requirements/66497fa.txt

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,31 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --no-annotate .riot/requirements/9aa275a.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/6f4af29.in
66
#
7-
anyio==4.10.0
8-
attrs==25.3.0
9-
certifi==2025.8.3
10-
charset-normalizer==3.4.3
11-
coverage[toml]==7.10.6
7+
anyio==4.11.0
8+
asynctest==0.13.0
9+
attrs==25.4.0
10+
certifi==2025.10.5
11+
coverage[toml]==7.10.7
1212
execnet==2.1.1
1313
h11==0.16.0
1414
httpcore==1.0.9
1515
httpx==0.27.2
16-
hypothesis==6.138.15
16+
hypothesis==6.45.0
1717
idna==3.10
1818
iniconfig==2.1.0
1919
mock==5.2.0
20+
more-itertools==8.10.0
2021
msgpack==1.1.1
2122
opentracing==2.4.0
2223
packaging==25.0
2324
pluggy==1.6.0
2425
pytest==7.4.4
2526
pytest-cov==7.0.0
26-
pytest-mock==3.15.0
27+
pytest-mock==3.15.1
2728
pytest-randomly==4.0.1
2829
pytest-xdist==3.8.0
29-
requests==2.32.5
3030
sniffio==1.3.1
3131
sortedcontainers==2.4.0
32-
typing-extensions==4.15.0
33-
urllib3==2.5.0

.riot/requirements/7c8f22f.txt

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,32 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1eed0db.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/7e32ec0.in
66
#
7-
anyio==4.10.0
8-
attrs==25.3.0
9-
certifi==2025.8.3
10-
charset-normalizer==3.4.3
11-
coverage[toml]==7.10.6
7+
anyio==4.11.0
8+
asynctest==0.13.0
9+
attrs==25.4.0
10+
certifi==2025.10.5
11+
coverage[toml]==7.10.7
1212
execnet==2.1.1
1313
h11==0.16.0
1414
httpcore==1.0.9
1515
httpx==0.27.2
16-
hypothesis==6.138.15
16+
hypothesis==6.45.0
1717
idna==3.10
1818
iniconfig==2.1.0
1919
mock==5.2.0
20+
more-itertools==8.10.0
2021
msgpack==1.1.1
2122
opentracing==2.4.0
2223
packaging==25.0
2324
pluggy==1.6.0
2425
pygments==2.19.2
2526
pytest==8.4.2
2627
pytest-cov==7.0.0
27-
pytest-mock==3.15.0
28+
pytest-mock==3.15.1
2829
pytest-randomly==4.0.1
2930
pytest-xdist==3.8.0
30-
requests==2.32.5
3131
sniffio==1.3.1
3232
sortedcontainers==2.4.0
33-
typing-extensions==4.15.0
34-
urllib3==2.5.0
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --no-annotate .riot/requirements/aa6ff39.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/a5abd83.in
66
#
7-
anyio==4.10.0
8-
attrs==25.3.0
9-
certifi==2025.8.3
10-
charset-normalizer==3.4.3
11-
coverage[toml]==7.10.6
7+
anyio==4.11.0
8+
asynctest==0.13.0
9+
attrs==25.4.0
10+
certifi==2025.10.5
11+
coverage[toml]==7.10.7
1212
execnet==2.1.1
1313
h11==0.16.0
1414
httpcore==1.0.9
1515
httpx==0.27.2
16-
hypothesis==6.138.15
16+
hypothesis==6.45.0
1717
idna==3.10
1818
iniconfig==2.1.0
1919
mock==5.2.0
20+
more-itertools==8.10.0
2021
msgpack==1.1.1
2122
opentracing==2.4.0
2223
packaging==25.0
2324
pluggy==1.6.0
2425
py==1.11.0
2526
pytest==6.2.5
2627
pytest-cov==6.3.0
27-
pytest-mock==3.15.0
28+
pytest-mock==3.15.1
2829
pytest-randomly==4.0.1
2930
pytest-xdist==3.5.0
30-
requests==2.32.5
3131
sniffio==1.3.1
3232
sortedcontainers==2.4.0
3333
toml==0.10.2
34-
typing-extensions==4.15.0
35-
urllib3==2.5.0

.riot/requirements/ce60543.txt

Lines changed: 0 additions & 39 deletions
This file was deleted.

.riot/requirements/ded7a95.txt

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)