From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EC79C33CA8 for ; Fri, 13 Dec 2019 20:48:26 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 96079246A0 for ; Fri, 13 Dec 2019 20:48:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 96079246A0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 198551BFD8; Fri, 13 Dec 2019 16:22:52 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 6DCE11BFD5 for ; Fri, 13 Dec 2019 16:22:50 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2019 07:22:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,309,1571727600"; d="scan'208";a="246161078" Received: from adamdybx-mobl.ger.corp.intel.com (HELO addy-VirtualBox.isw.intel.com) ([10.103.104.99]) by fmsmga002.fm.intel.com with ESMTP; 13 Dec 2019 07:22:45 -0800 From: Adam Dybkowski 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 Date: Fri, 13 Dec 2019 16:22:40 +0100 Message-Id: <20191213152245.13477-1-adamx.dybkowski@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191212140942.8210-1-adamx.dybkowski@intel.com> References: <20191212140942.8210-1-adamx.dybkowski@intel.com> Subject: [dpdk-dev] [PATCH v3 0/4] Refactor crypto unit tests. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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