Hi Anoob,
>-----Original Message-----
>From: Anoob Joseph <[email protected]>
>Sent: Friday 3 September 2021 05:47
>To: Akhil Goyal <[email protected]>; Doherty, Declan
><[email protected]>; Zhang, Roy Fan <[email protected]>;
>Ananyev, Konstantin <[email protected]>
>Cc: Anoob Joseph <[email protected]>; Jerin Jacob <[email protected]>;
>Archana Muniganti <[email protected]>; Tejasree Kondoj
><[email protected]>; Hemant Agrawal <[email protected]>;
>Nicolau, Radu <[email protected]>; Power, Ciara
><[email protected]>; Gagandeep Singh <[email protected]>; [email protected]
>Subject: [PATCH v3 2/5] test/crypto: add combined mode tests
>
>Add framework to test IPsec features with all supported combinations of
>ciphers.
>
>Signed-off-by: Anoob Joseph <[email protected]>
>Signed-off-by: Tejasree Kondoj <[email protected]>
>---
<snip>
>+static int
>+test_ipsec_proto_all(const struct ipsec_test_flags *flags) {
>+ struct ipsec_test_data td_outb[IPSEC_TEST_PACKETS_MAX];
>+ struct ipsec_test_data td_inb[IPSEC_TEST_PACKETS_MAX];
>+ unsigned int i, nb_pkts = 1, pass_cnt = 0;
>+ int ret;
>+
Is this testcase actually running multiple testcases under the hood?
I wonder could it be suited to use a sub-testsuite structure to bring the
testcase results up to the top level, as done with cryptodev blockcipher tests.
Have you considered this approach?
Thanks,
Ciara
>+ for (i = 0; i < RTE_DIM(aead_list); i++) {
>+ test_ipsec_td_prepare(&aead_list[i],
>+ NULL,
>+ flags,
>+ td_outb,
>+ nb_pkts);
>+
>+ ret = test_ipsec_proto_process(td_outb, td_inb, nb_pkts, true,
>+ flags);
>+ if (ret == TEST_SKIPPED)
>+ continue;
>+
>+ if (ret == TEST_FAILED)
>+ return TEST_FAILED;
>+
>+ test_ipsec_td_update(td_inb, td_outb, nb_pkts, flags);
>+
>+ ret = test_ipsec_proto_process(td_inb, NULL, nb_pkts, true,
>+ flags);
>+ if (ret == TEST_SKIPPED)
>+ continue;
>+
>+ if (ret == TEST_FAILED)
>+ return TEST_FAILED;
>+
>+ if (flags->display_alg)
>+ test_ipsec_display_alg(&aead_list[i], NULL);
>+
>+ pass_cnt++;
>+ }
>+
>+ if (pass_cnt > 0)
>+ return TEST_SUCCESS;
>+ else
>+ return TEST_SKIPPED;
>+}
>+
<snip>