From patchwork Fri Sep 7 02:30:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 967185 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4261f30971z9s47 for ; Fri, 7 Sep 2018 12:31:23 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id D0F51E62; Fri, 7 Sep 2018 02:30:26 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 2ECB6D73 for ; Fri, 7 Sep 2018 02:30:24 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C9B0B7C7 for ; Fri, 7 Sep 2018 02:30:22 +0000 (UTC) X-Originating-IP: 173.228.112.177 Received: from sigabrt.gateway.sonic.net (173-228-112-177.dsl.dynamic.fusionbroadband.com [173.228.112.177]) (Authenticated sender: blp@ovn.org) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 735091C0003; Fri, 7 Sep 2018 02:30:20 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Thu, 6 Sep 2018 19:30:12 -0700 Message-Id: <20180907023012.12752-3-blp@ovn.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180907023012.12752-1-blp@ovn.org> References: <20180907023012.12752-1-blp@ovn.org> X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ben Pfaff Subject: [ovs-dev] [PATCH 3/3] ovsdb-data: Improve grammar in error message. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org "must have exactly one member" is much better than "must have 1 to 1 members". Signed-off-by: Ben Pfaff Acked-by: Justin Pettit --- lib/ovsdb-data.c | 13 +++++-- tests/ovsdb-condition.at | 90 ++++++++++++++++++++++++------------------------ 2 files changed, 55 insertions(+), 48 deletions(-) diff --git a/lib/ovsdb-data.c b/lib/ovsdb-data.c index 1e523f29cb87..542f79786e6a 100644 --- a/lib/ovsdb-data.c +++ b/lib/ovsdb-data.c @@ -1234,9 +1234,16 @@ ovsdb_datum_from_json__(struct ovsdb_datum *datum, n = inner->array.n; if (n < type->n_min || n > type->n_max) { - return ovsdb_syntax_error(json, NULL, "%s must have %u to " - "%u members but %"PRIuSIZE" are present", - class, type->n_min, type->n_max, n); + if (type->n_min == 1 && type->n_max == 1) { + return ovsdb_syntax_error(json, NULL, "%s must have exactly " + "one member but %"PRIuSIZE" " + "are present", class, n); + } else { + return ovsdb_syntax_error(json, NULL, "%s must have %u to " + "%u members but %"PRIuSIZE" are " + "present", + class, type->n_min, type->n_max, n); + } } datum->n = 0; diff --git a/tests/ovsdb-condition.at b/tests/ovsdb-condition.at index 4dee5f9530d5..58af7f638d23 100644 --- a/tests/ovsdb-condition.at +++ b/tests/ovsdb-condition.at @@ -157,56 +157,56 @@ test-ovsdb: syntax "["u",">",["uuid","b10d28f7-af18-4a67-9e78-2a6394516c59"]]": test-ovsdb: syntax "["u",">=",["uuid","9179ca6d-6d65-400a-b455-3ad92783a099"]]": syntax error: Type mismatch: ">=" operator may not be applied to column u of type uuid. test-ovsdb: syntax "["u","<",["uuid","ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]": syntax error: Type mismatch: "<" operator may not be applied to column u of type uuid. test-ovsdb: syntax "["u","<=",["uuid","62315898-64e0-40b9-b26f-ff74225303e6"]]": syntax error: Type mismatch: "<=" operator may not be applied to column u of type uuid. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["b",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column b of type boolean. test-ovsdb: syntax "["b",">=",["set",[]]]": syntax error: Type mismatch: ">=" operator may not be applied to column b of type boolean. test-ovsdb: syntax "["b","<",["set",[]]]": syntax error: Type mismatch: "<" operator may not be applied to column b of type boolean. test-ovsdb: syntax "["b","<=",["set",[]]]": syntax error: Type mismatch: "<=" operator may not be applied to column b of type boolean. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["b",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column b of type boolean. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["s",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column s of type string. test-ovsdb: syntax "["s",">=",["set",[]]]": syntax error: Type mismatch: ">=" operator may not be applied to column s of type string. test-ovsdb: syntax "["s","<",["set",[]]]": syntax error: Type mismatch: "<" operator may not be applied to column s of type string. test-ovsdb: syntax "["s","<=",["set",[]]]": syntax error: Type mismatch: "<=" operator may not be applied to column s of type string. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["s",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column s of type string. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["u",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column u of type uuid. test-ovsdb: syntax "["u",">=",["set",[]]]": syntax error: Type mismatch: ">=" operator may not be applied to column u of type uuid. test-ovsdb: syntax "["u","<",["set",[]]]": syntax error: Type mismatch: "<" operator may not be applied to column u of type uuid. test-ovsdb: syntax "["u","<=",["set",[]]]": syntax error: Type mismatch: "<=" operator may not be applied to column u of type uuid. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["u",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column u of type uuid. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present ]]) AT_CLEANUP @@ -335,16 +335,16 @@ test-ovsdb: syntax "["u",">",["uuid","b10d28f7-af18-4a67-9e78-2a6394516c59"]]": test-ovsdb: syntax "["u",">=",["uuid","9179ca6d-6d65-400a-b455-3ad92783a099"]]": syntax error: Type mismatch: ">=" operator may not be applied to column u of type set of up to 1 uuids. test-ovsdb: syntax "["u","<",["uuid","ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]": syntax error: Type mismatch: "<" operator may not be applied to column u of type set of up to 1 uuids. test-ovsdb: syntax "["u","<=",["uuid","62315898-64e0-40b9-b26f-ff74225303e6"]]": syntax error: Type mismatch: "<=" operator may not be applied to column u of type set of up to 1 uuids. -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present -test-ovsdb: syntax "["set",[]]": syntax error: set must have 1 to 1 members but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present +test-ovsdb: syntax "["set",[]]": syntax error: set must have exactly one member but 0 are present test-ovsdb: syntax "["b",">",["set",[]]]": syntax error: Type mismatch: ">" operator may not be applied to column b of type set of up to 1 booleans. test-ovsdb: syntax "["b",">=",["set",[]]]": syntax error: Type mismatch: ">=" operator may not be applied to column b of type set of up to 1 booleans. test-ovsdb: syntax "["b","<",["set",[]]]": syntax error: Type mismatch: "<" operator may not be applied to column b of type set of up to 1 booleans.