🧪 Fix the circular import branch directory skip - #13430
Conversation
|
This is actually not a fix yet, which is why it's in draft. I'll update the PR post experimentation in #13425. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #13430 +/- ##
=======================================
Coverage 98.41% 98.42%
=======================================
Files 133 133
Lines 49748 49747 -1
Branches 2629 2628 -1
=======================================
+ Hits 48960 48961 +1
+ Misses 663 662 -1
+ Partials 125 124 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
a3040b8 to
a34ae1b
Compare
Merging this PR will improve performance by 8.1%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | test_ten_compressed_responses_iter_chunked_1mb[isal.isal_zlib] |
207 ms | 191.4 ms | +8.1% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing webknjaz:testing/13388-circular-imports-branch-cov (705c6c5) with master (356d355)
Footnotes
-
83 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
a34ae1b to
a4aaa9d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
c396327 to
0353feb
Compare
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Reviews (2): Last reviewed commit: "🧪 Fix the circular import branch direct..." | Re-trigger Greptile |
PR aio-libs#13388 introduced partial branch coverage in a directory scan skip logic in `tests/test_circular_imports.py::test_no_warnings`. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric via an explicitly applied "no branch" pragma. The missing branch coverage only appears in test environments checking real project installs that are non-editable. Editable installs have a `aiohttp/.hash/` cache directory that would contain files like `_http_parser.pyx.hash`, `_cparser.pxd.hash`, `hdrs.py.hash`, `_find_header.pxd.hash` and `_http_writer.pyx.hash` which speed up processes in local development environment. The `continue` instruction would only be hit there.
0353feb to
705c6c5
Compare
Backport to 3.15: 💚 backport PR created✅ Backport PR branch: Backported as #13434 🤖 @patchback |
Backport to 3.14: 💚 backport PR created✅ Backport PR branch: Backported as #13435 🤖 @patchback |
… branch directory skip PR aio-libs#13388 introduced partial branch coverage in a directory scan skip logic in `tests/test_circular_imports.py::test_no_warnings`. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric via an explicitly applied "no branch" pragma. The missing branch coverage only appears in test environments checking real project installs that are non-editable. Editable installs have a `aiohttp/.hash/` cache directory that would contain files like `_http_parser.pyx.hash`, `_cparser.pxd.hash`, `hdrs.py.hash`, `_find_header.pxd.hash` and `_http_writer.pyx.hash` which speed up processes in local development environment. The `continue` instruction would only be hit there. (cherry picked from commit 7dc43ae)
… branch directory skip PR aio-libs#13388 introduced partial branch coverage in a directory scan skip logic in `tests/test_circular_imports.py::test_no_warnings`. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric via an explicitly applied "no branch" pragma. The missing branch coverage only appears in test environments checking real project installs that are non-editable. Editable installs have a `aiohttp/.hash/` cache directory that would contain files like `_http_parser.pyx.hash`, `_cparser.pxd.hash`, `hdrs.py.hash`, `_find_header.pxd.hash` and `_http_writer.pyx.hash` which speed up processes in local development environment. The `continue` instruction would only be hit there. (cherry picked from commit 7dc43ae)
… branch directory skip PR 13388 introduced partial branch coverage in a directory scan skip logic in `tests/test_circular_imports.py::test_no_warnings`. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric via an explicitly applied "no branch" pragma. The missing branch coverage only appears in test environments checking real project installs that are non-editable. Editable installs have a `aiohttp/.hash/` cache directory that would contain files like `_http_parser.pyx.hash`, `_cparser.pxd.hash`, `hdrs.py.hash`, `_find_header.pxd.hash` and `_http_writer.pyx.hash` which speed up processes in local development environment. The `continue` instruction would only be hit there. (cherry picked from commit 7dc43ae)
… branch directory skip PR aio-libs#13388 introduced partial branch coverage in a directory scan skip logic in `tests/test_circular_imports.py::test_no_warnings`. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric via an explicitly applied "no branch" pragma. The missing branch coverage only appears in test environments checking real project installs that are non-editable. Editable installs have a `aiohttp/.hash/` cache directory that would contain files like `_http_parser.pyx.hash`, `_cparser.pxd.hash`, `hdrs.py.hash`, `_find_header.pxd.hash` and `_http_writer.pyx.hash` which speed up processes in local development environment. The `continue` instruction would only be hit there. (cherry picked from commit 7dc43ae)
What do these changes do?
PR #13388 introduced partial branch coverage in a directory scan skip logic in
tests/test_circular_imports.py::test_no_warnings. This patch is attempting to address is by bringing the coverage on the test module back to 100% metric.Are there changes in behavior for the user?
Nah.
Is it a substantial burden for the maintainers to support this?
Nope.
Related issue number
This is just a follow-up for PR #13388.
Checklist
CONTRIBUTORS.txtCHANGES/foldername it
<issue_or_pr_num>.<type>.rst(e.g.588.bugfix.rst)if you don't have an issue number, change it to the pull request
number after creating the PR
.bugfix: A bug fix for something the maintainers deemed animproper undesired behavior that got corrected to match
pre-agreed expectations.
.feature: A new behavior, public APIs. That sort of stuff..deprecation: A declaration of future API removals and breakingchanges in behavior.
.breaking: When something public is removed in a breaking way.Could be deprecated in an earlier release.
.doc: Notable updates to the documentation structure or buildprocess.
.packaging: Notes for downstreams about unobvious side effectsand tooling. Changes in the test invocation considerations and
runtime assumptions.
.contrib: Stuff that affects the contributor experience. e.g.Running tests, building the docs, setting up the development
environment.
.misc: Changes that are hard to assign to any of the abovecategories.
Make sure to use full sentences with correct case and punctuation,
for example:
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.