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): 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) message = "Unknown config ini key: {}\n".format(key)
if self.known_args_namespace.strict_config: if self.known_args_namespace.strict_config:
fail(message, pytrace=False) fail(message, pytrace=False)

View File

@ -158,10 +158,10 @@ class TestParseIni:
""", """,
["unknown_ini", "another_unknown_ini"], ["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: 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)) testdir.tmpdir.join("pytest.ini").write(textwrap.dedent(ini_file_text))
config = testdir.parseconfig() config = testdir.parseconfig()
assert config._get_unknown_ini_keys() == invalid_keys, str( assert sorted(config._get_unknown_ini_keys()) == sorted(invalid_keys)
config._get_unknown_ini_keys()
)
result = testdir.runpytest() result = testdir.runpytest()
result.stderr.fnmatch_lines(stderr_output) result.stderr.fnmatch_lines(stderr_output)