mirror of https://github.com/ansible/ansible.git
fix coverage output from synthetic packages (#71727)
* fix coverage output from synthetic packages * synthetic packages (eg, implicit collection packages without `__init__.py`) were always created at runtime with empty string source, which was compiled to a code object and exec'd during the package load. When run with code coverage, it created a bogus coverage entry (since the `__synthetic__`-suffixed `__file__` entry didn't exist on disk). * modified collection loader `get_code` to preserve the distinction between `None` (eg synthetic package) and empty string (eg empty `__init__.py`) values from `get_source`, and to return `None` when the source is `None`. This allows the package loader to skip `exec`ing things that truly have no source file on disk, thus not creating bogus coverage entries, while preserving behavior and coverage reporting for empty package inits that actually exist. * add unit testpull/71769/head
parent
74a103d655
commit
e813b0151c
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- collection loader - fix bogus code coverage entries for synthetic packages
|
Loading…
Reference in New Issue