From 8d1ad374748e0a7788153172da70adc330ca47b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylvain=20Mari=C3=A9?= Date: Thu, 16 Dec 2021 12:38:16 +0100 Subject: [PATCH 1/2] SubConfig now catches failures and warnings Fixes #2709 --- mkdocs/config/config_options.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mkdocs/config/config_options.py b/mkdocs/config/config_options.py index 8caf16ad5e..a93893cd9f 100644 --- a/mkdocs/config/config_options.py +++ b/mkdocs/config/config_options.py @@ -59,8 +59,11 @@ def validate(self, value): return self.run_validation(value) def run_validation(self, value): - Config.validate(self) - return self + failed, self.warnings = Config.validate(self) + if len(failed) > 0: + # get the first failing one + key, err = failed[0] + raise ValidationError(f"Sub-option {key!r} configuration error: {err}") class ConfigItems(BaseConfigOption): From 60040e3ff668e045e44b0386a11776482354c77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylvain=20Mari=C3=A9?= Date: Thu, 16 Dec 2021 14:45:29 +0100 Subject: [PATCH 2/2] Update mkdocs/config/config_options.py --- mkdocs/config/config_options.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs/config/config_options.py b/mkdocs/config/config_options.py index a93893cd9f..7074947967 100644 --- a/mkdocs/config/config_options.py +++ b/mkdocs/config/config_options.py @@ -65,6 +65,8 @@ def run_validation(self, value): key, err = failed[0] raise ValidationError(f"Sub-option {key!r} configuration error: {err}") + return self + class ConfigItems(BaseConfigOption): """