From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0A113A04DB; Fri, 16 Oct 2020 14:39:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 467A11ED9A; Fri, 16 Oct 2020 14:39:17 +0200 (CEST) Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) by dpdk.org (Postfix) with ESMTP id 7EC651D94E for ; Fri, 16 Oct 2020 14:39:14 +0200 (CEST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 49566CB9; Fri, 16 Oct 2020 08:39:12 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Fri, 16 Oct 2020 08:39:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=AbXiwwiOy4sLF 9f7Q/NEIitJC5jmAA5JII1Z9V5A3W4=; b=D+SSw9mfKJTcl5GxaeDzrc1Y+tbQ9 oHeV5ixKnsINQbVvDBEjc1pMzj42f7k0NQkC2gbB7upNy77IdTlIbcW2WZbc0vH+ npzsnbIaQcCBiFNRPRJujXDwIOcZRhdH3Rr3oZV3ev8GmMdxpgomsv1nnNZP01Gx trNNwHpr3Oq1dPcDrAob1c3+v5FTSl/XXpIccZjEeIBsEqi1lri3Ju2tDHhgZvfl P66valE4FuG45bT0uo8hmb/vGDzUu7BkqwKSEXFbkr7lK3bELObm+1/TdVXOXsq9 kPJWXixRGdAp/xdt9lEA/j7DjnaktrOwD1SP1jJJi2l4ANwJwlBmru3Pw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=AbXiwwiOy4sLF9f7Q/NEIitJC5jmAA5JII1Z9V5A3W4=; b=hd+JUNMZ pCqlgIndtR2pDClvsU0RJQQx6u2JiSoC1hixm30252dESC3FzpRCijmQbqWfk7s9 kmYCWZBVOcnljPRg8vrQumgQKz/Y06GR3j/qRO/S/EE1rSxu+Z3gauQKMhzyk/Z8 A8w8Q49nt3a5PAUptRa3wzAeyP+v3/iOyXz5bp7J6UhX5cV+J1sM7C7pF1ozcbHy pgSIJmfP4DMzzfPIlFDwb0NJNOMmekuo4GCMIlmKNn3zGhMaswG7qTZaYGpS0fGY kCUpEJVcXnOe8/1LYZA4ltyeq+kfs99Qt4RlH6v5NpfNT1zpN/8LSomaln93im8E Rg1X5I3Hc8ESMg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrieehgdehhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffojghfggfgsedtkeertd ertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehm ohhnjhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepudevtdduleduhfeuiedvvd fgvefgtdduudeikeehtdeliedttdeiieelgfetfedunecuffhomhgrihhnpehrvggrught hhgvughotghsrdhiohenucfkphepjeejrddufeegrddvtdefrddukeegnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhn jhgrlhhonhdrnhgvth X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id C1807328005E; Fri, 16 Oct 2020 08:39:10 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: david.marchand@redhat.com, bruce.richardson@intel.com Date: Fri, 16 Oct 2020 14:39:06 +0200 Message-Id: <20201016123906.3027007-1-thomas@monjalon.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201016033955.2566518-1-thomas@monjalon.net> References: <20201016033955.2566518-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2] doc: make sphinx errors more visible X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When running Sphinx through ninja, the wrapper configured in meson redirects stdout to a log file. It makes more important to print issues on stderr. Some warnings generated by the conf.py were hidden because printed on stdout. The first improvement is to print them on stderr. The second measure is to stop processing if meson was configured with --werror. Signed-off-by: Thomas Monjalon --- v2: check -W option directly from Sphinx argv --- doc/guides/conf.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/doc/guides/conf.py b/doc/guides/conf.py index 2ffe5a5969..9de490e1c4 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -12,6 +12,7 @@ from os.path import basename from os.path import dirname from os.path import join as path_join +from sys import argv, stderr import configparser @@ -22,9 +23,12 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] except: print('Install the sphinx ReadTheDocs theme for improved html documentation ' - 'layout: https://sphinx-rtd-theme.readthedocs.io/') + 'layout: https://sphinx-rtd-theme.readthedocs.io/', + file=stderr) pass +stop_on_error = ('-W' in argv) + project = 'Data Plane Development Kit' html_logo = '../logo/DPDK_logo_vertical_rev_small.png' latex_logo = '../logo/DPDK_logo_horizontal_tag.png' @@ -217,7 +221,10 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl if not config.has_section(section): print("{}: File '{}' has no [{}] secton".format(warning, ini_filename, - section)) + section), + file=stderr) + if stop_on_error: + raise Exception('Warning is treated as a failure') continue # Check for valid features names. @@ -225,7 +232,10 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl if name not in valid_features: print("{}: Unknown feature '{}' in '{}'".format(warning, name, - ini_filename)) + ini_filename), + file=stderr) + if stop_on_error: + raise Exception('Warning is treated as a failure') continue if value: @@ -418,7 +428,8 @@ def setup(app): if LooseVersion(sphinx_version) < LooseVersion('1.3.1'): print('Upgrade sphinx to version >= 1.3.1 for ' - 'improved Figure/Table number handling.') + 'improved Figure/Table number handling.', + file=stderr) # Add a role to handle :numref: references. app.add_role('numref', numref_role) # Process the numref references once the doctree has been created. -- 2.28.0