[PATCH v2 01/13] test/telemetry_json: print success or failure per subtest
Bruce Richardson
bruce.richardson at intel.com
Mon Jul 25 18:35:30 CEST 2022
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 at 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
More information about the dev
mailing list