diff --git a/sphinx/application.py b/sphinx/application.py index 1c7a05357c6..641ce989305 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -1192,26 +1192,30 @@ def is_parallel_allowed(self, typ): """ if typ == 'read': attrname = 'parallel_read_safe' - message = __("the %s extension does not declare if it is safe " - "for parallel reading, assuming it isn't - please " - "ask the extension author to check and make it " - "explicit") + message_not_declared = __("the %s extension does not declare if it " + "is safe for parallel reading, assuming " + "it isn't - please ask the extension author " + "to check and make it explicit") + message_not_safe = __("the %s extension is not safe for parallel reading") elif typ == 'write': attrname = 'parallel_write_safe' - message = __("the %s extension does not declare if it is safe " - "for parallel writing, assuming it isn't - please " - "ask the extension author to check and make it " - "explicit") + message_not_declared = __("the %s extension does not declare if it " + "is safe for parallel writing, assuming " + "it isn't - please ask the extension author " + "to check and make it explicit") + message_not_safe = __("the %s extension is not safe for parallel writing") else: raise ValueError('parallel type %s is not supported' % typ) for ext in self.extensions.values(): allowed = getattr(ext, attrname, None) if allowed is None: - logger.warning(message, ext.name) + logger.warning(message_not_declared, ext.name) logger.warning(__('doing serial %s'), typ) return False elif not allowed: + logger.warning(message_not_safe, ext.name) + logger.warning(__('doing serial %s'), typ) return False return True diff --git a/tests/test_application.py b/tests/test_application.py index f10592b51c0..a268f492f45 100644 --- a/tests/test_application.py +++ b/tests/test_application.py @@ -105,6 +105,8 @@ def test_add_is_parallel_allowed(app, status, warning): app.setup_extension('read_serial') assert app.is_parallel_allowed('read') is False + assert "the read_serial extension is not safe for parallel reading" in warning.getvalue() + warning.truncate(0) # reset warnings assert app.is_parallel_allowed('write') is True assert warning.getvalue() == '' app.extensions.pop('read_serial')