pytest-dev / pytest

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
https://pytest.org
MIT License
12.09k stars 2.68k forks source link

Test modules with same name in different directories, all folders and parents containing `__init__.py`, raising `_pytest.pathlib.ImportPathMismatchError`. #10119

Closed MarximusMaximus closed 2 years ago

MarximusMaximus commented 2 years ago

Test modules with same name in different directories, all folders and parents containing __init__.py, raising _pytest.pathlib.ImportPathMismatchError.

pytest 7.1.2 macOS 12.4 (21F79) on M1 Max conda 4.13.0 (miniforge)

Unfortunately I don't have a minimal example. I think maybe I might be doing something wrong and not sure where? My main pytest settings are in pyproject.toml used for pytest command line, vscode, and tox coverage env; the ones in tox.ini are for other tox envs.

Project is https://github.com/MarximusMaximus/batteries-forking-included

Workaround was to add following to tests/conftest.py:

os.environ["PY_IGNORE_IMPORTMISMATCH"] = "1"

but this seems more like a kludge than a fix.

$ pip list
Package                        Version
------------------------------ ---------
alabaster                      0.7.12
appdirs                        1.4.4
appnope                        0.1.3
argon2-cffi                    21.3.0
argon2-cffi-bindings           21.2.0
astroid                        2.11.6
asttokens                      2.0.5
attrs                          21.4.0
Babel                          2.10.3
backcall                       0.2.0
backports.functools-lru-cache  1.6.4
bandit                         1.7.4
batteries-forking-included     0.1.1
beautifulsoup4                 4.11.1
bleach                         5.0.1
brotlipy                       0.7.0
CacheControl                   0.12.11
cachy                          0.3.0
certifi                        2022.6.15
cffi                           1.15.1
cfgv                           3.3.1
charset-normalizer             2.1.0
cleo                           0.8.1
clikit                         0.6.2
colorama                       0.4.5
coverage                       6.4.1
crashtest                      0.3.1
cryptography                   37.0.3
debugpy                        1.6.0
decorator                      5.1.1
defusedxml                     0.7.1
dill                           0.3.5.1
distlib                        0.3.4
docutils                       0.18.1
dodgy                          0.2.1
entrypoints                    0.4
esbonio                        0.13.0
executing                      0.8.3
fastjsonschema                 2.15.3
filelock                       3.7.1
flake8                         4.0.1
flake8-bugbear                 22.7.1
flake8-commas                  2.1.0
flake8-docstrings              1.6.0
flake8-polyfill                1.0.2
flake8-pyi                     22.5.1
flit_core                      3.7.1
gitdb                          4.0.9
GitPython                      3.1.27
html5lib                       1.1
identify                       2.5.1
idna                           3.3
imagesize                      1.3.0
importlib-resources            5.8.0
iniconfig                      1.1.1
ipykernel                      6.15.0
ipython                        8.4.0
ipython-genutils               0.2.0
ipywidgets                     7.7.1
isort                          5.10.1
jedi                           0.18.1
Jinja2                         3.1.2
jsonschema                     4.6.1
jupyter                        1.0.0
jupyter-client                 7.3.4
jupyter-console                6.4.4
jupyter-core                   4.10.0
jupyterlab-pygments            0.2.2
jupyterlab-widgets             1.1.1
keyring                        23.6.0
lazy-object-proxy              1.7.1
lockfile                       0.12.2
MarkupSafe                     2.1.1
matplotlib-inline              0.1.3
mccabe                         0.6.1
mistune                        0.8.4
msgpack                        1.0.4
mypy                           0.961
mypy-extensions                0.4.3
nbclient                       0.5.13
nbconvert                      6.4.5
nbformat                       5.4.0
nest-asyncio                   1.5.5
nodeenv                        1.7.0
notebook                       6.4.12
packaging                      20.9
pandocfilters                  1.5.0
parso                          0.8.3
pastel                         0.2.1
pbr                            5.9.0
pep8-naming                    0.10.0
pexpect                        4.8.0
pickleshare                    0.7.5
pip                            22.1.2
pip-licenses                   3.5.4
pipdeptree                     2.2.1
pkginfo                        1.8.3
platformdirs                   2.5.2
pluggy                         1.0.0
poetry                         1.1.13
poetry-core                    1.0.8
pre-commit                     2.19.0
prometheus-client              0.14.1
prompt-toolkit                 3.0.30
prospector                     1.7.7
psutil                         5.9.1
PTable                         0.9.2
ptyprocess                     0.7.0
pure-eval                      0.2.2
py                             1.11.0
pycodestyle                    2.8.0
pycparser                      2.21
pydantic                       1.8.2
pydocstyle                     6.1.1
pyflakes                       2.4.0
pygls                          0.11.3
Pygments                       2.12.0
pygrep                         0.2
pylev                          1.4.0
pylint                         2.14.4
pylint-celery                  0.3
pylint-django                  2.5.3
pylint-flask                   0.6
pylint-plugin-utils            0.7
pyOpenSSL                      22.0.0
pyparsing                      3.0.9
pyrsistent                     0.18.1
PySocks                        1.7.1
pyspellchecker                 0.6.3
pytest                         7.1.2
pytest-cov                     3.0.0
pytest-html                    3.1.1
pytest-metadata                2.0.0
pytest-prefer-nested-dup-tests 0.1.0
pytest-subprocess              1.4.1
pytest-sugar                   0.9.4
python-dateutil                2.8.2
pytz                           2022.1
PyYAML                         6.0
pyzmq                          23.2.0
requests                       2.28.1
requests-toolbelt              0.9.1
requirements-detector          0.7
restructuredtext-lint          1.4.0
Send2Trash                     1.8.0
setoptconf-tmp                 0.3.1
setuptools                     62.6.0
shellingham                    1.4.0
six                            1.16.0
smmap                          5.0.0
snowballstemmer                2.2.0
soupsieve                      2.3.1
Sphinx                         5.0.2
sphinxcontrib-applehelp        1.0.2
sphinxcontrib-devhelp          1.0.2
sphinxcontrib-htmlhelp         2.0.0
sphinxcontrib-jsmath           1.0.1
sphinxcontrib-qthelp           1.0.3
sphinxcontrib-serializinghtml  1.1.5
stack-data                     0.3.0
stevedore                      3.5.0
termcolor                      1.1.0
terminado                      0.15.0
testpath                       0.6.0
toml                           0.10.2
tomli                          2.0.1
tomlkit                        0.11.0
tornado                        6.1
tox                            3.25.1
traitlets                      5.3.0
typeguard                      2.13.3
typing_extensions              4.3.0
urllib3                        1.26.9
virtualenv                     20.15.1
vulture                        2.5
wcwidth                        0.2.5
webencodings                   0.5.1
wheel                          0.37.1
widgetsnbextension             3.6.1
wrapt                          1.14.1
$ conda list
# packages in environment at /opt/conda/miniforge/envs/batteries-forking-included:
#
# Name                    Version                   Build  Channel
alabaster                 0.7.12                   pypi_0    pypi
appdirs                   1.4.4                    pypi_0    pypi
appnope                   0.1.3              pyhd8ed1ab_0    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py310hf8d0d8f_2    conda-forge
astroid                   2.11.6                   pypi_0    pypi
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
babel                     2.10.3                   pypi_0    pypi
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
bandit                    1.7.4                    pypi_0    pypi
batteries-forking-included 0.1.1                    pypi_0    pypi
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
bleach                    5.0.1              pyhd8ed1ab_0    conda-forge
brotlipy                  0.7.0           py310hf8d0d8f_1004    conda-forge
bzip2                     1.0.8                h3422bc3_4    conda-forge
ca-certificates           2022.6.15            h4653dfc_0    conda-forge
cachecontrol              0.12.11            pyhd8ed1ab_0    conda-forge
cachy                     0.3.0                      py_0    conda-forge
certifi                   2022.6.15       py310hbe9552e_0    conda-forge
cffi                      1.15.1                   pypi_0    pypi
cfgv                      3.3.1                    pypi_0    pypi
charset-normalizer        2.1.0                    pypi_0    pypi
cleo                      0.8.1              pyhd8ed1ab_2    conda-forge
clikit                    0.6.2              pyh9f0ad1d_0    conda-forge
colorama                  0.4.5                    pypi_0    pypi
coverage                  6.4.1                    pypi_0    pypi
crashtest                 0.3.1              pyhd8ed1ab_0    conda-forge
cryptography              37.0.3                   pypi_0    pypi
debugpy                   1.6.0           py310h1105856_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
dill                      0.3.5.1                  pypi_0    pypi
distlib                   0.3.4              pyhd8ed1ab_0    conda-forge
docutils                  0.18.1                   pypi_0    pypi
dodgy                     0.2.1                    pypi_0    pypi
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
esbonio                   0.13.0                   pypi_0    pypi
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
filelock                  3.7.1              pyhd8ed1ab_0    conda-forge
flake8                    4.0.1                    pypi_0    pypi
flake8-bugbear            22.7.1                   pypi_0    pypi
flake8-commas             2.1.0                    pypi_0    pypi
flake8-docstrings         1.6.0                    pypi_0    pypi
flake8-polyfill           1.0.2                    pypi_0    pypi
flake8-pyi                22.5.1                   pypi_0    pypi
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
gitdb                     4.0.9                    pypi_0    pypi
gitpython                 3.1.27                   pypi_0    pypi
html5lib                  1.1                pyh9f0ad1d_0    conda-forge
identify                  2.5.1                    pypi_0    pypi
idna                      3.3                pyhd8ed1ab_0    conda-forge
imagesize                 1.3.0                    pypi_0    pypi
importlib_resources       5.8.0              pyhd8ed1ab_0    conda-forge
iniconfig                 1.1.1                    pypi_0    pypi
ipykernel                 6.15.0             pyh736e0ef_0    conda-forge
ipython                   8.4.0           py310hbe9552e_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                7.7.1              pyhd8ed1ab_0    conda-forge
isort                     5.10.1                   pypi_0    pypi
jedi                      0.18.1          py310hbe9552e_1    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
jsonschema                4.6.1              pyhd8ed1ab_0    conda-forge
jupyter                   1.0.0           py310hbe9552e_7    conda-forge
jupyter_client            7.3.4              pyhd8ed1ab_0    conda-forge
jupyter_console           6.4.4              pyhd8ed1ab_0    conda-forge
jupyter_core              4.10.0          py310hbe9552e_0    conda-forge
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        1.1.1              pyhd8ed1ab_0    conda-forge
keyring                   23.6.0          py310hbe9552e_0    conda-forge
lazy-object-proxy         1.7.1                    pypi_0    pypi
libcxx                    14.0.6               h04bba0f_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libsodium                 1.0.18               h27ca646_1    conda-forge
libzlib                   1.2.12               ha287fd2_1    conda-forge
lockfile                  0.12.2                     py_1    conda-forge
markupsafe                2.1.1           py310hf8d0d8f_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mccabe                    0.6.1                    pypi_0    pypi
mistune                   0.8.4           py310he2143c4_1005    conda-forge
msgpack-python            1.0.4           py310hd23d0e8_0    conda-forge
mypy                      0.961                    pypi_0    pypi
mypy-extensions           0.4.3                    pypi_0    pypi
nbclient                  0.5.13             pyhd8ed1ab_0    conda-forge
nbconvert                 6.4.5           py310hbe9552e_0    conda-forge
nbformat                  5.4.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h07bb92c_1    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
nodeenv                   1.7.0                    pypi_0    pypi
notebook                  6.4.12             pyha770c72_0    conda-forge
openssl                   1.1.1p               ha287fd2_0    conda-forge
packaging                 20.9               pyh44b312d_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pastel                    0.2.1              pyhd8ed1ab_0    conda-forge
pbr                       5.9.0                    pypi_0    pypi
pep8-naming               0.10.0                   pypi_0    pypi
perl                      5.32.1          2_h9b22ae9_perl5    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
pip-licenses              3.5.4                    pypi_0    pypi
pipdeptree                2.2.1                    pypi_0    pypi
pkginfo                   1.8.3              pyhd8ed1ab_0    conda-forge
platformdirs              2.5.2                    pypi_0    pypi
pluggy                    1.0.0                    pypi_0    pypi
poetry                    1.1.13          py310hbe9552e_1    conda-forge
poetry-core               1.0.8           py310hbe9552e_1    conda-forge
pre-commit                2.19.0                   pypi_0    pypi
prometheus_client         0.14.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.30             pyha770c72_0    conda-forge
prompt_toolkit            3.0.30               hd8ed1ab_0    conda-forge
prospector                1.7.7                    pypi_0    pypi
psutil                    5.9.1           py310h02f21da_0    conda-forge
ptable                    0.9.2                    pypi_0    pypi
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
py                        1.11.0                   pypi_0    pypi
pycodestyle               2.8.0                    pypi_0    pypi
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pydantic                  1.8.2                    pypi_0    pypi
pydocstyle                6.1.1                    pypi_0    pypi
pyflakes                  2.4.0                    pypi_0    pypi
pygls                     0.11.3                   pypi_0    pypi
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pygrep                    0.2                      pypi_0    pypi
pylev                     1.4.0              pyhd8ed1ab_0    conda-forge
pylint                    2.14.4                   pypi_0    pypi
pylint-celery             0.3                      pypi_0    pypi
pylint-django             2.5.3                    pypi_0    pypi
pylint-flask              0.6                      pypi_0    pypi
pylint-plugin-utils       0.7                      pypi_0    pypi
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyrsistent                0.18.1          py310hf8d0d8f_1    conda-forge
pysocks                   1.7.1           py310hbe9552e_5    conda-forge
pyspellchecker            0.6.3                    pypi_0    pypi
pytest                    7.1.2                    pypi_0    pypi
pytest-cov                3.0.0                    pypi_0    pypi
pytest-html               3.1.1                    pypi_0    pypi
pytest-metadata           2.0.0                    pypi_0    pypi
pytest-prefer-nested-dup-tests 0.1.0                    pypi_0    pypi
pytest-subprocess         1.4.1                    pypi_0    pypi
pytest-sugar              0.9.4                    pypi_0    pypi
python                    3.10.5          h71ab1a4_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.15.3             pyhd8ed1ab_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pytz                      2022.1                   pypi_0    pypi
pyyaml                    6.0                      pypi_0    pypi
pyzmq                     23.2.0          py310hede2015_0    conda-forge
readline                  8.1.2                h46ed386_0    conda-forge
requests                  2.28.1                   pypi_0    pypi
requests-toolbelt         0.9.1                      py_0    conda-forge
requirements-detector     0.7                      pypi_0    pypi
restructuredtext-lint     1.4.0                    pypi_0    pypi
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setoptconf-tmp            0.3.1                    pypi_0    pypi
setuptools                62.6.0          py310hbe9552e_0    conda-forge
shellingham               1.4.0              pyh44b312d_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     5.0.0                    pypi_0    pypi
snowballstemmer           2.2.0                    pypi_0    pypi
soupsieve                 2.3.1              pyhd8ed1ab_0    conda-forge
sphinx                    5.0.2                    pypi_0    pypi
sphinxcontrib-applehelp   1.0.2                    pypi_0    pypi
sphinxcontrib-devhelp     1.0.2                    pypi_0    pypi
sphinxcontrib-htmlhelp    2.0.0                    pypi_0    pypi
sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
sphinxcontrib-qthelp      1.0.3                    pypi_0    pypi
sphinxcontrib-serializinghtml 1.1.5                    pypi_0    pypi
sqlite                    3.39.0               h40dfcc0_0    conda-forge
stack_data                0.3.0              pyhd8ed1ab_0    conda-forge
stevedore                 3.5.0                    pypi_0    pypi
termcolor                 1.1.0                    pypi_0    pypi
terminado                 0.15.0          py310hbe9552e_0    conda-forge
testpath                  0.6.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               he1e0b03_0    conda-forge
toml                      0.10.2                   pypi_0    pypi
tomli                     2.0.1                    pypi_0    pypi
tomlkit                   0.11.0             pyha770c72_0    conda-forge
tornado                   6.1             py310hf8d0d8f_3    conda-forge
tox                       3.25.1                   pypi_0    pypi
traitlets                 5.3.0              pyhd8ed1ab_0    conda-forge
typeguard                 2.13.3                   pypi_0    pypi
typing                    3.10.0.0           pyhd8ed1ab_0    conda-forge
typing-extensions         4.3.0                    pypi_0    pypi
tzdata                    2022a                h191b570_0    conda-forge
urllib3                   1.26.9             pyhd8ed1ab_0    conda-forge
virtualenv                20.15.1                  pypi_0    pypi
vulture                   2.5                      pypi_0    pypi
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
widgetsnbextension        3.6.1              pyha770c72_0    conda-forge
wrapt                     1.14.1                   pypi_0    pypi
xz                        5.2.5                h642e427_1    conda-forge
zeromq                    4.3.4                hbdafb3b_1    conda-forge
zlib                      1.2.12               ha287fd2_1    conda-forge
The-Compiler commented 2 years ago

Can you show the full error you get?

MarximusMaximus commented 2 years ago

Oops. Silly me. Full error attached below. Figured it out though. Turns out that some of my folder names had dashes in them, to match their example projects psuedo-repos. Changing these to underlines instead makes the issue go away. So I think it was just user error, unless sibling packages with same named files is supposed to work?

with dashes had error:

pytest --collect-only                 (4603064|✚1…3⚑1)
Test session starts (platform: darwin, Python 3.10.5, pytest 7.1.2, pytest-sugar 0.9.4)
cachedir: .pytest_cache
rootdir: /Volumes/src with spaces/batteries-forking-included, configfile: pyproject.toml, testpaths: .
plugins: sugar-0.9.4, html-3.1.1, subprocess-1.4.1, typeguard-2.13.3, cov-3.0.0
collecting ...
――――――――――――――――――――――――――― ERROR collecting tests/examples/conda-and-poetry/test_project_matches_template.py ―――――――――――――――――――――――――――
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/runner.py:338: in from_call
    result: Optional[TResult] = func()
        cls        = <class '_pytest.runner.CallInfo'>
        duration   = 0.00011304198415018618
        excinfo    = <ExceptionInfo ImportPathMismatchError('test_project_matches_template', '/Volumes/src with spaces/batteries-forking-in...src with spaces/batteries-forking-included/tests/examples/conda-and-poetry/test_project_matches_template.py')) tblen=4>
        func       = <function pytest_make_collect_report.<locals>.<lambda> at 0x10508d990>
        precise_start = 235562.393913333
        precise_stop = 235562.394026375
        reraise    = None
        result     = None
        start      = 1657665319.80064
        stop       = 1657665319.8007538
        when       = 'collect'
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/runner.py:369: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
        collector  = <DoctestModule test_project_matches_template.py>
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/doctest.py:545: in collect
    module = import_path(self.path, root=self.config.rootpath)
        MockAwareDocTestFinder = <class '_pytest.doctest.DoctestModule.collect.<locals>.MockAwareDocTestFinder'>
        doctest    = <module 'doctest' from '/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/doctest.py'>
        self       = <DoctestModule test_project_matches_template.py>
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/pathlib.py:556: in import_path
    raise ImportPathMismatchError(module_name, module_file, path)
E   _pytest.pathlib.ImportPathMismatchError: ('test_project_matches_template', '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py', PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-poetry/test_project_matches_template.py'))
        ignore     = ''
        is_same    = False
        mod        = <module 'test_project_matches_template' from '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py'>
        mode       = <ImportMode.prepend: 'prepend'>
        module_file = '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py'
        module_name = 'test_project_matches_template'
        p          = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-poetry/test_project_matches_template.py')
        path       = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-poetry/test_project_matches_template.py')
        pkg_path   = None
        pkg_root   = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-poetry')
        root       = PosixPath('/Volumes/src with spaces/batteries-forking-included')

―――――――――――――――――――――――――――――― ERROR collecting tests/examples/conda-only/test_project_matches_template.py ――――――――――――――――――――――――――――――
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/runner.py:338: in from_call
    result: Optional[TResult] = func()
        cls        = <class '_pytest.runner.CallInfo'>
        duration   = 8.266599616035819e-05
        excinfo    = <ExceptionInfo ImportPathMismatchError('test_project_matches_template', '/Volumes/src with spaces/batteries-forking-in...lumes/src with spaces/batteries-forking-included/tests/examples/conda-only/test_project_matches_template.py')) tblen=4>
        func       = <function pytest_make_collect_report.<locals>.<lambda> at 0x1051328c0>
        precise_start = 235562.485605625
        precise_stop = 235562.485688291
        reraise    = None
        result     = None
        start      = 1657665319.892334
        stop       = 1657665319.892417
        when       = 'collect'
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/runner.py:369: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
        collector  = <DoctestModule test_project_matches_template.py>
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/doctest.py:545: in collect
    module = import_path(self.path, root=self.config.rootpath)
        MockAwareDocTestFinder = <class '_pytest.doctest.DoctestModule.collect.<locals>.MockAwareDocTestFinder'>
        doctest    = <module 'doctest' from '/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/doctest.py'>
        self       = <DoctestModule test_project_matches_template.py>
/opt/conda/miniforge/envs/batteries-forking-included/lib/python3.10/site-packages/_pytest/pathlib.py:556: in import_path
    raise ImportPathMismatchError(module_name, module_file, path)
E   _pytest.pathlib.ImportPathMismatchError: ('test_project_matches_template', '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py', PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-only/test_project_matches_template.py'))
        ignore     = ''
        is_same    = False
        mod        = <module 'test_project_matches_template' from '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py'>
        mode       = <ImportMode.prepend: 'prepend'>
        module_file = '/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-and-pip/test_project_matches_template.py'
        module_name = 'test_project_matches_template'
        p          = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-only/test_project_matches_template.py')
        path       = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-only/test_project_matches_template.py')
        pkg_path   = None
        pkg_root   = PosixPath('/Volumes/src with spaces/batteries-forking-included/tests/examples/conda-only')
        root       = PosixPath('/Volumes/src with spaces/batteries-forking-included')

<Package tests>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda-and-pip>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda-and-poetry>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda-only>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package batteries_forking_included>
  <Module test___impl.py>
    tests/src/batteries_forking_included/test___impl.py (batteries-forking-included)
    <Class Test___main>
      Tests loading the test suite.
      <Function test___main>
        Tests that the library cannot be invoked directly.
      <Function test___main__shell_invocation>
        Tests that the library cannot be invoked directly.
    <Class Test_bfiSubcommand>
      Test bfi subcommand functions.
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-None-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-None-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-None-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-None-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-None-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-None-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-None-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-None-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args3-1]>
        _summary_
    <Class Test_getVersionNumber>
      Test getVersionNumber function.
      <Function test_getVersionNumber_importlib>
        Test getVersionNumber via importlib.
      <Function test_getVersionNumber_pyproject_toml>
        Test getVersionNumber via pyproject.toml.
      <Function test_getVersionNumber_UNKNOWN>
        Test getVersionNumber via pyproject.toml.
      <Function test_getVersionNumber_BFI_VERSION>
        Test getVersionNumber via pyproject.toml.
    <Class Test__bfiExecute>
      Test _bfiExecute function.
      <Function test__bfiExecute[None-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[None-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args1-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args1-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args2-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args2-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args3-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args3-1]>
        Test _bfiExecute with no args that returns 0.
  <Module test___main__.py>
    tests/src/batteries_forking_included/test___main__.py (batteries-forking-included)
    <Class Test_CommandLine>
      Invoke via command line.
      <Function test_CommandLine_Version_FromRepoRoot>
        Invoke from repo root.
      <Function test_CommandLine_Version_FromSrc>
        Invoked from src dir.
      <Function test_CommandLine_Version_FromSrcMod>
        Invoked from it's own dir.
      <Function test_CommandLine_Version_FromHome>
        Invoked from home dir.
      <Function test_CommandLine_RunEchoFoo_FromRepoRoot>
        Invoke from repo root.
    <Class Test___main>
      _summary_
      <Function test___main[extra_args0-0-batteries_forking_included_bfiBootstrap]>
        _summary_
      <Function test___main[extra_args1-0-batteries_forking_included_bfiBootstrap]>
        _summary_
      <Function test___main[extra_args2-0-batteries_forking_included_bfiInit]>
        _summary_
      <Function test___main[extra_args3-0-batteries_forking_included_bfiInit]>
        _summary_
      <Function test___main[extra_args4-0-batteries_forking_included_bfiUpdate]>
        _summary_
      <Function test___main[extra_args5-0-batteries_forking_included_bfiUpdate]>
        _summary_
      <Function test___main[extra_args6-0-batteries_forking_included_bfiRun]>
        _summary_
      <Function test___main[extra_args7-0-batteries_forking_included_bfiRun]>
        _summary_
      <Function test___main[extra_args8-0-batteries_forking_included_bfiRun]>
        _summary_
<Package bin>
  <Module test_bin.py>
    tests/bin/test_batteries_dash_forking_dash_included.py (batteries-forking-included)
    <Class Test_CommandLine>
      Invoke via command line.
      <Function test_commandLine_noArgs[extra_args0-2-expected_stdout0-not_expected_stdout0]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args1-0-expected_stdout1-not_expected_stdout1]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args2-0-expected_stdout2-not_expected_stdout2]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args3-0-expected_stdout3-not_expected_stdout3]>
        Invoke command line with no args.

---------- generated html file: file:///Volumes/src with spaces/batteries-forking-included/.reports/test-report-coverage.html -----------

---------- coverage: platform darwin, python 3.10.5-final-0 ----------
Name                                                               Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------------------------------------------------
src/batteries_forking_included/__impl.py                              66     45     12      1    28%   77-81, 98-110, 125-129, 145-149, 159-175, 197-205, 222-224, 233-234
src/batteries_forking_included/__init__.py                             1      0      0      0   100%
src/batteries_forking_included/__main__.py                            54     31      6      1    43%   88-91, 111-114, 133-136, 154-157, 177-233, 248-249, 258
src/batteries_forking_included/bin/batteries-forking-included.py      25      4      4      2    79%   120->125, 174-179, 188-189
tests/__init__.py                                                      0      0      0      0   100%
tests/conftest.py                                                      1      0      0      0   100%
tests/examples/__init__.py                                             0      0      0      0   100%
tests/examples/conda-and-pip/__init__.py                               0      0      0      0   100%
tests/examples/conda-and-pip/test_project_matches_template.py         55     42     28      0    16%   71-80, 88-132
tests/examples/conda-and-poetry/__init__.py                            0      0      0      0   100%
tests/examples/conda-and-poetry/test_project_matches_template.py      55     42     28      0    16%   71-80, 88-132
tests/examples/conda-only/__init__.py                                  0      0      0      0   100%
tests/examples/conda-only/test_project_matches_template.py            55     42     28      0    16%   71-80, 88-132
tests/src/__init__.py                                                  0      0      0      0   100%
tests/src/batteries_forking_included/__init__.py                       0      0      0      0   100%
tests/src/batteries_forking_included/bin/__init__.py                   0      0      0      0   100%
tests/src/batteries_forking_included/bin/test_bin.py                  17      9      8      0    40%   108-119
tests/src/batteries_forking_included/test___impl.py                   91     65     18      0    31%   107-108, 115-123, 174-205, 230-233, 243-257, 267-289, 299-323, 363-390
tests/src/batteries_forking_included/test___main__.py                 48     33      4      0    37%   66-82, 89-104, 111-121, 128-143, 150-168, 243-262
tests/test_project_matches_template.py                                55     42     28      0    16%   71-80, 88-132
--------------------------------------------------------------------------------------------------------------
TOTAL                                                                523    355    164      4    27%
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml

======================================================== short test summary info ========================================================
FAILED tests/examples/conda-and-poetry/test_project_matches_template.py - _pytest.pathlib.ImportPathMismatchError: ('test_project_matc...
FAILED tests/examples/conda-only/test_project_matches_template.py - _pytest.pathlib.ImportPathMismatchError: ('test_project_matches_te...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Results (0.78s):

dashes changed to underscores success:

pytest --collect-only                   (4603064|✚1⚑1)
Test session starts (platform: darwin, Python 3.10.5, pytest 7.1.2, pytest-sugar 0.9.4)
cachedir: .pytest_cache
rootdir: /Volumes/src with spaces/batteries-forking-included, configfile: pyproject.toml, testpaths: .
plugins: sugar-0.9.4, html-3.1.1, subprocess-1.4.1, typeguard-2.13.3, cov-3.0.0
collecting ...
<Package tests>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda_and_pip>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda_and_poetry>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package conda_only>
  <Module test_project_matches_template.py>
    tests/test_batteries_forking_included.py (batteries-forking-included)
    <Function test_files_match__general>
      Test if files in repo root and src/bfi/template match (not post_bootstrap.sh).
    <Function test_files_match__post_bootstrap>
      Test if post_bootstrap.sh in repo root and src/bfi/template match.
<Package batteries_forking_included>
  <Module test___impl.py>
    tests/src/batteries_forking_included/test___impl.py (batteries-forking-included)
    <Class Test___main>
      Tests loading the test suite.
      <Function test___main>
        Tests that the library cannot be invoked directly.
      <Function test___main__shell_invocation>
        Tests that the library cannot be invoked directly.
    <Class Test_bfiSubcommand>
      Test bfi subcommand functions.
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-None-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-None-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bootstrap.sh-bfiBootstrap-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-None-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-None-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiInit-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-None-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-None-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[run.sh-bfiRun-input_args3-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-None-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-None-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args1-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args1-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args2-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args2-1]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args3-0]>
        _summary_
      <Function test_bfiSubcommand[bfi-update.sh-bfiUpdate-input_args3-1]>
        _summary_
    <Class Test_getVersionNumber>
      Test getVersionNumber function.
      <Function test_getVersionNumber_importlib>
        Test getVersionNumber via importlib.
      <Function test_getVersionNumber_pyproject_toml>
        Test getVersionNumber via pyproject.toml.
      <Function test_getVersionNumber_UNKNOWN>
        Test getVersionNumber via pyproject.toml.
      <Function test_getVersionNumber_BFI_VERSION>
        Test getVersionNumber via pyproject.toml.
    <Class Test__bfiExecute>
      Test _bfiExecute function.
      <Function test__bfiExecute[None-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[None-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args1-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args1-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args2-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args2-1]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args3-0]>
        Test _bfiExecute with no args that returns 0.
      <Function test__bfiExecute[input_args3-1]>
        Test _bfiExecute with no args that returns 0.
  <Module test___main__.py>
    tests/src/batteries_forking_included/test___main__.py (batteries-forking-included)
    <Class Test_CommandLine>
      Invoke via command line.
      <Function test_CommandLine_Version_FromRepoRoot>
        Invoke from repo root.
      <Function test_CommandLine_Version_FromSrc>
        Invoked from src dir.
      <Function test_CommandLine_Version_FromSrcMod>
        Invoked from it's own dir.
      <Function test_CommandLine_Version_FromHome>
        Invoked from home dir.
      <Function test_CommandLine_RunEchoFoo_FromRepoRoot>
        Invoke from repo root.
    <Class Test___main>
      _summary_
      <Function test___main[extra_args0-0-batteries_forking_included_bfiBootstrap]>
        _summary_
      <Function test___main[extra_args1-0-batteries_forking_included_bfiBootstrap]>
        _summary_
      <Function test___main[extra_args2-0-batteries_forking_included_bfiInit]>
        _summary_
      <Function test___main[extra_args3-0-batteries_forking_included_bfiInit]>
        _summary_
      <Function test___main[extra_args4-0-batteries_forking_included_bfiUpdate]>
        _summary_
      <Function test___main[extra_args5-0-batteries_forking_included_bfiUpdate]>
        _summary_
      <Function test___main[extra_args6-0-batteries_forking_included_bfiRun]>
        _summary_
      <Function test___main[extra_args7-0-batteries_forking_included_bfiRun]>
        _summary_
      <Function test___main[extra_args8-0-batteries_forking_included_bfiRun]>
        _summary_
<Package bin>
  <Module test_bin.py>
    tests/bin/test_batteries_dash_forking_dash_included.py (batteries-forking-included)
    <Class Test_CommandLine>
      Invoke via command line.
      <Function test_commandLine_noArgs[extra_args0-2-expected_stdout0-not_expected_stdout0]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args1-0-expected_stdout1-not_expected_stdout1]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args2-0-expected_stdout2-not_expected_stdout2]>
        Invoke command line with no args.
      <Function test_commandLine_noArgs[extra_args3-0-expected_stdout3-not_expected_stdout3]>
        Invoke command line with no args.

---------- generated html file: file:///Volumes/src with spaces/batteries-forking-included/.reports/test-report-coverage.html -----------

---------- coverage: platform darwin, python 3.10.5-final-0 ----------
Name                                                               Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------------------------------------------------
src/batteries_forking_included/__impl.py                              66     45     12      1    28%   77-81, 98-110, 125-129, 145-149, 159-175, 197-205, 222-224, 233-234
src/batteries_forking_included/__init__.py                             1      0      0      0   100%
src/batteries_forking_included/__main__.py                            54     31      6      1    43%   88-91, 111-114, 133-136, 154-157, 177-233, 248-249, 258
src/batteries_forking_included/bin/batteries-forking-included.py      25      4      4      2    79%   120->125, 174-179, 188-189
tests/__init__.py                                                      0      0      0      0   100%
tests/conftest.py                                                      1      0      0      0   100%
tests/examples/__init__.py                                             0      0      0      0   100%
tests/examples/conda_and_pip/__init__.py                               0      0      0      0   100%
tests/examples/conda_and_pip/test_project_matches_template.py         55     42     28      0    16%   71-80, 88-132
tests/examples/conda_and_poetry/__init__.py                            0      0      0      0   100%
tests/examples/conda_and_poetry/test_project_matches_template.py      55     42     28      0    16%   71-80, 88-132
tests/examples/conda_only/__init__.py                                  0      0      0      0   100%
tests/examples/conda_only/test_project_matches_template.py            55     42     28      0    16%   71-80, 88-132
tests/src/__init__.py                                                  0      0      0      0   100%
tests/src/batteries_forking_included/__init__.py                       0      0      0      0   100%
tests/src/batteries_forking_included/bin/__init__.py                   0      0      0      0   100%
tests/src/batteries_forking_included/bin/test_bin.py                  17      9      8      0    40%   108-119
tests/src/batteries_forking_included/test___impl.py                   91     65     18      0    31%   107-108, 115-123, 174-205, 230-233, 243-257, 267-289, 299-323, 363-390
tests/src/batteries_forking_included/test___main__.py                 48     33      4      0    37%   66-82, 89-104, 111-121, 128-143, 150-168, 243-262
tests/test_project_matches_template.py                                55     42     28      0    16%   71-80, 88-132
--------------------------------------------------------------------------------------------------------------
TOTAL                                                                523    355    164      4    27%
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml

Results (0.63s):
nicoddemus commented 2 years ago

Thanks @MarximusMaximus.

Can you close the issue then please?

MarximusMaximus commented 2 years ago

Sure.

nicoddemus commented 2 years ago

Thanks!