DPDK patches and discussions
 help / color / mirror / Atom feed
From: Adam Dybkowski <adamx.dybkowski@intel.com>
To: dev@dpdk.org, fiona.trahe@intel.com, akhil.goyal@nxp.com
Cc: ravi1.kumar@amd.com, ruifeng.wang@arm.com, anoobj@marvell.com,
	roy.fan.zhang@intel.com, declan.doherty@intel.com,
	pablo.de.lara.guarch@intel.com, rnagadheeraj@marvell.com,
	adwivedi@marvell.com, g.singh@nxp.com, jianjay.zhou@huawei.com,
	lironh@marvell.com, Adam Dybkowski <adamx.dybkowski@intel.com>
Subject: [dpdk-dev] [PATCH v3 0/4] Refactor crypto unit tests.
Date: Fri, 13 Dec 2019 16:22:40 +0100	[thread overview]
Message-ID: <20191213152245.13477-1-adamx.dybkowski@intel.com> (raw)
In-Reply-To: <20191212140942.8210-1-adamx.dybkowski@intel.com>

This patch set is a first step to refactor the overly complex symmetric
crypto unit tests. It merges many separate arrays of the tests
for these PMDs: null, aesni_mb, aesni_gcm, openssl, qat, sw_snow3g,
sw_kasumi, sw_zuc into one big array that's then used when running
unit tests on these PMDs.

Individual test functions check the capabilities and execute the rest
of the test or skip (return -ENOTSUP) based on the particular test
requirements - e.g. test if PMD supports ZUC algo or even a particular
key length in few cases. Few edge cases required to check the PMD
itself (e.g. run on QAT only, or skip on AES NI / AES GCM). 

It's the first step of bigger refactoring. Maintainers of other PMDs
are encouraged to add their PMD unit tests also into this big central
array and remove individual test macro arrays.

This patch doesn't address next refactoring steps to be done in the
future: geting rid of many small (usually 1-2 line) test functions,
created separately for every test case; and simplifying many bigger
functions that currently do similar things but work on different
test vector structures.

NOTICE: This patch set depends on the series
http://patches.dpdk.org/project/dpdk/list/?series=7792
that must be applied first.

A simple script to check if symmetric crypto unit tests work properly
on multiple PMDs at once, update the PMDs list to your needs:

for PMD in null aesni_mb aesni_gcm openssl qat scheduler sw_snow3g sw_kasumi sw_zuc
do
    echo +++++ $PMD +++++
    echo cryptodev_${PMD}_autotest | build/app/test -c7 -n1 --log-level=7 | grep ' Tests [Failed|Passed]'
done

---
v2:
* Update the cover letter, regenerate the patch file.
v3:
* Break very large commit into four smaller commits, easier to review.
* Show in the cover letter how to run unit tests on multiple PMDs at once.

Adam Dybkowski (4):
  test/crypto: refactor unit tests
  test/crypto: refactor unit tests - continuation
  test/crypto: add capability checks
  test/crypto: refactor unit tests into one combined array

 app/test/test_cryptodev.c                  | 15891 +++++++++----------
 app/test/test_cryptodev_blockcipher.c      |     2 +-
 app/test/test_cryptodev_des_test_vectors.h |     6 +-
 3 files changed, 7303 insertions(+), 8596 deletions(-)

-- 
2.17.1


  parent reply	other threads:[~2019-12-13 15:22 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11 16:10 [dpdk-dev] [PATCH 0/1] " Adam Dybkowski
2019-12-11 16:10 ` [dpdk-dev] [PATCH 1/1] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2019-12-12 14:09   ` [dpdk-dev] [PATCH v2 0/1] Refactor crypto unit tests Adam Dybkowski
2019-12-12 14:09     ` [dpdk-dev] [PATCH v2 1/1] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2019-12-13 15:22     ` Adam Dybkowski [this message]
2019-12-13 15:22       ` [dpdk-dev] [PATCH v3 1/4] test/crypto: refactor unit tests Adam Dybkowski
2019-12-13 15:22       ` [dpdk-dev] [PATCH v3 2/4] test/crypto: refactor unit tests - continuation Adam Dybkowski
2020-01-15 18:06         ` Trahe, Fiona
2019-12-13 15:22       ` [dpdk-dev] [PATCH v3 3/4] test/crypto: add capability checks Adam Dybkowski
2019-12-13 15:22       ` [dpdk-dev] [PATCH v3 4/4] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2020-01-16 10:40       ` [dpdk-dev] [PATCH v4 0/4] Refactor crypto unit tests Adam Dybkowski
2020-01-16 10:40         ` [dpdk-dev] [PATCH v4 1/4] test/crypto: refactor " Adam Dybkowski
2020-01-16 10:40         ` [dpdk-dev] [PATCH v4 2/4] test/crypto: refactor unit tests - continuation Adam Dybkowski
2020-01-16 10:40         ` [dpdk-dev] [PATCH v4 3/4] test/crypto: add capability checks Adam Dybkowski
2020-01-16 10:40         ` [dpdk-dev] [PATCH v4 4/4] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2020-01-16 12:42         ` [dpdk-dev] [PATCH v5 0/4] Refactor crypto unit tests Adam Dybkowski
2020-01-16 12:42           ` [dpdk-dev] [PATCH v5 1/4] test/crypto: refactor " Adam Dybkowski
2020-01-16 12:42           ` [dpdk-dev] [PATCH v5 2/4] test/crypto: refactor unit tests - continuation Adam Dybkowski
2020-01-16 12:42           ` [dpdk-dev] [PATCH v5 3/4] test/crypto: add capability checks Adam Dybkowski
2020-01-16 12:42           ` [dpdk-dev] [PATCH v5 4/4] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2020-01-17  9:53           ` [dpdk-dev] [PATCH v5 0/4] Refactor crypto unit tests Dybkowski, AdamX
2020-01-17 14:46           ` [dpdk-dev] [PATCH v6 0/3] " Adam Dybkowski
2020-01-17 14:46             ` [dpdk-dev] [PATCH v6 1/3] test/crypto: refactor " Adam Dybkowski
2020-01-17 14:46             ` [dpdk-dev] [PATCH v6 2/3] test/crypto: add capability checks Adam Dybkowski
2020-01-17 14:46             ` [dpdk-dev] [PATCH v6 3/3] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2020-01-17 14:56             ` [dpdk-dev] [PATCH v6 0/3] Refactor crypto unit tests Trahe, Fiona
2020-01-20 10:02             ` Akhil Goyal
2020-01-20 13:11             ` [dpdk-dev] [PATCH v7 " Adam Dybkowski
2020-01-20 13:11               ` [dpdk-dev] [PATCH v7 1/3] test/crypto: refactor " Adam Dybkowski
2020-01-20 13:11               ` [dpdk-dev] [PATCH v7 2/3] test/crypto: add capability checks Adam Dybkowski
2020-01-20 13:11               ` [dpdk-dev] [PATCH v7 3/3] test/crypto: refactor unit tests into one combined array Adam Dybkowski
2020-01-20 13:30               ` [dpdk-dev] [PATCH v7 0/3] Refactor crypto unit tests Akhil Goyal
2020-01-21 10:26                 ` Akhil Goyal
2019-12-12 11:56 ` [dpdk-dev] [PATCH 0/1] " Akhil Goyal

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=20191213152245.13477-1-adamx.dybkowski@intel.com \
    --to=adamx.dybkowski@intel.com \
    --cc=adwivedi@marvell.com \
    --cc=akhil.goyal@nxp.com \
    --cc=anoobj@marvell.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=g.singh@nxp.com \
    --cc=jianjay.zhou@huawei.com \
    --cc=lironh@marvell.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=ravi1.kumar@amd.com \
    --cc=rnagadheeraj@marvell.com \
    --cc=roy.fan.zhang@intel.com \
    --cc=ruifeng.wang@arm.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).