Add support for .pytest.ini as an alternative to pytest.ini
Closes #9987
This commit is contained in:
parent
2cd41651bb
commit
fab696dcd1
1
AUTHORS
1
AUTHORS
|
@ -67,6 +67,7 @@ Cheuk Ting Ho
|
|||
Chris Lamb
|
||||
Chris NeJame
|
||||
Chris Rose
|
||||
Chris Wheeler
|
||||
Christian Boelsen
|
||||
Christian Fetzer
|
||||
Christian Neumüller
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Added support for hidden configuration file by allowing ``.pytest.ini`` as an alternative to ``pytest.ini``.
|
|
@ -29,9 +29,11 @@ pytest.ini
|
|||
|
||||
``pytest.ini`` files take precedence over other files, even when empty.
|
||||
|
||||
Alternatively, the hidden version ``.pytest.ini`` can be used.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
# pytest.ini
|
||||
# pytest.ini or .pytest.ini
|
||||
[pytest]
|
||||
minversion = 6.0
|
||||
addopts = -ra -q
|
||||
|
|
|
@ -1154,9 +1154,10 @@ Consult the :ref:`internal-warnings` section in the documentation for more infor
|
|||
Configuration Options
|
||||
---------------------
|
||||
|
||||
Here is a list of builtin configuration options that may be written in a ``pytest.ini``, ``pyproject.toml``, ``tox.ini`` or ``setup.cfg``
|
||||
file, usually located at the root of your repository. To see each file format in details, see
|
||||
:ref:`config file formats`.
|
||||
Here is a list of builtin configuration options that may be written in a ``pytest.ini`` (or ``.pytest.ini``),
|
||||
``pyproject.toml``, ``tox.ini``, or ``setup.cfg`` file, usually located at the root of your repository.
|
||||
|
||||
To see each file format in details, see :ref:`config file formats`.
|
||||
|
||||
.. warning::
|
||||
Usage of ``setup.cfg`` is not recommended except for very simple use cases. ``.cfg``
|
||||
|
|
|
@ -96,6 +96,7 @@ def locate_config(
|
|||
and return a tuple of (rootdir, inifile, cfg-dict)."""
|
||||
config_names = [
|
||||
"pytest.ini",
|
||||
".pytest.ini",
|
||||
"pyproject.toml",
|
||||
"tox.ini",
|
||||
"setup.cfg",
|
||||
|
|
|
@ -112,21 +112,26 @@ class TestParseIni:
|
|||
|
||||
@pytest.mark.parametrize(
|
||||
"section, name",
|
||||
[("tool:pytest", "setup.cfg"), ("pytest", "tox.ini"), ("pytest", "pytest.ini")],
|
||||
[
|
||||
("tool:pytest", "setup.cfg"),
|
||||
("pytest", "tox.ini"),
|
||||
("pytest", "pytest.ini"),
|
||||
("pytest", ".pytest.ini"),
|
||||
],
|
||||
)
|
||||
def test_ini_names(self, pytester: Pytester, name, section) -> None:
|
||||
pytester.path.joinpath(name).write_text(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
[{section}]
|
||||
minversion = 1.0
|
||||
minversion = 3.36
|
||||
""".format(
|
||||
section=section
|
||||
)
|
||||
)
|
||||
)
|
||||
config = pytester.parseconfig()
|
||||
assert config.getini("minversion") == "1.0"
|
||||
assert config.getini("minversion") == "3.36"
|
||||
|
||||
def test_pyproject_toml(self, pytester: Pytester) -> None:
|
||||
pytester.makepyprojecttoml(
|
||||
|
|
Loading…
Reference in New Issue