From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 25EA4A0093;
	Thu, 23 Jun 2022 18:43:06 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 50202427F1;
	Thu, 23 Jun 2022 18:43:01 +0200 (CEST)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by mails.dpdk.org (Postfix) with ESMTP id 19D4E4067B
 for <dev@dpdk.org>; Thu, 23 Jun 2022 18:42:58 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1656002579; x=1687538579;
 h=from:to:cc:subject:date:message-id:in-reply-to:
 references:mime-version:content-transfer-encoding;
 bh=hJ0cmGTh9OsXMyI5rf+157EMkILCdCaBZf9lZ5yBuAM=;
 b=Ei6rl00SEPrrvASrYJFJH/E2Q6oQuocmyhnbAS+GduSZHfmHFZVNjO/k
 wIcOwH67Cz2dJPqyb9fBDE+OoE0r4iOFPH+/tkBg5KIumGY5s8w1G2lkx
 6qcxNPWdLsFqkS8KOqelwxGD8wh48TJQPVwZruaawQ712Nyr3FZ5ZPSBX
 mD1WBYqC04VmexGMeqO27yrSTrW4WExK7E6smOQCM/+GRiOkINzZToMmu
 eznBpDEEfdFx1iVjKLHNi5WPIoxndvKPr2iwz8sIi1DvC6EhwgJ/DLCiP
 QWwnqChjDE+rVzO921emwUtzxZL0RzL5aVPjtO+XIh+UoXxXXq/OmLHHh Q==;
X-IronPort-AV: E=McAfee;i="6400,9594,10386"; a="260589072"
X-IronPort-AV: E=Sophos;i="5.92,216,1650956400"; d="scan'208";a="260589072"
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Jun 2022 09:42:57 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.92,216,1650956400"; d="scan'208";a="915267926"
Received: from silpixa00401385.ir.intel.com (HELO
 silpixa00401385.ger.corp.intel.com.) ([10.237.223.125])
 by fmsmga005.fm.intel.com with ESMTP; 23 Jun 2022 09:42:56 -0700
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: ciara.power@intel.com, fengchengwen@huawei.com, mb@smartsharesystems.com,
 Bruce Richardson <bruce.richardson@intel.com>
Subject: [RFC PATCH 1/6] test/telemetry_json: print success or failure per
 subtest
Date: Thu, 23 Jun 2022 17:42:40 +0100
Message-Id: <20220623164245.561371-2-bruce.richardson@intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220623164245.561371-1-bruce.richardson@intel.com>
References: <20220623164245.561371-1-bruce.richardson@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

rather than just printing out success or failure at the end of the test
only, print out "OK" or "ERROR" for each individual test case within the
overall test. As part of this, ensure each case returns 0 on success and
any other value on failure.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test/test_telemetry_json.c | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/app/test/test_telemetry_json.c b/app/test/test_telemetry_json.c
index 790181d316..748b7cfe5a 100644
--- a/app/test/test_telemetry_json.c
+++ b/app/test/test_telemetry_json.c
@@ -102,8 +102,10 @@ test_large_array_element(void)
 
 	used = rte_tel_json_add_array_string(buf, sizeof(buf), used, str);
 	printf("%s: buf = '%s', expected = '%s'\n", __func__, buf, expected);
+	if (used != 0)
+		return -1;
 
-	return strlen(buf) != 0;
+	return strncmp(expected, buf, sizeof(buf));
 }
 
 static int
@@ -117,20 +119,33 @@ test_large_obj_element(void)
 
 	used = rte_tel_json_add_obj_u64(buf, sizeof(buf), used, str, 0);
 	printf("%s: buf = '%s', expected = '%s'\n", __func__, buf, expected);
+	if (used != 0)
+		return -1;
 
-	return strlen(buf) != 0;
+	return strncmp(expected, buf, sizeof(buf));
 }
 
+typedef int (*test_fn)(void);
+
 static int
 test_telemetry_json(void)
 {
-	if (test_basic_array() < 0 ||
-			test_basic_obj() < 0 ||
-			test_overflow_array() < 0 ||
-			test_overflow_obj() < 0 ||
-			test_large_array_element() < 0 ||
-			test_large_obj_element() < 0)
-		return -1;
+	unsigned int i;
+	test_fn fns[] = {
+			test_basic_array,
+			test_basic_obj,
+			test_overflow_array,
+			test_overflow_obj,
+			test_large_array_element,
+			test_large_obj_element,
+	};
+	for (i = 0; i < RTE_DIM(fns); i++)
+		if (fns[i]() == 0)
+			printf("OK\n");
+		else {
+			printf("ERROR\n");
+			return -1;
+		}
 	return 0;
 }
 
-- 
2.34.1