From 378498bbd7767a2277ab6fba9e54899959a7c972 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 18 Oct 2017 14:06:54 +0200 Subject: [PATCH] Add a test for multiple config.source() errors --- tests/unit/config/test_configfiles.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py index 2159a6604..c0ba1f1ae 100644 --- a/tests/unit/config/test_configfiles.py +++ b/tests/unit/config/test_configfiles.py @@ -605,6 +605,20 @@ class TestConfigPy: assert error.text == "While setting 'foo'" assert isinstance(error.exception, configexc.NoOptionError) + def test_source_multiple_errors(self, tmpdir, confpy): + subfile = tmpdir / 'config' / 'subfile.py' + subfile.write_text("c.foo = 42", encoding='utf-8') + confpy.write("config.source('subfile.py')", "c.bar = 23") + + with pytest.raises(configexc.ConfigFileErrors) as excinfo: + configfiles.read_config_py(confpy.filename) + + errors = excinfo.value.errors + assert len(errors) == 2 + + for error in errors: + assert isinstance(error.exception, configexc.NoOptionError) + def test_source_not_found(self, confpy): confpy.write("config.source('doesnotexist.py')") error = confpy.read(error=True)