diff options
Diffstat (limited to 'test/test')
-rw-r--r-- | test/test/test_acl.h | 18 | ||||
-rw-r--r-- | test/test/test_bitmap.c | 18 | ||||
-rw-r--r-- | test/test/test_common.c | 32 | ||||
-rw-r--r-- | test/test/test_cryptodev.c | 6 | ||||
-rw-r--r-- | test/test/test_eventdev.c | 21 | ||||
-rw-r--r-- | test/test/test_hash.c | 24 | ||||
-rw-r--r-- | test/test/test_hash_perf.c | 3 | ||||
-rw-r--r-- | test/test/test_pmd_ring_perf.c | 8 | ||||
-rw-r--r-- | test/test/test_reorder.c | 2 |
9 files changed, 97 insertions, 35 deletions
diff --git a/test/test/test_acl.h b/test/test/test_acl.h index 421f3109..6f5c485a 100644 --- a/test/test/test_acl.h +++ b/test/test/test_acl.h @@ -109,34 +109,40 @@ enum { struct rte_acl_ipv4vlan_rule invalid_layout_rules[] = { /* test src and dst address */ { - .data = {.userdata = 1, .category_mask = 1}, + .data = {.userdata = 1, .category_mask = 1, + .priority = 1}, .src_addr = IPv4(10,0,0,0), .src_mask_len = 24, }, { - .data = {.userdata = 2, .category_mask = 1}, + .data = {.userdata = 2, .category_mask = 1, + .priority = 1}, .dst_addr = IPv4(10,0,0,0), .dst_mask_len = 24, }, /* test src and dst ports */ { - .data = {.userdata = 3, .category_mask = 1}, + .data = {.userdata = 3, .category_mask = 1, + .priority = 1}, .dst_port_low = 100, .dst_port_high = 100, }, { - .data = {.userdata = 4, .category_mask = 1}, + .data = {.userdata = 4, .category_mask = 1, + .priority = 1}, .src_port_low = 100, .src_port_high = 100, }, /* test proto */ { - .data = {.userdata = 5, .category_mask = 1}, + .data = {.userdata = 5, .category_mask = 1, + .priority = 1}, .proto = 0xf, .proto_mask = 0xf }, { - .data = {.userdata = 6, .category_mask = 1}, + .data = {.userdata = 6, .category_mask = 1, + .priority = 1}, .dst_port_low = 0xf, .dst_port_high = 0xf, } diff --git a/test/test/test_bitmap.c b/test/test/test_bitmap.c index 7045d332..e8c3a780 100644 --- a/test/test/test_bitmap.c +++ b/test/test/test_bitmap.c @@ -129,6 +129,7 @@ test_bitmap_slab_set_get(struct rte_bitmap *bmp) static int test_bitmap_set_get_clear(struct rte_bitmap *bmp) { + uint64_t val; int i; rte_bitmap_reset(bmp); @@ -152,6 +153,23 @@ test_bitmap_set_get_clear(struct rte_bitmap *bmp) } } + rte_bitmap_reset(bmp); + + /* Alternate slab set test */ + for (i = 0; i < MAX_BITS; i++) { + if (i % RTE_BITMAP_SLAB_BIT_SIZE) + rte_bitmap_set(bmp, i); + } + + for (i = 0; i < MAX_BITS; i++) { + val = rte_bitmap_get(bmp, i); + if (((i % RTE_BITMAP_SLAB_BIT_SIZE) && !val) || + (!(i % RTE_BITMAP_SLAB_BIT_SIZE) && val)) { + printf("Failed to get set bit.\n"); + return TEST_FAILED; + } + } + return TEST_SUCCESS; } diff --git a/test/test/test_common.c b/test/test/test_common.c index ae3482da..da2ff75b 100644 --- a/test/test/test_common.c +++ b/test/test/test_common.c @@ -180,6 +180,37 @@ test_log2(void) } static int +test_fls(void) +{ + struct fls_test_vector { + uint32_t arg; + int rc; + }; + int expected, rc; + uint32_t i, arg; + + const struct fls_test_vector test[] = { + {0x0, 0}, + {0x1, 1}, + {0x4000, 15}, + {0x80000000, 32}, + }; + + for (i = 0; i < RTE_DIM(test); i++) { + arg = test[i].arg; + rc = rte_fls_u32(arg); + expected = test[i].rc; + if (rc != expected) { + printf("Wrong rte_fls_u32(0x%x) rc=%d, expected=%d\n", + arg, rc, expected); + return TEST_FAILED; + } + } + + return 0; +} + +static int test_common(void) { int ret = 0; @@ -187,6 +218,7 @@ test_common(void) ret |= test_macros(0); ret |= test_misc(); ret |= test_log2(); + ret |= test_fls(); return ret; } diff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c index 28f982f4..5136daf9 100644 --- a/test/test/test_cryptodev.c +++ b/test/test/test_cryptodev.c @@ -608,7 +608,7 @@ test_device_configure_invalid_queue_pair_ids(void) /* valid - max value queue pairs */ - ts_params->conf.nb_queue_pairs = MAX_NUM_QPS_PER_QAT_DEVICE; + ts_params->conf.nb_queue_pairs = orig_nb_qps; TEST_ASSERT_SUCCESS(rte_cryptodev_configure(ts_params->valid_devs[0], &ts_params->conf), @@ -640,7 +640,7 @@ test_device_configure_invalid_queue_pair_ids(void) /* invalid - max value + 1 queue pairs */ - ts_params->conf.nb_queue_pairs = MAX_NUM_QPS_PER_QAT_DEVICE + 1; + ts_params->conf.nb_queue_pairs = orig_nb_qps + 1; TEST_ASSERT_FAIL(rte_cryptodev_configure(ts_params->valid_devs[0], &ts_params->conf), @@ -792,7 +792,7 @@ test_queue_pair_descriptor_setup(void) /* test invalid queue pair id */ qp_conf.nb_descriptors = DEFAULT_NUM_OPS_INFLIGHT; /*valid */ - qp_id = DEFAULT_NUM_QPS_PER_QAT_DEVICE; /*invalid */ + qp_id = ts_params->conf.nb_queue_pairs; /*invalid */ TEST_ASSERT_FAIL(rte_cryptodev_queue_pair_setup( ts_params->valid_devs[0], diff --git a/test/test/test_eventdev.c b/test/test/test_eventdev.c index 1ed2a1dd..d51f94c3 100644 --- a/test/test/test_eventdev.c +++ b/test/test/test_eventdev.c @@ -218,15 +218,18 @@ test_eventdev_configure(void) "Config negative test failed"); TEST_ASSERT_EQUAL(-EINVAL, test_ethdev_config_run(&dev_conf, &info, max_event_queue_flows), - "Config negative test failed"); - TEST_ASSERT_EQUAL(-EINVAL, - test_ethdev_config_run(&dev_conf, &info, - max_event_port_dequeue_depth), - "Config negative test failed"); - TEST_ASSERT_EQUAL(-EINVAL, - test_ethdev_config_run(&dev_conf, &info, - max_event_port_enqueue_depth), - "Config negative test failed"); + "Config negative test failed"); + + if (info.event_dev_cap & RTE_EVENT_DEV_CAP_BURST_MODE) { + TEST_ASSERT_EQUAL(-EINVAL, + test_ethdev_config_run(&dev_conf, &info, + max_event_port_dequeue_depth), + "Config negative test failed"); + TEST_ASSERT_EQUAL(-EINVAL, + test_ethdev_config_run(&dev_conf, &info, + max_event_port_enqueue_depth), + "Config negative test failed"); + } /* Positive case */ devconf_set_default_sane_values(&dev_conf, &info); diff --git a/test/test/test_hash.c b/test/test/test_hash.c index 4668cf1a..2218142a 100644 --- a/test/test/test_hash.c +++ b/test/test/test_hash.c @@ -109,29 +109,23 @@ static uint32_t pseudo_hash(__attribute__((unused)) const void *keys, return 3; } +#define UNIT_TEST_HASH_VERBOSE 0 /* * Print out result of unit test hash operation. */ -#if defined(UNIT_TEST_HASH_VERBOSE) static void print_key_info(const char *msg, const struct flow_key *key, int32_t pos) { - uint8_t *p = (uint8_t *)key; - unsigned i; - - printf("%s key:0x", msg); - for (i = 0; i < sizeof(struct flow_key); i++) { - printf("%02X", p[i]); + 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); } - printf(" @ pos %d\n", pos); -} -#else -static void print_key_info(__attribute__((unused)) const char *msg, - __attribute__((unused)) const struct flow_key *key, - __attribute__((unused)) int32_t pos) -{ } -#endif /* Keys used by unit test functions */ static struct flow_key keys[5] = { { diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c index c0051b20..b0514b10 100644 --- a/test/test/test_hash_perf.c +++ b/test/test/test_hash_perf.c @@ -49,7 +49,8 @@ #define MAX_ENTRIES (1 << 19) #define KEYS_TO_ADD (MAX_ENTRIES * 3 / 4) /* 75% table utilization */ #define NUM_LOOKUPS (KEYS_TO_ADD * 5) /* Loop among keys added, several times */ -#define BUCKET_SIZE 4 +/* BUCKET_SIZE should be same as RTE_HASH_BUCKET_ENTRIES in rte_hash library */ +#define BUCKET_SIZE 8 #define NUM_BUCKETS (MAX_ENTRIES / BUCKET_SIZE) #define MAX_KEYSIZE 64 #define NUM_KEYSIZES 10 diff --git a/test/test/test_pmd_ring_perf.c b/test/test/test_pmd_ring_perf.c index 8e9cd331..e4467668 100644 --- a/test/test/test_pmd_ring_perf.c +++ b/test/test/test_pmd_ring_perf.c @@ -39,6 +39,7 @@ #include <rte_launch.h> #include <rte_ethdev.h> #include <rte_eth_ring.h> +#include <rte_bus_vdev.h> #include "test.h" @@ -164,6 +165,8 @@ test_bulk_enqueue_dequeue(void) static int test_ring_pmd_perf(void) { + char name[RTE_ETH_NAME_MAX_LEN]; + r = rte_ring_create(RING_NAME, RING_SIZE, rte_socket_id(), RING_F_SP_ENQ|RING_F_SC_DEQ); if (r == NULL && (r = rte_ring_lookup(RING_NAME)) == NULL) @@ -180,6 +183,11 @@ test_ring_pmd_perf(void) printf("\n### Testing using a single lcore ###\n"); test_bulk_enqueue_dequeue(); + /* release port and ring resources */ + rte_eth_dev_stop(ring_ethdev_port); + rte_eth_dev_get_name_by_port(ring_ethdev_port, name); + rte_vdev_uninit(name); + rte_ring_free(r); return 0; } diff --git a/test/test/test_reorder.c b/test/test/test_reorder.c index 6f2c2306..d5f9d229 100644 --- a/test/test/test_reorder.c +++ b/test/test/test_reorder.c @@ -298,7 +298,7 @@ test_reorder_drain(void) goto exit; } if (robufs[0] != NULL) - rte_pktmbuf_free(robufs[i]); + rte_pktmbuf_free(robufs[0]); /* Insert more packets * RB[] = {NULL, NULL, NULL, NULL} |