From: Aaron Conole <aconole@redhat.com>
To: Ciara Power <ciara.power@intel.com>
Cc: dev@dpdk.org, declan.doherty@intel.com,
Fiona Trahe <fiona.trahe@intel.com>,
Ashish Gupta <ashish.gupta@marvell.com>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@intel.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
Abhinandan Gujjar <abhinandan.gujjar@intel.com>,
Jay Jayatheerthan <jay.jayatheerthan@intel.com>,
Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
Jerin Jacob <jerinj@marvell.com>,
Anatoly Burakov <anatoly.burakov@intel.com>,
Vladimir Medvedkin <vladimir.medvedkin@intel.com>,
Kiran Kumar K <kirankumark@marvell.com>,
Nithin Dabilpuram <ndabilpuram@marvell.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Bernard Iremonger <bernard.iremonger@intel.com>,
Reshma Pattan <reshma.pattan@intel.com>,
Chas Williams <chas3@att.com>,
"Min Hu \(Connor\)" <humin29@huawei.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Akhil Goyal <gakhil@marvell.com>,
Harry van Haaren <harry.van.haaren@intel.com>,
Sunil Kumar Kori <skori@marvell.com>
Subject: Re: [dpdk-dev] [PATCH 2/6] test: introduce parent testsuite format
Date: Wed, 31 Mar 2021 10:42:32 -0400 [thread overview]
Message-ID: <f7tk0pnv0yv.fsf@dhcp-25.97.bos.redhat.com> (raw)
In-Reply-To: <20210316143253.3849182-3-ciara.power@intel.com> (Ciara Power's message of "Tue, 16 Mar 2021 14:32:49 +0000")
Ciara Power <ciara.power@intel.com> writes:
> The current structure for unit testing only allows for running a
> test suite with nested test cases. This means all test cases for an
> autotest must be in one suite, which is not ideal.
> For example, in some cases we may want to run multiple lists of test
> cases that each require different setup, so should be in separate suites.
>
> The unit test suite struct is modified to hold either a pointer to a
> list of test cases, or a pointer to a list of sub-testsuites.
> A bool value is also introduced here to indicate whether the testsuite
> is a parent suite or not.
>
> Signed-off-by: Ciara Power <ciara.power@intel.com>
> ---
> app/test/test.c | 151 ++++++++++++++++++---------
> app/test/test.h | 6 +-
> app/test/test_bitratestats.c | 4 +-
> app/test/test_compressdev.c | 4 +-
> app/test/test_cryptodev.c | 24 ++---
> app/test/test_cryptodev_asym.c | 12 +--
> app/test/test_ethdev_link.c | 4 +-
> app/test/test_event_crypto_adapter.c | 4 +-
> app/test/test_event_eth_rx_adapter.c | 8 +-
> app/test/test_event_eth_tx_adapter.c | 4 +-
> app/test/test_event_timer_adapter.c | 4 +-
> app/test/test_eventdev.c | 4 +-
> app/test/test_fbarray.c | 4 +-
> app/test/test_fib.c | 8 +-
> app/test/test_fib6.c | 8 +-
> app/test/test_graph.c | 4 +-
> app/test/test_graph_perf.c | 4 +-
> app/test/test_ipfrag.c | 4 +-
> app/test/test_ipsec.c | 4 +-
> app/test/test_ipsec_sad.c | 4 +-
> app/test/test_latencystats.c | 4 +-
> app/test/test_link_bonding.c | 4 +-
> app/test/test_link_bonding_mode4.c | 4 +-
> app/test/test_link_bonding_rssconf.c | 4 +-
> app/test/test_metrics.c | 4 +-
> app/test/test_pmd_ring.c | 4 +-
> app/test/test_reorder.c | 4 +-
> app/test/test_rib.c | 8 +-
> app/test/test_rib6.c | 8 +-
> app/test/test_security.c | 4 +-
> app/test/test_service_cores.c | 4 +-
> app/test/test_trace.c | 4 +-
> 32 files changed, 188 insertions(+), 137 deletions(-)
>
> diff --git a/app/test/test.c b/app/test/test.c
> index 72768c8854..fe40a91f97 100644
> --- a/app/test/test.c
> +++ b/app/test/test.c
> @@ -213,24 +213,37 @@ unit_test_suite_count_tcs_on_setup_fail(struct unit_test_suite *suite,
> unsigned int *failed)
> {
> struct unit_test_case tc;
> -
> - tc = suite->unit_test_cases[*total];
> - while (tc.testcase) {
> - if (!tc.enabled || test_success == TEST_SKIPPED)
> - (*skipped)++;
> - else
> - (*failed)++;
> - (*total)++;
> - tc = suite->unit_test_cases[*total];
> + int i, tc_count = 0;
> +
> + if (suite->parent_testsuite) {
> + for (i = 0; suite->unit_test_suites[i].suite_name != NULL; i++)
> + unit_test_suite_count_tcs_on_setup_fail(
> + &suite->unit_test_suites[i],
> + test_success, total,
> + skipped, failed);
> + } else {
> + tc = suite->unit_test_cases[tc_count];
> + while (tc.testcase) {
> + if (!tc.enabled ||
> + test_success == TEST_SKIPPED)
> + (*skipped)++;
> + else
> + (*failed)++;
> + tc_count++;
> + tc = suite->unit_test_cases[tc_count];
> + }
> + *total += tc_count;
> }
> }
>
> int
> unit_test_suite_runner(struct unit_test_suite *suite)
> {
> - int test_success;
> + int test_success, i, ret;
> unsigned int total = 0, executed = 0, skipped = 0;
> unsigned int succeeded = 0, failed = 0, unsupported = 0;
> + unsigned int sub_ts_succeeded = 0, sub_ts_failed = 0;
> + unsigned int sub_ts_skipped = 0, sub_ts_total = 0;
> const char *status;
> struct unit_test_case tc;
>
> @@ -255,63 +268,80 @@ unit_test_suite_runner(struct unit_test_suite *suite)
>
> printf(" + ------------------------------------------------------- +\n");
>
> - tc = suite->unit_test_cases[total];
> - while (tc.testcase) {
> - if (!tc.enabled) {
> - skipped++;
> - total++;
> - tc = suite->unit_test_cases[total];
> - continue;
> - } else {
> - executed++;
> + if (suite->parent_testsuite) {
> + for (i = 0; suite->unit_test_suites[i].suite_name != NULL; i++) {
> + ret = unit_test_suite_runner(&suite->unit_test_suites[i]);
> + if (ret == TEST_SUCCESS)
> + sub_ts_succeeded++;
> + else if (ret == TEST_SKIPPED)
> + sub_ts_skipped++;
> + else
> + sub_ts_failed++;
> + sub_ts_total++;
I suggest adding these counts to the test suite object itself - that way
we can track them separately. And we can clear them when we jump into
the unit_test_suite_runner() so that we get fresh counts each time and
don't need to track this information in different ways.
ie:
void run_test(suite, tc) {
if (!tc.enabled) {
suite->skipped++;
}
suite->executed++;
if tc.setup
res = tc.setup
else
res = success
if res != success
suite->failed++
return
res = tc.testcase()
switch res {
case success:
suite->success++
break
case fail:
suite->fail++
break
case skipped:
suite->skipped++
break;
case unsupported:
suite->unsupported++;
break;
}
if tc.teardown
tc.teardown()
}
...
void run_tests_in_suite(suite) {
struct unit_test_case tc;
size_t total;
FOR_EACH_SUITE_TESTCASE(total, suite, tc)
run_test(suite, tc);
}
...
FOR_EACH_SUITE_TESTSUITE(total, suite, tsuite) {
run_tests_in_suite(suite);
}
FOR_EACH_SUITE_TESTSUITE(total, suite, tsuite) {
total_failed += tsuite->failed;
total_executed += tsuite->executed;
total_skipped += tsuite->skipped;
...
}
etc..
Does it make sense?
> }
> + } else {
> + tc = suite->unit_test_cases[total];
> + while (tc.testcase) {
> + if (!tc.enabled) {
> + skipped++;
> + total++;
> + tc = suite->unit_test_cases[total];
> + continue;
> + } else {
> + executed++;
> + }
> +
> + /* run test case setup */
> + if (tc.setup)
> + test_success = tc.setup();
> + else
> + test_success = TEST_SUCCESS;
> +
> + if (test_success == TEST_SUCCESS) {
> + /* run the test case */
> + test_success = tc.testcase();
> + if (test_success == TEST_SUCCESS)
> + succeeded++;
> + else if (test_success == TEST_SKIPPED)
> + skipped++;
> + else if (test_success == -ENOTSUP)
> + unsupported++;
> + else
> + failed++;
> + } else if (test_success == -ENOTSUP) {
> + unsupported++;
> + } else {
> + failed++;
> + }
>
> - /* run test case setup */
> - if (tc.setup)
> - test_success = tc.setup();
> - else
> - test_success = TEST_SUCCESS;
> + /* run the test case teardown */
> + if (tc.teardown)
> + tc.teardown();
>
> - if (test_success == TEST_SUCCESS) {
> - /* run the test case */
> - test_success = tc.testcase();
> if (test_success == TEST_SUCCESS)
> - succeeded++;
> + status = "succeeded";
> else if (test_success == TEST_SKIPPED)
> - skipped++;
> + status = "skipped";
> else if (test_success == -ENOTSUP)
> - unsupported++;
> + status = "unsupported";
> else
> - failed++;
> - } else if (test_success == -ENOTSUP) {
> - unsupported++;
> - } else {
> - failed++;
> - }
> -
> - /* run the test case teardown */
> - if (tc.teardown)
> - tc.teardown();
This got dropped and never re-added anywhere afaict.
> -
> - if (test_success == TEST_SUCCESS)
> - status = "succeeded";
> - else if (test_success == TEST_SKIPPED)
> - status = "skipped";
> - else if (test_success == -ENOTSUP)
> - status = "unsupported";
> - else
> - status = "failed";
> + status = "failed";
>
> - printf(" + TestCase [%2d] : %s %s\n", total, tc.name, status);
> + printf(" + TestCase [%2d] : %s %s\n", total,
> + tc.name, status);
>
> - total++;
> - tc = suite->unit_test_cases[total];
> + total++;
> + tc = suite->unit_test_cases[total];
> + }
> }
>
> /* Run test suite teardown */
> if (suite->teardown)
> suite->teardown();
>
> + if (suite->parent_testsuite)
> + goto parent_suite_summary;
> +
> goto suite_summary;
>
> suite_summary:
> @@ -332,4 +362,21 @@ unit_test_suite_runner(struct unit_test_suite *suite)
> if (total == skipped)
> return TEST_SKIPPED;
> return TEST_SUCCESS;
> +
> +parent_suite_summary:
> + printf(" + ------------------------------------------------------- +\n");
> + printf(" + Parent Test Suite Summary : %s\n", suite->suite_name);
> + printf(" + Sub Testsuites Total : %2d\n", sub_ts_total);
> + printf(" + Sub Testsuites Skipped : %2d\n", sub_ts_skipped);
> + printf(" + Sub Testsuites Passed : %2d\n", sub_ts_succeeded);
> + printf(" + Sub Testsuites Failed : %2d\n", sub_ts_failed);
> + printf(" + ------------------------------------------------------- +\n");
> +
> + last_test_result = failed;
> +
> + if (sub_ts_failed)
> + return TEST_FAILED;
> + if (sub_ts_total == sub_ts_skipped)
> + return TEST_SKIPPED;
> + return TEST_SUCCESS;
> }
> diff --git a/app/test/test.h b/app/test/test.h
> index b07f6c1ef0..3fdac56631 100644
> --- a/app/test/test.h
> +++ b/app/test/test.h
> @@ -138,7 +138,11 @@ struct unit_test_suite {
> const char *suite_name;
> int (*setup)(void);
> void (*teardown)(void);
> - struct unit_test_case unit_test_cases[];
> + bool parent_testsuite;
> + union {
> + struct unit_test_case *unit_test_cases;
> + struct unit_test_suite *unit_test_suites;
> + };
I don't see the advantage to this. Why not just have the structs as
flat members, and use the NULL of unit_test_suites as your boolean.
It saves on refactor of all the test suites, since those members should
be 0 initialized anyway. In fact, you are relying on that behavior
(since you don't explicitly set parent_testsuite to 'false') so might as
well make your life easier by not having to touch all the test suite
files.
ie: instead of
if (suite->parent_testsuite)
FOR_EACH_SUITE_TESTSUITE
else
FOR_EACH_SUITE_TESTCASE
you could just do:
struct unit_test_case tc;
struct unit_test_suite ts;
size_t total;
if (suite->unit_test_suite && suite->unit_test_case)
/* is this prohibited? */
FOR_EACH_SUITE_TESTCASE(total, suite, tc);
...
FOR_EACH_SUITE_TESTSUITE(total, suite, ts)
...
This also makes reading the code a bit nicer.
> };
>
> int unit_test_suite_runner(struct unit_test_suite *suite);
> diff --git a/app/test/test_bitratestats.c b/app/test/test_bitratestats.c
> index f4a92c9be6..a3fe5e839a 100644
> --- a/app/test/test_bitratestats.c
> +++ b/app/test/test_bitratestats.c
> @@ -189,7 +189,7 @@ unit_test_suite bitratestats_testsuite = {
> .suite_name = "BitRate Stats Unit Test Suite",
> .setup = test_bit_ring_setup,
> .teardown = test_bit_ring_free,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> /* TEST CASE 1: Test to create bit rate data */
> TEST_CASE(test_stats_bitrate_create),
>
> @@ -231,7 +231,7 @@ unit_test_suite bitratestats_testsuite = {
> /* TEST CASE 9: Test to do the cleanup w.r.t create */
> TEST_CASE(test_stats_bitrate_free),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
> index 0571c17ecb..7789511bd0 100644
> --- a/app/test/test_compressdev.c
> +++ b/app/test/test_compressdev.c
> @@ -4183,7 +4183,7 @@ static struct unit_test_suite compressdev_testsuite = {
> .suite_name = "compressdev unit test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(NULL, NULL,
> test_compressdev_invalid_configuration),
> TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> @@ -4261,7 +4261,7 @@ static struct unit_test_suite compressdev_testsuite = {
> test_compressdev_deflate_im_buffers_SGL_over_2ops_second),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
> index f91debc168..bdfb2727dd 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -13247,7 +13247,7 @@ static struct unit_test_suite cryptodev_scheduler_testsuite = {
> .suite_name = "Crypto Device Scheduler Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> /* Multi Core */
> TEST_CASE_ST(NULL, NULL, test_scheduler_attach_slave_op),
> TEST_CASE_ST(NULL, NULL, test_scheduler_mode_multicore_op),
> @@ -13281,7 +13281,7 @@ static struct unit_test_suite cryptodev_scheduler_testsuite = {
> TEST_CASE_ST(NULL, NULL, test_scheduler_detach_slave_op),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> #endif /* RTE_CRYPTO_SCHEDULER */
> @@ -13290,7 +13290,7 @@ static struct unit_test_suite cryptodev_testsuite = {
> .suite_name = "Crypto Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_device_configure_invalid_dev_id),
> TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -13921,25 +13921,25 @@ static struct unit_test_suite cryptodev_testsuite = {
> TEST_CASE_ST(ut_setup, ut_teardown, test_enq_callback_setup),
> TEST_CASE_ST(ut_setup, ut_teardown, test_deq_callback_setup),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_virtio_testsuite = {
> .suite_name = "Crypto VIRTIO Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_AES_cipheronly_all),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_caam_jr_testsuite = {
> .suite_name = "Crypto CAAM JR Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_device_configure_invalid_dev_id),
> TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -13952,14 +13952,14 @@ static struct unit_test_suite cryptodev_caam_jr_testsuite = {
> TEST_CASE_ST(ut_setup, ut_teardown, test_authonly_all),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_mrvl_testsuite = {
> .suite_name = "Crypto Device Marvell Component Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_multi_session),
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_multi_session_random_usage),
> @@ -13980,14 +13980,14 @@ static struct unit_test_suite cryptodev_mrvl_testsuite = {
> auth_decryption_AES128CBC_HMAC_SHA1_fail_tag_corrupt),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_ccp_testsuite = {
> .suite_name = "Crypto Device CCP Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_multi_session),
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_multi_session_random_usage),
> @@ -14008,7 +14008,7 @@ static struct unit_test_suite cryptodev_ccp_testsuite = {
> auth_decryption_AES128CBC_HMAC_SHA1_fail_tag_corrupt),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
> index 85cd076059..4a2c0a310f 100644
> --- a/app/test/test_cryptodev_asym.c
> +++ b/app/test/test_cryptodev_asym.c
> @@ -2288,7 +2288,7 @@ static struct unit_test_suite cryptodev_openssl_asym_testsuite = {
> .suite_name = "Crypto Device OPENSSL ASYM Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_capability),
> TEST_CASE_ST(ut_setup, ut_teardown, test_dsa),
> TEST_CASE_ST(ut_setup, ut_teardown, test_dh_keygenration),
> @@ -2300,24 +2300,24 @@ static struct unit_test_suite cryptodev_openssl_asym_testsuite = {
> TEST_CASE_ST(ut_setup, ut_teardown, test_mod_exp),
> TEST_CASE_ST(ut_setup, ut_teardown, test_one_by_one),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_qat_asym_testsuite = {
> .suite_name = "Crypto Device QAT ASYM Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_one_by_one),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite cryptodev_octeontx_asym_testsuite = {
> .suite_name = "Crypto Device OCTEONTX ASYM Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown, test_capability),
> TEST_CASE_ST(ut_setup, ut_teardown, test_rsa_enc_dec_crt),
> TEST_CASE_ST(ut_setup, ut_teardown, test_rsa_sign_verify_crt),
> @@ -2326,7 +2326,7 @@ static struct unit_test_suite cryptodev_octeontx_asym_testsuite = {
> test_ecdsa_sign_verify_all_curve),
> TEST_CASE_ST(ut_setup, ut_teardown, test_ecpm_all_curve),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c
> index ee11987bae..1f3ac34b5f 100644
> --- a/app/test/test_ethdev_link.c
> +++ b/app/test/test_ethdev_link.c
> @@ -148,13 +148,13 @@ static struct unit_test_suite link_status_testsuite = {
> .suite_name = "link status formatting",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_link_status_up_default),
> TEST_CASE(test_link_status_down_default),
> TEST_CASE(test_link_speed_all_values),
> TEST_CASE(test_link_status_invalid),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
> index 335211cd8c..722e2f1b7c 100644
> --- a/app/test/test_event_crypto_adapter.c
> +++ b/app/test/test_event_crypto_adapter.c
> @@ -959,7 +959,7 @@ static struct unit_test_suite functional_testsuite = {
> .suite_name = "Event crypto adapter test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
>
> TEST_CASE_ST(NULL, test_crypto_adapter_free,
> test_crypto_adapter_create),
> @@ -989,7 +989,7 @@ static struct unit_test_suite functional_testsuite = {
> test_sessionless_with_op_new_mode),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c
> index 9198767b41..735d5766d6 100644
> --- a/app/test/test_event_eth_rx_adapter.c
> +++ b/app/test/test_event_eth_rx_adapter.c
> @@ -754,7 +754,7 @@ static struct unit_test_suite event_eth_rx_tests = {
> .suite_name = "rx event eth adapter test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(NULL, NULL, adapter_create_free),
> TEST_CASE_ST(adapter_create, adapter_free,
> adapter_queue_add_del),
> @@ -763,18 +763,18 @@ static struct unit_test_suite event_eth_rx_tests = {
> TEST_CASE_ST(adapter_create, adapter_free, adapter_start_stop),
> TEST_CASE_ST(adapter_create, adapter_free, adapter_stats),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static struct unit_test_suite event_eth_rx_intr_tests = {
> .suite_name = "rx event eth adapter test suite",
> .setup = testsuite_setup_rx_intr,
> .teardown = testsuite_teardown_rx_intr,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(adapter_create, adapter_free,
> adapter_intr_queue_add_del),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c
> index 7073030902..bf67afcc69 100644
> --- a/app/test/test_event_eth_tx_adapter.c
> +++ b/app/test/test_event_eth_tx_adapter.c
> @@ -680,7 +680,7 @@ static struct unit_test_suite event_eth_tx_tests = {
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> .suite_name = "tx event eth adapter test suite",
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(NULL, NULL, tx_adapter_create_free),
> TEST_CASE_ST(tx_adapter_create, tx_adapter_free,
> tx_adapter_queue_add_del),
> @@ -690,7 +690,7 @@ static struct unit_test_suite event_eth_tx_tests = {
> tx_adapter_service),
> TEST_CASE_ST(NULL, NULL, tx_adapter_dynamic_device),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c
> index ad3f4dcc20..08c3035c7c 100644
> --- a/app/test/test_event_timer_adapter.c
> +++ b/app/test/test_event_timer_adapter.c
> @@ -1779,7 +1779,7 @@ static struct unit_test_suite event_timer_adptr_functional_testsuite = {
> .suite_name = "event timer functional test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(timdev_setup_usec, timdev_teardown,
> test_timer_state),
> TEST_CASE_ST(timdev_setup_usec, timdev_teardown,
> @@ -1832,7 +1832,7 @@ static struct unit_test_suite event_timer_adptr_functional_testsuite = {
> adapter_tick_resolution),
> TEST_CASE(adapter_create_max),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c
> index 27ca5a6494..b4b55117b4 100644
> --- a/app/test/test_eventdev.c
> +++ b/app/test/test_eventdev.c
> @@ -934,7 +934,7 @@ static struct unit_test_suite eventdev_common_testsuite = {
> .suite_name = "eventdev common code unit test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(NULL, NULL,
> test_eventdev_count),
> TEST_CASE_ST(NULL, NULL,
> @@ -984,7 +984,7 @@ static struct unit_test_suite eventdev_common_testsuite = {
> TEST_CASE_ST(eventdev_setup_device, NULL,
> test_eventdev_close),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_fbarray.c b/app/test/test_fbarray.c
> index a691bf4458..ff6896d1bc 100644
> --- a/app/test/test_fbarray.c
> +++ b/app/test/test_fbarray.c
> @@ -714,7 +714,7 @@ static struct unit_test_suite fbarray_test_suite = {
> .suite_name = "fbarray autotest",
> .setup = autotest_setup,
> .teardown = autotest_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_invalid),
> TEST_CASE(test_basic),
> TEST_CASE_ST(first_msk_test_setup, reset_array, test_find),
> @@ -724,7 +724,7 @@ static struct unit_test_suite fbarray_test_suite = {
> TEST_CASE_ST(full_msk_test_setup, reset_array, test_find),
> TEST_CASE_ST(empty_msk_test_setup, reset_array, test_empty),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_fib.c b/app/test/test_fib.c
> index e46b9934fe..fc574bdf0b 100644
> --- a/app/test/test_fib.c
> +++ b/app/test/test_fib.c
> @@ -375,24 +375,24 @@ static struct unit_test_suite fib_fast_tests = {
> .suite_name = "fib autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_invalid),
> TEST_CASE(test_free_null),
> TEST_CASE(test_add_del_invalid),
> TEST_CASE(test_get_invalid),
> TEST_CASE(test_lookup),
> TEST_CASES_END()
> - }
> + })
> };
>
> static struct unit_test_suite fib_slow_tests = {
> .suite_name = "fib slow autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_multiple_create),
> TEST_CASES_END()
> - }
> + })
> };
>
> /*
> diff --git a/app/test/test_fib6.c b/app/test/test_fib6.c
> index 74abfc7a5d..4e36ab795e 100644
> --- a/app/test/test_fib6.c
> +++ b/app/test/test_fib6.c
> @@ -384,24 +384,24 @@ static struct unit_test_suite fib6_fast_tests = {
> .suite_name = "fib6 autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_invalid),
> TEST_CASE(test_free_null),
> TEST_CASE(test_add_del_invalid),
> TEST_CASE(test_get_invalid),
> TEST_CASE(test_lookup),
> TEST_CASES_END()
> - }
> + })
> };
>
> static struct unit_test_suite fib6_slow_tests = {
> .suite_name = "fib6 slow autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_multiple_create),
> TEST_CASES_END()
> - }
> + })
> };
>
> /*
> diff --git a/app/test/test_graph.c b/app/test/test_graph.c
> index 81bdcb9bea..81eef73900 100644
> --- a/app/test/test_graph.c
> +++ b/app/test/test_graph.c
> @@ -815,7 +815,7 @@ static struct unit_test_suite graph_testsuite = {
> .suite_name = "Graph library test suite",
> .setup = graph_setup,
> .teardown = graph_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_update_edges),
> TEST_CASE(test_lookup_functions),
> TEST_CASE(test_create_graph),
> @@ -823,7 +823,7 @@ static struct unit_test_suite graph_testsuite = {
> TEST_CASE(test_graph_walk),
> TEST_CASE(test_print_stats),
> TEST_CASES_END(), /**< NULL terminate unit test array */
> - },
> + }),
> };
>
> static int
> diff --git a/app/test/test_graph_perf.c b/app/test/test_graph_perf.c
> index 296d99a9d3..ae30ab3c41 100644
> --- a/app/test/test_graph_perf.c
> +++ b/app/test/test_graph_perf.c
> @@ -1035,7 +1035,7 @@ static struct unit_test_suite graph_perf_testsuite = {
> .suite_name = "Graph library performance test suite",
> .setup = graph_perf_setup,
> .teardown = graph_perf_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(graph_init_hr, graph_fini,
> graph_hr_4s_1n_1src_1snk),
> TEST_CASE_ST(graph_init_hr_brst_one, graph_fini,
> @@ -1051,7 +1051,7 @@ static struct unit_test_suite graph_perf_testsuite = {
> TEST_CASE_ST(graph_init_parallel_tree, graph_fini,
> graph_parallel_tree_5s_4n_4src_4snk),
> TEST_CASES_END(), /**< NULL terminate unit test array */
> - },
> + }),
> };
>
> static int
> diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c
> index da8c212f92..b0ac54e422 100644
> --- a/app/test/test_ipfrag.c
> +++ b/app/test/test_ipfrag.c
> @@ -242,12 +242,12 @@ static struct unit_test_suite ipfrag_testsuite = {
> .suite_name = "IP Frag Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_ip_frag),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
> index d18220a885..bd9fc3f999 100644
> --- a/app/test/test_ipsec.c
> +++ b/app/test/test_ipsec.c
> @@ -2498,7 +2498,7 @@ static struct unit_test_suite ipsec_testsuite = {
> .suite_name = "IPsec NULL Unit Test Suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_ipsec_crypto_inb_burst_null_null_wrapper),
> TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -2528,7 +2528,7 @@ static struct unit_test_suite ipsec_testsuite = {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_ipsec_crypto_inb_burst_2sa_4grp_null_null_wrapper),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_ipsec_sad.c b/app/test/test_ipsec_sad.c
> index 491164689e..874b19a286 100644
> --- a/app/test/test_ipsec_sad.c
> +++ b/app/test/test_ipsec_sad.c
> @@ -864,7 +864,7 @@ static struct unit_test_suite ipsec_sad_tests = {
> .suite_name = "ipsec sad autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_invalid),
> TEST_CASE(test_find_existing),
> TEST_CASE(test_multiple_create),
> @@ -875,7 +875,7 @@ static struct unit_test_suite ipsec_sad_tests = {
> TEST_CASE(test_lookup_adv),
> TEST_CASE(test_lookup_order),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_latencystats.c b/app/test/test_latencystats.c
> index 427339904d..f72eee98cc 100644
> --- a/app/test/test_latencystats.c
> +++ b/app/test/test_latencystats.c
> @@ -171,7 +171,7 @@ unit_test_suite latencystats_testsuite = {
> .suite_name = "Latency Stats Unit Test Suite",
> .setup = test_latency_ring_setup,
> .teardown = test_latency_ring_free,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
>
> /* Test Case 1: To check latency init with
> * metrics init
> @@ -198,7 +198,7 @@ unit_test_suite latencystats_testsuite = {
> TEST_CASE_ST(NULL, NULL, test_latency_uninit),
>
> TEST_CASES_END()
> - }
> + })
> };
>
> static int test_latencystats(void)
> diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
> index 8a5c8310a8..4fa1e0525c 100644
> --- a/app/test/test_link_bonding.c
> +++ b/app/test/test_link_bonding.c
> @@ -5094,7 +5094,7 @@ static struct unit_test_suite link_bonding_test_suite = {
> .suite_name = "Link Bonding Unit Test Suite",
> .setup = test_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_bonded_device),
> TEST_CASE(test_create_bonded_device_with_invalid_params),
> TEST_CASE(test_add_slave_to_bonded_device),
> @@ -5162,7 +5162,7 @@ static struct unit_test_suite link_bonding_test_suite = {
> TEST_CASE(test_close_bonded_device),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
>
> diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c
> index 2c835fa7ad..aafa2236ce 100644
> --- a/app/test/test_link_bonding_mode4.c
> +++ b/app/test/test_link_bonding_mode4.c
> @@ -1653,7 +1653,7 @@ static struct unit_test_suite link_bonding_mode4_test_suite = {
> .suite_name = "Link Bonding mode 4 Unit Test Suite",
> .setup = test_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_NAMED("test_mode4_agg_mode_selection",
> test_mode4_agg_mode_selection_wrapper),
> TEST_CASE_NAMED("test_mode4_lacp", test_mode4_lacp_wrapper),
> @@ -1667,7 +1667,7 @@ static struct unit_test_suite link_bonding_mode4_test_suite = {
> test_mode4_ext_lacp_wrapper),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
> index 5dac60ca1e..58ff4a8971 100644
> --- a/app/test/test_link_bonding_rssconf.c
> +++ b/app/test/test_link_bonding_rssconf.c
> @@ -645,13 +645,13 @@ test_rss_lazy_wrapper(void)
> static struct unit_test_suite link_bonding_rssconf_test_suite = {
> .suite_name = "RSS Dynamic Configuration for Bonding Unit Test Suite",
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_NAMED("test_setup", test_setup_wrapper),
> TEST_CASE_NAMED("test_rss", test_rss_wrapper),
> TEST_CASE_NAMED("test_rss_lazy", test_rss_lazy_wrapper),
>
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_metrics.c b/app/test/test_metrics.c
> index e736019ae4..d80be0e5b4 100644
> --- a/app/test/test_metrics.c
> +++ b/app/test/test_metrics.c
> @@ -275,7 +275,7 @@ static struct unit_test_suite metrics_testsuite = {
> .suite_name = "Metrics Unit Test Suite",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> /* Test Case 1: Test to check all metric APIs without
> * metrics init
> */
> @@ -317,7 +317,7 @@ static struct unit_test_suite metrics_testsuite = {
> TEST_CASE(test_metrics_deinitialize),
>
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c
> index 86b1db2c1f..9ef667aed7 100644
> --- a/app/test/test_pmd_ring.c
> +++ b/app/test/test_pmd_ring.c
> @@ -576,7 +576,7 @@ unit_test_suite test_pmd_ring_suite = {
> .setup = test_pmd_ringcreate_setup,
> .teardown = test_cleanup_resources,
> .suite_name = "Test Pmd Ring Unit Test Suite",
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_ethdev_configure_ports),
> TEST_CASE(test_send_basic_packets),
> TEST_CASE(test_get_stats_for_port),
> @@ -584,7 +584,7 @@ unit_test_suite test_pmd_ring_suite = {
> TEST_CASE(test_pmd_ring_pair_create_attach),
> TEST_CASE(test_command_line_ring_port),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_reorder.c b/app/test/test_reorder.c
> index 1c4226da65..04bdf4a2d1 100644
> --- a/app/test/test_reorder.c
> +++ b/app/test/test_reorder.c
> @@ -373,7 +373,7 @@ static struct unit_test_suite reorder_test_suite = {
> .setup = test_setup,
> .teardown = test_teardown,
> .suite_name = "Reorder Unit Test Suite",
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_reorder_create),
> TEST_CASE(test_reorder_init),
> TEST_CASE(test_reorder_find_existing),
> @@ -381,7 +381,7 @@ static struct unit_test_suite reorder_test_suite = {
> TEST_CASE(test_reorder_insert),
> TEST_CASE(test_reorder_drain),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_rib.c b/app/test/test_rib.c
> index 3dc48fe1f2..8a2a7d68aa 100644
> --- a/app/test/test_rib.c
> +++ b/app/test/test_rib.c
> @@ -327,7 +327,7 @@ static struct unit_test_suite rib_tests = {
> .suite_name = "rib autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_invalid),
> TEST_CASE(test_free_null),
> TEST_CASE(test_insert_invalid),
> @@ -335,17 +335,17 @@ static struct unit_test_suite rib_tests = {
> TEST_CASE(test_basic),
> TEST_CASE(test_tree_traversal),
> TEST_CASES_END()
> - }
> + })
> };
>
> static struct unit_test_suite rib_slow_tests = {
> .suite_name = "rib slow autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_multiple_create),
> TEST_CASES_END()
> - }
> + })
> };
>
> /*
> diff --git a/app/test/test_rib6.c b/app/test/test_rib6.c
> index c77df11298..c381c68ce6 100644
> --- a/app/test/test_rib6.c
> +++ b/app/test/test_rib6.c
> @@ -332,7 +332,7 @@ static struct unit_test_suite rib6_tests = {
> .suite_name = "rib6 autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_create_invalid),
> TEST_CASE(test_free_null),
> TEST_CASE(test_insert_invalid),
> @@ -340,17 +340,17 @@ static struct unit_test_suite rib6_tests = {
> TEST_CASE(test_basic),
> TEST_CASE(test_tree_traversal),
> TEST_CASES_END()
> - }
> + })
> };
>
> static struct unit_test_suite rib6_slow_tests = {
> .suite_name = "rib6 slow autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_multiple_create),
> TEST_CASES_END()
> - }
> + })
> };
>
> /*
> diff --git a/app/test/test_security.c b/app/test/test_security.c
> index 060cf1ffa8..583a229c0e 100644
> --- a/app/test/test_security.c
> +++ b/app/test/test_security.c
> @@ -2484,7 +2484,7 @@ static struct unit_test_suite security_testsuite = {
> .suite_name = "generic security",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(ut_setup, ut_teardown,
> test_session_create_inv_context),
> TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -2627,7 +2627,7 @@ static struct unit_test_suite security_testsuite = {
> test_capability_get_docsis_match),
>
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c
> index 37d7172d53..ff4d3aa95a 100644
> --- a/app/test/test_service_cores.c
> +++ b/app/test/test_service_cores.c
> @@ -996,7 +996,7 @@ static struct unit_test_suite service_tests = {
> .suite_name = "service core test suite",
> .setup = testsuite_setup,
> .teardown = testsuite_teardown,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE_ST(dummy_register, NULL, unregister_all),
> TEST_CASE_ST(dummy_register, NULL, service_name),
> TEST_CASE_ST(dummy_register, NULL, service_get_by_name),
> @@ -1015,7 +1015,7 @@ static struct unit_test_suite service_tests = {
> TEST_CASE_ST(dummy_register, NULL, service_may_be_active),
> TEST_CASE_ST(dummy_register, NULL, service_active_two_cores),
> TEST_CASES_END() /**< NULL terminate unit test array */
> - }
> + })
> };
>
> static int
> diff --git a/app/test/test_trace.c b/app/test/test_trace.c
> index 0f9df83c40..d704ceb8c2 100644
> --- a/app/test/test_trace.c
> +++ b/app/test/test_trace.c
> @@ -176,7 +176,7 @@ static struct unit_test_suite trace_tests = {
> .suite_name = "trace autotest",
> .setup = NULL,
> .teardown = NULL,
> - .unit_test_cases = {
> + .unit_test_cases = ((struct unit_test_case []) {
> TEST_CASE(test_trace_mode),
> TEST_CASE(test_generic_trace_points),
> TEST_CASE(test_fp_trace_points),
> @@ -185,7 +185,7 @@ static struct unit_test_suite trace_tests = {
> TEST_CASE(test_trace_point_regex),
> TEST_CASE(test_trace_points_lookup),
> TEST_CASES_END()
> - }
> + })
> };
>
> static int
next prev parent reply other threads:[~2021-03-31 14:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 14:32 [dpdk-dev] [PATCH 0/6] test: refactor crypto unit test framework Ciara Power
2021-03-16 14:32 ` [dpdk-dev] [PATCH 1/6] app/test: refactor of unit test suite runner Ciara Power
2021-03-31 14:42 ` Aaron Conole
2021-03-16 14:32 ` [dpdk-dev] [PATCH 2/6] test: introduce parent testsuite format Ciara Power
2021-03-31 14:42 ` Aaron Conole [this message]
2021-03-16 14:32 ` [dpdk-dev] [PATCH 3/6] test/crypto: refactor to use sub-testsuites Ciara Power
2021-03-16 14:32 ` [dpdk-dev] [PATCH 4/6] test/crypto: move testsuite params to header file Ciara Power
2021-03-16 14:32 ` [dpdk-dev] [PATCH 5/6] test/crypto: dynamically build blockcipher suite Ciara Power
2021-03-16 14:32 ` [dpdk-dev] [PATCH 6/6] doc: add unit test suite change to release notes Ciara Power
2021-03-30 16:15 ` [dpdk-dev] [PATCH 0/6] test: refactor crypto unit test framework Doherty, Declan
2021-03-31 14:43 ` Aaron Conole
2021-04-02 14:32 ` Power, Ciara
2021-04-01 3:13 ` Ruifeng Wang
2021-04-02 14:29 ` Power, Ciara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7tk0pnv0yv.fsf@dhcp-25.97.bos.redhat.com \
--to=aconole@redhat.com \
--cc=abhinandan.gujjar@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=ashish.gupta@marvell.com \
--cc=bernard.iremonger@intel.com \
--cc=bruce.richardson@intel.com \
--cc=chas3@att.com \
--cc=ciara.power@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=erik.g.carrillo@intel.com \
--cc=ferruh.yigit@intel.com \
--cc=fiona.trahe@intel.com \
--cc=gakhil@marvell.com \
--cc=harry.van.haaren@intel.com \
--cc=humin29@huawei.com \
--cc=jay.jayatheerthan@intel.com \
--cc=jerinj@marvell.com \
--cc=kirankumark@marvell.com \
--cc=konstantin.ananyev@intel.com \
--cc=ndabilpuram@marvell.com \
--cc=reshma.pattan@intel.com \
--cc=skori@marvell.com \
--cc=thomas@monjalon.net \
--cc=vladimir.medvedkin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).