summaryrefslogtreecommitdiff
path: root/testing/test_config.py
diff options
context:
space:
mode:
authorGleb Nikonorov <gleb.i.nikonorov@gmail.com>2020-05-30 20:36:02 -0400
committerGleb Nikonorov <gleb.i.nikonorov@gmail.com>2020-05-30 20:36:02 -0400
commiteef4f87e7b9958687b6032f8475535ac0beca10f (patch)
treee17e5872be6231aa16f9228227465a1fd7e075df /testing/test_config.py
parent56bf819c2f4eaf8b36bd8c42c06bb59d5a3bfc0f (diff)
downloadpytest-eef4f87e7b9958687b6032f8475535ac0beca10f.tar.gz
Output a warning to stderr when an invalid key is read from an INI config file
Diffstat (limited to 'testing/test_config.py')
-rw-r--r--testing/test_config.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/test_config.py b/testing/test_config.py
index 17385dc17..9323e6716 100644
--- a/testing/test_config.py
+++ b/testing/test_config.py
@@ -147,6 +147,52 @@ class TestParseIni:
result = testdir.inline_run("--confcutdir=.")
assert result.ret == 0
+ @pytest.mark.parametrize(
+ "ini_file_text, invalid_keys, stderr_output",
+ [
+ (
+ """
+ [pytest]
+ unknown_ini = value1
+ another_unknown_ini = value2
+ """,
+ ["unknown_ini", "another_unknown_ini"],
+ [
+ "WARNING: unknown config ini key: unknown_ini",
+ "WARNING: unknown config ini key: another_unknown_ini",
+ ],
+ ),
+ (
+ """
+ [pytest]
+ unknown_ini = value1
+ minversion = 5.0.0
+ """,
+ ["unknown_ini"],
+ ["WARNING: unknown config ini key: unknown_ini"],
+ ),
+ (
+ """
+ [pytest]
+ minversion = 5.0.0
+ """,
+ [],
+ [],
+ ),
+ ],
+ )
+ def test_invalid_ini_keys_generate_warings(
+ self, testdir, ini_file_text, invalid_keys, stderr_output
+ ):
+ testdir.tmpdir.join("pytest.ini").write(textwrap.dedent(ini_file_text))
+ config = testdir.parseconfig()
+ assert config._get_unknown_ini_keys() == invalid_keys, str(
+ config._get_unknown_ini_keys()
+ )
+
+ result = testdir.runpytest()
+ result.stderr.fnmatch_lines(stderr_output)
+
class TestConfigCmdlineParsing:
def test_parsing_again_fails(self, testdir):