Show invalid ini keys sorted

Otherwise this relies on the dictionary order of `config.inicfg`, which
is insertion order in py36+ but "random" order in py35.
This commit is contained in:
Bruno Oliveira 2020-06-02 16:01:47 -03:00
parent 69d2ddcf1d
commit 8ac18bbecb
2 changed files with 4 additions and 6 deletions

View File

@ -1074,7 +1074,7 @@ class Config:
)
def _validatekeys(self):
for key in self._get_unknown_ini_keys():
for key in sorted(self._get_unknown_ini_keys()):
message = "Unknown config ini key: {}\n".format(key)
if self.known_args_namespace.strict_config:
fail(message, pytrace=False)

View File

@ -158,10 +158,10 @@ class TestParseIni:
""",
["unknown_ini", "another_unknown_ini"],
[
"WARNING: Unknown config ini key: unknown_ini",
"WARNING: Unknown config ini key: another_unknown_ini",
"WARNING: Unknown config ini key: unknown_ini",
],
"Unknown config ini key: unknown_ini",
"Unknown config ini key: another_unknown_ini",
),
(
"""
@ -200,9 +200,7 @@ class TestParseIni:
):
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()
)
assert sorted(config._get_unknown_ini_keys()) == sorted(invalid_keys)
result = testdir.runpytest()
result.stderr.fnmatch_lines(stderr_output)