DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] test_table: initialize table parameteres
@ 2015-08-17 16:58 Pablo de Lara
  2015-08-17 17:07 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: Pablo de Lara @ 2015-08-17 16:58 UTC (permalink / raw)
  To: dev

In table_autotest, the structures containing the parameters
to create the tables were not initialized, and therefore,
some checks could fail and so the unit test.

Also, due to this initialization, one of the tests that was
checking if the table was improperly initialized has been
removed, as it is not needed anymore (duplicated)

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test/test_table_tables.c | 91 ++++++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 36 deletions(-)

diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 88bebf8..566964b 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -203,8 +203,11 @@ test_table_array(void)
 	void *entry_ptr;
 	int key_found;
 
-	/* Create */
-	struct rte_table_array_params array_params;
+	/* Initialize params and create tables */
+	struct rte_table_array_params array_params = {
+		.n_entries = 7,
+		.offset = 1
+	};
 
 	table = rte_table_array_ops.f_create(NULL, 0, 1);
 	if (table != NULL)
@@ -317,8 +320,12 @@ test_table_lpm(void)
 	int key_found;
 	uint32_t entry_size = 1;
 
-	/* Create */
-	struct rte_table_lpm_params lpm_params;
+	/* Initialize params and create tables */
+	struct rte_table_lpm_params lpm_params = {
+		.n_rules = 1 << 24,
+		.entry_unique_size = entry_size,
+		.offset = 1
+	};
 
 	table = rte_table_lpm_ops.f_create(NULL, 0, entry_size);
 	if (table != NULL)
@@ -331,39 +338,33 @@ test_table_lpm(void)
 		return -2;
 
 	lpm_params.n_rules = 1 << 24;
-	lpm_params.offset = 1;
-
-	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
-	if (table != NULL)
-		return -3;
-
 	lpm_params.offset = 32;
 	lpm_params.entry_unique_size = 0;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -4;
+		return -3;
 
 	lpm_params.entry_unique_size = entry_size + 1;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -5;
+		return -4;
 
 	lpm_params.entry_unique_size = entry_size;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
-		return -6;
+		return -5;
 
 	/* Free */
 	status = rte_table_lpm_ops.f_free(table);
 	if (status < 0)
-		return -7;
+		return -6;
 
 	status = rte_table_lpm_ops.f_free(NULL);
 	if (status == 0)
-		return -8;
+		return -7;
 
 	/* Add */
 	struct rte_table_lpm_key lpm_key;
@@ -371,75 +372,75 @@ test_table_lpm(void)
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, 1);
 	if (table == NULL)
-		return -9;
+		return -8;
 
 	status = rte_table_lpm_ops.f_add(NULL, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -10;
+		return -9;
 
 	status = rte_table_lpm_ops.f_add(table, NULL, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -11;
+		return -10;
 
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, NULL, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -12;
+		return -11;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -13;
+		return -12;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -14;
+		return -13;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status != 0)
-		return -15;
+		return -14;
 
 	/* Delete */
 	status = rte_table_lpm_ops.f_delete(NULL, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -16;
+		return -15;
 
 	status = rte_table_lpm_ops.f_delete(table, NULL, &key_found, NULL);
 	if (status == 0)
-		return -17;
+		return -16;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -18;
+		return -17;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -19;
+		return -18;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -20;
+		return -19;
 
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -21;
+		return -20;
 
 	/* Traffic flow */
 	entry = 'A';
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status < 0)
-		return -22;
+		return -21;
 
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
 		if (i % 2 == 0) {
@@ -451,7 +452,7 @@ test_table_lpm(void)
 	rte_table_lpm_ops.f_lookup(table, mbufs, -1,
 		&result_mask, (void **)entries);
 	if (result_mask != expected_mask)
-		return -21;
+		return -22;
 
 	/* Free resources */
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
@@ -475,8 +476,13 @@ test_table_lpm_ipv6(void)
 	int key_found;
 	uint32_t entry_size = 1;
 
-	/* Create */
-	struct rte_table_lpm_ipv6_params lpm_params;
+	/* Initialize params and create tables */
+	struct rte_table_lpm_ipv6_params lpm_params = {
+		.n_rules = 1 << 24,
+		.number_tbl8s = 1 << 21,
+		.entry_unique_size = entry_size,
+		.offset = 32
+	};
 
 	table = rte_table_lpm_ipv6_ops.f_create(NULL, 0, entry_size);
 	if (table != NULL)
@@ -639,8 +645,14 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
 	void *entry_ptr;
 	int key_found;
 
-	/* Create */
-	struct rte_table_hash_key8_lru_params hash_params;
+	/* Initialize params and create tables */
+	struct rte_table_hash_key8_lru_params hash_params = {
+		.n_entries = 1 << 10,
+		.f_hash = pipeline_test_hash,
+		.seed = 0,
+		.signature_offset = 1,
+		.key_offset = 32
+	};
 
 	hash_params.n_entries = 0;
 
@@ -747,8 +759,15 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
 	int key_found;
 	void *entry_ptr;
 
-	/* Create */
-	struct rte_table_hash_key8_ext_params hash_params;
+	/* Initialize params and create tables */
+	struct rte_table_hash_key8_ext_params hash_params = {
+		.n_entries = 1 << 10,
+		.n_entries_ext = 1 << 4,
+		.f_hash = pipeline_test_hash,
+		.seed = 0,
+		.signature_offset = 1,
+		.key_offset = 32
+	};
 
 	hash_params.n_entries = 0;
 
-- 
2.4.2

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH] test_table: initialize table parameteres
  2015-08-17 16:58 [dpdk-dev] [PATCH] test_table: initialize table parameteres Pablo de Lara
@ 2015-08-17 17:07 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2015-08-17 17:07 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: dev

2015-08-17 17:58, Pablo de Lara:
> In table_autotest, the structures containing the parameters
> to create the tables were not initialized, and therefore,
> some checks could fail and so the unit test.
> 
> Also, due to this initialization, one of the tests that was
> checking if the table was improperly initialized has been
> removed, as it is not needed anymore (duplicated)
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-08-17 17:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-17 16:58 [dpdk-dev] [PATCH] test_table: initialize table parameteres Pablo de Lara
2015-08-17 17:07 ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).