[dpdk-dev] [PATCH v4 1/3] test/hash: replace macro with log-level approach

Dharmik Thakkar dharmik.thakkar at arm.com
Wed Feb 27 00:02:27 CET 2019


Need to set hash log type to debug to print debug information, using
following eal parameter: --log-level=test.hash:debug

Suggested-by: Thomas Monjalon <thomas at monjalon.net>
Signed-off-by: Dharmik Thakkar <dharmik.thakkar at arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
Reviewed-by: Gavin Hu <gavin.hu at arm.com>
Reviewed-by: Phil Yang <phil.yang at arm.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
v4:
 * change to dynamic logging (Stephen Hemminger)
---
v3:
 * Resolve coding style issues
---
v2:
 * Add Reviewed-by tag
---
 test/test/test_hash.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/test/test/test_hash.c b/test/test/test_hash.c
index fe607fadf262..390fbef87f42 100644
--- a/test/test/test_hash.c
+++ b/test/test/test_hash.c
@@ -69,6 +69,8 @@ struct flow_key {
 	uint8_t proto;
 } __attribute__((packed));
 
+int hash_logtype_test;
+
 /*
  * Hash function that always returns the same value, to easily test what
  * happens when a bucket is full.
@@ -80,22 +82,24 @@ static uint32_t pseudo_hash(__attribute__((unused)) const void *keys,
 	return 3;
 }
 
-#define UNIT_TEST_HASH_VERBOSE	0
+RTE_INIT(test_hash_init_log)
+{
+	hash_logtype_test = rte_log_register("test.hash");
+}
+
 /*
  * Print out result of unit test hash operation.
  */
 static void print_key_info(const char *msg, const struct flow_key *key,
 								int32_t pos)
 {
-	if (UNIT_TEST_HASH_VERBOSE) {
-		const uint8_t *p = (const uint8_t *)key;
-		unsigned int i;
-
-		printf("%s key:0x", msg);
-		for (i = 0; i < sizeof(struct flow_key); i++)
-			printf("%02X", p[i]);
-		printf(" @ pos %d\n", pos);
-	}
+	const uint8_t *p = (const uint8_t *)key;
+	unsigned int i;
+
+	rte_log(RTE_LOG_DEBUG, hash_logtype_test, "%s key:0x", msg);
+	for (i = 0; i < sizeof(struct flow_key); i++)
+		rte_log(RTE_LOG_DEBUG, hash_logtype_test, "%02X", p[i]);
+	rte_log(RTE_LOG_DEBUG, hash_logtype_test, " @ pos %d\n", pos);
 }
 
 /* Keys used by unit test functions */
-- 
2.17.1



More information about the dev mailing list