Commit 04f7203
authored
Match private extension modules against the in-package path only (#2504)
check_cython_abi's private-module filter tested `so_path.parts` on the
absolute path, so any ancestor directory starting with an underscore made
every module look private. That is the normal layout under manylinux
(/opt/_internal/cpython-*/) and in GitHub Actions containers (/__w/), where
`generate` then writes zero ABI files and exits 0 -- a green run with no
coverage at all.
`check`'s new-module scan had no filter, while `generate` skipped private
modules. Since `generate` never wrote an .abi.json for them, `check` reported
every private module as "New module added" on every run and set
has_allowed_changes, so it could not print "No changes found" for a package
shipping private submodules (cuda.bindings has _bindings/, _internal/, _lib/).
Extract the predicate into iter_public_extension_modules() so both paths use
it, and match only on the path relative to the package root.1 parent 25062e4 commit 04f7203
1 file changed
Lines changed: 17 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
95 | 110 | | |
96 | 111 | | |
97 | 112 | | |
| |||
473 | 488 | | |
474 | 489 | | |
475 | 490 | | |
476 | | - | |
| 491 | + | |
477 | 492 | | |
478 | 493 | | |
479 | 494 | | |
| |||
498 | 513 | | |
499 | 514 | | |
500 | 515 | | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
| 516 | + | |
505 | 517 | | |
506 | 518 | | |
507 | 519 | | |
| |||
0 commit comments