From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:59244) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiUof-0007zP-KO for qemu-devel@nongnu.org; Wed, 04 Jan 2012 12:39:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiUoe-0002O3-4G for qemu-devel@nongnu.org; Wed, 04 Jan 2012 12:39:57 -0500 Received: from e06smtp18.uk.ibm.com ([195.75.94.114]:59809) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiUod-0002Nc-Qf for qemu-devel@nongnu.org; Wed, 04 Jan 2012 12:39:56 -0500 Received: from /spool/local by e06smtp18.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 4 Jan 2012 17:39:54 -0000 Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by d06nrmr1307.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q04HdYrT2666676 for ; Wed, 4 Jan 2012 17:39:34 GMT Received: from d06av09.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q04HdYGW021601 for ; Wed, 4 Jan 2012 10:39:34 -0700 From: Stefan Hajnoczi Date: Wed, 4 Jan 2012 17:38:21 +0000 Message-Id: <1325698703-15370-2-git-send-email-stefanha@linux.vnet.ibm.com> In-Reply-To: <1325698703-15370-1-git-send-email-stefanha@linux.vnet.ibm.com> References: <1325698703-15370-1-git-send-email-stefanha@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 1/3] qerror: add check-qerror.sh to verify alphabetical order List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi , Luiz Capitulino We're supposed to keep qerror definitions and table entries in alphabetical order. In practice this is not checked. I haven't found a nice way to integrate this into the makefile yet but we can at least have this script which verifies that qerrors are in alphabetical order. Signed-off-by: Stefan Hajnoczi --- qerror.c | 3 +-- qerror.h | 2 +- scripts/check-qerror.sh | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100755 scripts/check-qerror.sh diff --git a/qerror.c b/qerror.c index 9a75d06..62c0c707 100644 --- a/qerror.c +++ b/qerror.c @@ -40,8 +40,7 @@ static const QType qerror_type = { * "running out of foo: %(foo)%%" * * Please keep the entries in alphabetical order. - * Use "sed -n '/^static.*qerror_table\[\]/,/^};/s/QERR_/&/gp' qerror.c | sort -c" - * to check. + * Use scripts/check-qerror.sh to check. */ static const QErrorStringTable qerror_table[] = { { diff --git a/qerror.h b/qerror.h index efda232..36e0343 100644 --- a/qerror.h +++ b/qerror.h @@ -49,7 +49,7 @@ QError *qobject_to_qerror(const QObject *obj); /* * QError class list * Please keep the definitions in alphabetical order. - * Use "grep '^#define QERR_' qerror.h | sort -c" to check. + * Use scripts/check-qerror.sh to check. */ #define QERR_BAD_BUS_FOR_DEVICE \ "{ 'class': 'BadBusForDevice', 'data': { 'device': %s, 'bad_bus_type': %s } }" diff --git a/scripts/check-qerror.sh b/scripts/check-qerror.sh new file mode 100755 index 0000000..af7fbd5 --- /dev/null +++ b/scripts/check-qerror.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# This script verifies that qerror definitions and table entries are +# alphabetically ordered. + +check_order() { + errmsg=$1 + shift + + # sort -C verifies order but does not print a message. sort -c does print a + # message. These options are both in POSIX. + if ! "$@" | sort -C; then + echo "$errmsg" + "$@" | sort -c + exit 1 + fi + return 0 +} + +check_order 'Definitions in qerror.h must be in alphabetical order:' \ + grep '^#define QERR_' qerror.h +check_order 'Entries in qerror.c:qerror_table must be in alphabetical order:' \ + sed -n '/^static.*qerror_table\[\]/,/^};/s/QERR_/&/gp' qerror.c -- 1.7.7.3