From patchwork Fri Jul 21 11:51:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 129683 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1D18042ED9; Fri, 21 Jul 2023 13:51:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6597A42BFE; Fri, 21 Jul 2023 13:51:36 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 657F942BFE for ; Fri, 21 Jul 2023 13:51:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689940295; x=1721476295; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xdo0l5GXS19yPeG8kdUUcbUABk11qat6WN2U/QjeZMI=; b=Yggs9qcY9ZNMFrTFnUOI/X9qUGK8m0a/bT17dOAIrt5WMdASR9uuHdEo ero9VqPP3vpSVGdEglvTn1y0IAF40c6togkNcgvaWR9NbwPeC/KOAgr1J AsVLmxZYmz8P9EIYAvXneMDLStuy3/SqMl/yhpnTyrig4mmc7c9DhBkSE ftsGxEvaRynpID0n8wMO2tKnBx6trdFya+Zv1mMImBte80/ZpVSBNiShr ODsdLRGYW4t7xPk8l1Zx+K/8bK4/SzYroyb0IZLyYlDlqKLe/X63pqR/y yMAfD9qTY2uwVQFIbkq7TkFKHJzxmicaL0nm8BW+NbWENBTCtTgq2C9Qo A==; X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="346599161" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="346599161" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 04:51:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="971420527" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="971420527" Received: from silpixa00401385.ir.intel.com ([10.237.214.156]) by fmsmga006.fm.intel.com with ESMTP; 21 Jul 2023 04:51:34 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [RFC PATCH 1/5] app/test: add new macros for various test types Date: Fri, 21 Jul 2023 12:51:21 +0100 Message-Id: <20230721115125.55137-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230721115125.55137-1-bruce.richardson@intel.com> References: <20230721115125.55137-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than just registering all tests using a single generic macro, add macros which identify the test as being of a particular type. Signed-off-by: Bruce Richardson --- app/test/test.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/test/test.h b/app/test/test.h index 85f57efbc6..a91ded76af 100644 --- a/app/test/test.h +++ b/app/test/test.h @@ -190,7 +190,7 @@ struct test_command { void add_test_command(struct test_command *t); -/* Register a test function with its command string */ +/* Register a test function with its command string. Should not be used directly */ #define REGISTER_TEST_COMMAND(cmd, func) \ static struct test_command test_struct_##cmd = { \ .command = RTE_STR(cmd), \ @@ -201,4 +201,11 @@ void add_test_command(struct test_command *t); add_test_command(&test_struct_##cmd); \ } +/* Register a test function as a particular type. + * These can be used to build up test suites automatically + */ +#define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func) +#define REGISTER_PERF_TEST REGISTER_TEST_COMMAND +#define REGISTER_DRIVER_TEST REGISTER_TEST_COMMAND + #endif From patchwork Fri Jul 21 11:51:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 129684 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D4CD42ED9; Fri, 21 Jul 2023 13:51:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7AA3842D0D; Fri, 21 Jul 2023 13:51:40 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id CB5D742D0D for ; Fri, 21 Jul 2023 13:51:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689940299; x=1721476299; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2QQKoCYSGCaCNNx3tBL408s5W8tvtO6TM7EKHeWAJ0c=; b=KkAyDiFv0sS/nVlqmfxpo2Kw58cfM0PRTC9oHL3wp8RtvmeDqCrsAU0j CMV/OUrHwqWzM7HMe0Ca9KuCeC3Gon6WGULCOAMYpESbYZTBkw9l7I1nu MAAOJOojJF7V5p/YTeDv23iyfO/2Vu4awwnN95cjuJ/SY7PR5aOgu+oy4 pPaR9Gs+zic+6CaOW4le3fhjJgbQ4vfyJwPp1SO/wNHcnD2HOoJG3WSmt o3WNAm6WTp718qTgXekhpFIkurKRONuRgJnVCx+VUsgLKEbIigS1h3NcS Ju8xUU9CIbVNx3Ijxm9w6L5XWh2TQ/wVQpGMLsqZh67TxNDn7K5Il35GG A==; X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="346599178" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="346599178" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 04:51:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="971420552" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="971420552" Received: from silpixa00401385.ir.intel.com ([10.237.214.156]) by fmsmga006.fm.intel.com with ESMTP; 21 Jul 2023 04:51:36 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [RFC PATCH 2/5] app/test: tag tests with the test type Date: Fri, 21 Jul 2023 12:51:22 +0100 Message-Id: <20230721115125.55137-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230721115125.55137-1-bruce.richardson@intel.com> References: <20230721115125.55137-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than having the test types called out in the meson.build file, we can use macros to identify the test type in the C file itself and then dynamically build up the tests lists at config time. Signed-off-by: Bruce Richardson --- NOTE: This replacement was automatically done using the list of tests given in the meson.build file. As can be seen by checking the repo after this, there were a number of tests not called out in any test suite. The addition of these tests to suites is a separate issue not covered by this patchset --- app/test/test_acl.c | 2 +- app/test/test_atomic.c | 2 +- app/test/test_barrier.c | 2 +- app/test/test_bitmap.c | 2 +- app/test/test_bitops.c | 2 +- app/test/test_bpf.c | 4 +-- app/test/test_byteorder.c | 2 +- app/test/test_cksum.c | 2 +- app/test/test_cmdline.c | 2 +- app/test/test_common.c | 2 +- app/test/test_cpuflags.c | 2 +- app/test/test_crc.c | 2 +- app/test/test_cryptodev.c | 38 ++++++++++++------------ app/test/test_cryptodev_asym.c | 2 +- app/test/test_cycles.c | 2 +- app/test/test_debug.c | 2 +- app/test/test_devargs.c | 2 +- app/test/test_distributor.c | 2 +- app/test/test_distributor_perf.c | 2 +- app/test/test_dmadev.c | 2 +- app/test/test_eal_flags.c | 24 +++++++-------- app/test/test_eal_fs.c | 2 +- app/test/test_efd.c | 2 +- app/test/test_efd_perf.c | 2 +- app/test/test_errno.c | 2 +- app/test/test_ethdev_link.c | 2 +- app/test/test_event_ring.c | 2 +- app/test/test_eventdev.c | 2 +- app/test/test_fbarray.c | 2 +- app/test/test_fib.c | 4 +-- app/test/test_fib6.c | 4 +-- app/test/test_fib6_perf.c | 2 +- app/test/test_fib_perf.c | 2 +- app/test/test_func_reentrancy.c | 2 +- app/test/test_hash.c | 2 +- app/test/test_hash_functions.c | 2 +- app/test/test_hash_multiwriter.c | 2 +- app/test/test_hash_perf.c | 2 +- app/test/test_hash_readwrite.c | 4 +-- app/test/test_hash_readwrite_lf_perf.c | 2 +- app/test/test_interrupts.c | 2 +- app/test/test_ipfrag.c | 2 +- app/test/test_ipsec.c | 2 +- app/test/test_ipsec_perf.c | 2 +- app/test/test_kni.c | 2 +- app/test/test_kvargs.c | 2 +- app/test/test_lcores.c | 2 +- app/test/test_logs.c | 2 +- app/test/test_lpm.c | 2 +- app/test/test_lpm6.c | 2 +- app/test/test_lpm6_perf.c | 2 +- app/test/test_lpm_perf.c | 2 +- app/test/test_malloc.c | 2 +- app/test/test_malloc_perf.c | 2 +- app/test/test_mbuf.c | 2 +- app/test/test_mcslock.c | 2 +- app/test/test_member.c | 2 +- app/test/test_member_perf.c | 2 +- app/test/test_memcpy.c | 2 +- app/test/test_memcpy_perf.c | 2 +- app/test/test_memory.c | 2 +- app/test/test_mempool.c | 2 +- app/test/test_mempool_perf.c | 2 +- app/test/test_memzone.c | 2 +- app/test/test_meter.c | 2 +- app/test/test_mp_secondary.c | 2 +- app/test/test_per_lcore.c | 2 +- app/test/test_pflock.c | 2 +- app/test/test_pie.c | 6 ++-- app/test/test_pmd_perf.c | 2 +- app/test/test_power.c | 2 +- app/test/test_power_cpufreq.c | 2 +- app/test/test_power_intel_uncore.c | 2 +- app/test/test_power_kvm_vm.c | 2 +- app/test/test_prefetch.c | 2 +- app/test/test_rand_perf.c | 2 +- app/test/test_rcu_qsbr.c | 2 +- app/test/test_rcu_qsbr_perf.c | 2 +- app/test/test_reassembly_perf.c | 2 +- app/test/test_reciprocal_division.c | 2 +- app/test/test_reciprocal_division_perf.c | 2 +- app/test/test_red.c | 4 +-- app/test/test_reorder.c | 2 +- app/test/test_rib.c | 4 +-- app/test/test_rib6.c | 4 +-- app/test/test_ring.c | 2 +- app/test/test_ring_perf.c | 2 +- app/test/test_rwlock.c | 8 ++--- app/test/test_sched.c | 2 +- app/test/test_security.c | 2 +- app/test/test_seqlock.c | 2 +- app/test/test_service_cores.c | 4 +-- app/test/test_spinlock.c | 2 +- app/test/test_stack.c | 4 +-- app/test/test_stack_perf.c | 4 +-- app/test/test_string_fns.c | 2 +- app/test/test_tailq.c | 2 +- app/test/test_thash.c | 2 +- app/test/test_thash_perf.c | 2 +- app/test/test_threads.c | 2 +- app/test/test_ticketlock.c | 2 +- app/test/test_timer.c | 2 +- app/test/test_timer_perf.c | 2 +- app/test/test_timer_racecond.c | 2 +- app/test/test_trace.c | 2 +- app/test/test_trace_perf.c | 2 +- app/test/test_version.c | 2 +- 107 files changed, 151 insertions(+), 151 deletions(-) -- 2.39.2 diff --git a/app/test/test_acl.c b/app/test/test_acl.c index 623f34682e..bf1466fe11 100644 --- a/app/test/test_acl.c +++ b/app/test/test_acl.c @@ -1749,4 +1749,4 @@ test_acl(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(acl_autotest, test_acl); +REGISTER_FAST_TEST(acl_autotest, True, True, test_acl); diff --git a/app/test/test_atomic.c b/app/test/test_atomic.c index e4b997827e..b52420c10b 100644 --- a/app/test/test_atomic.c +++ b/app/test/test_atomic.c @@ -631,4 +631,4 @@ test_atomic(void) return 0; } -REGISTER_TEST_COMMAND(atomic_autotest, test_atomic); +REGISTER_FAST_TEST(atomic_autotest, False, True, test_atomic); diff --git a/app/test/test_barrier.c b/app/test/test_barrier.c index ec69af25bf..925a88b68a 100644 --- a/app/test/test_barrier.c +++ b/app/test/test_barrier.c @@ -285,4 +285,4 @@ test_barrier(void) return ret; } -REGISTER_TEST_COMMAND(barrier_autotest, test_barrier); +REGISTER_PERF_TEST(barrier_autotest, test_barrier); diff --git a/app/test/test_bitmap.c b/app/test/test_bitmap.c index e9c61590ae..2014d2682c 100644 --- a/app/test/test_bitmap.c +++ b/app/test/test_bitmap.c @@ -269,4 +269,4 @@ test_bitmap(void) return test_bitmap_all_set(); } -REGISTER_TEST_COMMAND(bitmap_autotest, test_bitmap); +REGISTER_FAST_TEST(bitmap_autotest, True, True, test_bitmap); diff --git a/app/test/test_bitops.c b/app/test/test_bitops.c index c21426bf2f..dac466602b 100644 --- a/app/test/test_bitops.c +++ b/app/test/test_bitops.c @@ -135,4 +135,4 @@ test_bitops(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(bitops_autotest, test_bitops); +REGISTER_FAST_TEST(bitops_autotest, True, True, test_bitops); diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c index f5af5e8a3f..5fef17fbc2 100644 --- a/app/test/test_bpf.c +++ b/app/test/test_bpf.c @@ -3262,7 +3262,7 @@ test_bpf(void) #endif /* !RTE_LIB_BPF */ -REGISTER_TEST_COMMAND(bpf_autotest, test_bpf); +REGISTER_FAST_TEST(bpf_autotest, True, True, test_bpf); #ifndef RTE_HAS_LIBPCAP @@ -3473,4 +3473,4 @@ test_bpf_convert(void) #endif /* RTE_HAS_LIBPCAP */ -REGISTER_TEST_COMMAND(bpf_convert_autotest, test_bpf_convert); +REGISTER_FAST_TEST(bpf_convert_autotest, True, True, test_bpf_convert); diff --git a/app/test/test_byteorder.c b/app/test/test_byteorder.c index de14ed539e..2189f94744 100644 --- a/app/test/test_byteorder.c +++ b/app/test/test_byteorder.c @@ -63,4 +63,4 @@ test_byteorder(void) return 0; } -REGISTER_TEST_COMMAND(byteorder_autotest, test_byteorder); +REGISTER_FAST_TEST(byteorder_autotest, True, True, test_byteorder); diff --git a/app/test/test_cksum.c b/app/test/test_cksum.c index 6c15de9a93..c04fae800e 100644 --- a/app/test/test_cksum.c +++ b/app/test/test_cksum.c @@ -267,4 +267,4 @@ test_cksum(void) } #undef GOTO_FAIL -REGISTER_TEST_COMMAND(cksum_autotest, test_cksum); +REGISTER_FAST_TEST(cksum_autotest, True, True, test_cksum); diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c index 115bee966d..c2a375ac1c 100644 --- a/app/test/test_cmdline.c +++ b/app/test/test_cmdline.c @@ -60,4 +60,4 @@ test_cmdline(void) return 0; } -REGISTER_TEST_COMMAND(cmdline_autotest, test_cmdline); +REGISTER_FAST_TEST(cmdline_autotest, True, True, test_cmdline); diff --git a/app/test/test_common.c b/app/test/test_common.c index f89e1eb7ee..c7b41a3f0e 100644 --- a/app/test/test_common.c +++ b/app/test/test_common.c @@ -350,4 +350,4 @@ test_common(void) return ret; } -REGISTER_TEST_COMMAND(common_autotest, test_common); +REGISTER_FAST_TEST(common_autotest, True, True, test_common); diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c index a0e342ae48..c3417dda24 100644 --- a/app/test/test_cpuflags.c +++ b/app/test/test_cpuflags.c @@ -334,4 +334,4 @@ test_cpuflags(void) return 0; } -REGISTER_TEST_COMMAND(cpuflags_autotest, test_cpuflags); +REGISTER_FAST_TEST(cpuflags_autotest, True, True, test_cpuflags); diff --git a/app/test/test_crc.c b/app/test/test_crc.c index 5edc8fb13b..b267bdde9f 100644 --- a/app/test/test_crc.c +++ b/app/test/test_crc.c @@ -171,4 +171,4 @@ test_crc(void) return 0; } -REGISTER_TEST_COMMAND(crc_autotest, test_crc); +REGISTER_FAST_TEST(crc_autotest, True, True, test_crc); diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index fb2af40b99..956268bfcd 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -17535,33 +17535,33 @@ REGISTER_TEST_COMMAND(cryptodev_dpaa2_sec_raw_api_autotest, test_cryptodev_dpaa2_sec_raw_api); REGISTER_TEST_COMMAND(cryptodev_dpaa_sec_raw_api_autotest, test_cryptodev_dpaa_sec_raw_api); -REGISTER_TEST_COMMAND(cryptodev_qat_raw_api_autotest, +REGISTER_DRIVER_TEST(cryptodev_qat_raw_api_autotest, test_cryptodev_qat_raw_api); -REGISTER_TEST_COMMAND(cryptodev_qat_autotest, test_cryptodev_qat); -REGISTER_TEST_COMMAND(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb); -REGISTER_TEST_COMMAND(cryptodev_cpu_aesni_mb_autotest, +REGISTER_DRIVER_TEST(cryptodev_qat_autotest, test_cryptodev_qat); +REGISTER_DRIVER_TEST(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb); +REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_mb_autotest, test_cryptodev_cpu_aesni_mb); -REGISTER_TEST_COMMAND(cryptodev_chacha_poly_mb_autotest, +REGISTER_DRIVER_TEST(cryptodev_chacha_poly_mb_autotest, test_cryptodev_chacha_poly_mb); -REGISTER_TEST_COMMAND(cryptodev_openssl_autotest, test_cryptodev_openssl); -REGISTER_TEST_COMMAND(cryptodev_aesni_gcm_autotest, test_cryptodev_aesni_gcm); -REGISTER_TEST_COMMAND(cryptodev_cpu_aesni_gcm_autotest, +REGISTER_DRIVER_TEST(cryptodev_openssl_autotest, test_cryptodev_openssl); +REGISTER_DRIVER_TEST(cryptodev_aesni_gcm_autotest, test_cryptodev_aesni_gcm); +REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_gcm_autotest, test_cryptodev_cpu_aesni_gcm); REGISTER_TEST_COMMAND(cryptodev_mlx5_autotest, test_cryptodev_mlx5); -REGISTER_TEST_COMMAND(cryptodev_null_autotest, test_cryptodev_null); -REGISTER_TEST_COMMAND(cryptodev_sw_snow3g_autotest, test_cryptodev_sw_snow3g); -REGISTER_TEST_COMMAND(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi); -REGISTER_TEST_COMMAND(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc); -REGISTER_TEST_COMMAND(cryptodev_sw_armv8_autotest, test_cryptodev_armv8); -REGISTER_TEST_COMMAND(cryptodev_sw_mvsam_autotest, test_cryptodev_mrvl); -REGISTER_TEST_COMMAND(cryptodev_dpaa2_sec_autotest, test_cryptodev_dpaa2_sec); -REGISTER_TEST_COMMAND(cryptodev_dpaa_sec_autotest, test_cryptodev_dpaa_sec); +REGISTER_DRIVER_TEST(cryptodev_null_autotest, test_cryptodev_null); +REGISTER_DRIVER_TEST(cryptodev_sw_snow3g_autotest, test_cryptodev_sw_snow3g); +REGISTER_DRIVER_TEST(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi); +REGISTER_DRIVER_TEST(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc); +REGISTER_DRIVER_TEST(cryptodev_sw_armv8_autotest, test_cryptodev_armv8); +REGISTER_DRIVER_TEST(cryptodev_sw_mvsam_autotest, test_cryptodev_mrvl); +REGISTER_DRIVER_TEST(cryptodev_dpaa2_sec_autotest, test_cryptodev_dpaa2_sec); +REGISTER_DRIVER_TEST(cryptodev_dpaa_sec_autotest, test_cryptodev_dpaa_sec); REGISTER_TEST_COMMAND(cryptodev_ccp_autotest, test_cryptodev_ccp); -REGISTER_TEST_COMMAND(cryptodev_uadk_autotest, test_cryptodev_uadk); +REGISTER_DRIVER_TEST(cryptodev_uadk_autotest, test_cryptodev_uadk); REGISTER_TEST_COMMAND(cryptodev_virtio_autotest, test_cryptodev_virtio); REGISTER_TEST_COMMAND(cryptodev_octeontx_autotest, test_cryptodev_octeontx); REGISTER_TEST_COMMAND(cryptodev_caam_jr_autotest, test_cryptodev_caam_jr); REGISTER_TEST_COMMAND(cryptodev_nitrox_autotest, test_cryptodev_nitrox); REGISTER_TEST_COMMAND(cryptodev_bcmfs_autotest, test_cryptodev_bcmfs); -REGISTER_TEST_COMMAND(cryptodev_cn9k_autotest, test_cryptodev_cn9k); -REGISTER_TEST_COMMAND(cryptodev_cn10k_autotest, test_cryptodev_cn10k); +REGISTER_DRIVER_TEST(cryptodev_cn9k_autotest, test_cryptodev_cn9k); +REGISTER_DRIVER_TEST(cryptodev_cn10k_autotest, test_cryptodev_cn10k); diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c index 0ef2642fdd..3d5a73bf89 100644 --- a/app/test/test_cryptodev_asym.c +++ b/app/test/test_cryptodev_asym.c @@ -2828,7 +2828,7 @@ test_cryptodev_cn10k_asym(void) REGISTER_TEST_COMMAND(cryptodev_openssl_asym_autotest, test_cryptodev_openssl_asym); -REGISTER_TEST_COMMAND(cryptodev_qat_asym_autotest, test_cryptodev_qat_asym); +REGISTER_DRIVER_TEST(cryptodev_qat_asym_autotest, test_cryptodev_qat_asym); REGISTER_TEST_COMMAND(cryptodev_octeontx_asym_autotest, test_cryptodev_octeontx_asym); diff --git a/app/test/test_cycles.c b/app/test/test_cycles.c index 66d11e6db8..08c91cef78 100644 --- a/app/test/test_cycles.c +++ b/app/test/test_cycles.c @@ -53,4 +53,4 @@ test_user_delay_us(void) return 0; } -REGISTER_TEST_COMMAND(user_delay_us, test_user_delay_us); +REGISTER_FAST_TEST(user_delay_us, True, True, test_user_delay_us); diff --git a/app/test/test_debug.c b/app/test/test_debug.c index 2704f5b927..acd9542257 100644 --- a/app/test/test_debug.c +++ b/app/test/test_debug.c @@ -140,4 +140,4 @@ test_debug(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(debug_autotest, test_debug); +REGISTER_FAST_TEST(debug_autotest, True, True, test_debug); diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c index 0a4c34a1ad..59ec04957e 100644 --- a/app/test/test_devargs.c +++ b/app/test/test_devargs.c @@ -213,4 +213,4 @@ test_devargs(void) return 0; } -REGISTER_TEST_COMMAND(devargs_autotest, test_devargs); +REGISTER_FAST_TEST(devargs_autotest, True, True, test_devargs); diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index 3efa4af104..ee263a7fee 100644 --- a/app/test/test_distributor.c +++ b/app/test/test_distributor.c @@ -952,4 +952,4 @@ test_distributor(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(distributor_autotest, test_distributor); +REGISTER_FAST_TEST(distributor_autotest, False, True, test_distributor); diff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c index ee4321486d..ca868451d7 100644 --- a/app/test/test_distributor_perf.c +++ b/app/test/test_distributor_perf.c @@ -277,4 +277,4 @@ test_distributor_perf(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(distributor_perf_autotest, test_distributor_perf); +REGISTER_PERF_TEST(distributor_perf_autotest, test_distributor_perf); diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c index 0736ff2a18..6ef875e545 100644 --- a/app/test/test_dmadev.c +++ b/app/test/test_dmadev.c @@ -941,4 +941,4 @@ test_dma(void) return 0; } -REGISTER_TEST_COMMAND(dmadev_autotest, test_dma); +REGISTER_DRIVER_TEST(dmadev_autotest, test_dma); diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c index d2b91e2075..e016881191 100644 --- a/app/test/test_eal_flags.c +++ b/app/test/test_eal_flags.c @@ -1644,15 +1644,15 @@ test_memory_flags(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(eal_flags_c_opt_autotest, test_missing_c_flag); -REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag); -REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag); -REGISTER_TEST_COMMAND(eal_flags_hpet_autotest, test_no_hpet_flag); -REGISTER_TEST_COMMAND(eal_flags_no_huge_autotest, test_no_huge_flag); -REGISTER_TEST_COMMAND(eal_flags_a_opt_autotest, test_allow_flag); -REGISTER_TEST_COMMAND(eal_flags_b_opt_autotest, test_invalid_b_flag); -REGISTER_TEST_COMMAND(eal_flags_vdev_opt_autotest, test_invalid_vdev_flag); -REGISTER_TEST_COMMAND(eal_flags_r_opt_autotest, test_invalid_r_flag); -REGISTER_TEST_COMMAND(eal_flags_mem_autotest, test_memory_flags); -REGISTER_TEST_COMMAND(eal_flags_file_prefix_autotest, test_file_prefix); -REGISTER_TEST_COMMAND(eal_flags_misc_autotest, test_misc_flags); +REGISTER_FAST_TEST(eal_flags_c_opt_autotest, False, False, test_missing_c_flag); +REGISTER_FAST_TEST(eal_flags_main_opt_autotest, False, False, test_main_lcore_flag); +REGISTER_FAST_TEST(eal_flags_n_opt_autotest, False, False, test_invalid_n_flag); +REGISTER_FAST_TEST(eal_flags_hpet_autotest, False, False, test_no_hpet_flag); +REGISTER_FAST_TEST(eal_flags_no_huge_autotest, False, False, test_no_huge_flag); +REGISTER_FAST_TEST(eal_flags_a_opt_autotest, False, False, test_allow_flag); +REGISTER_FAST_TEST(eal_flags_b_opt_autotest, False, False, test_invalid_b_flag); +REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, False, False, test_invalid_vdev_flag); +REGISTER_FAST_TEST(eal_flags_r_opt_autotest, False, False, test_invalid_r_flag); +REGISTER_FAST_TEST(eal_flags_mem_autotest, False, False, test_memory_flags); +REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, False, False, test_file_prefix); +REGISTER_FAST_TEST(eal_flags_misc_autotest, False, False, test_misc_flags); diff --git a/app/test/test_eal_fs.c b/app/test/test_eal_fs.c index b3686edcb4..a4bdc1236d 100644 --- a/app/test/test_eal_fs.c +++ b/app/test/test_eal_fs.c @@ -185,4 +185,4 @@ test_eal_fs(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(eal_fs_autotest, test_eal_fs); +REGISTER_FAST_TEST(eal_fs_autotest, True, True, test_eal_fs); diff --git a/app/test/test_efd.c b/app/test/test_efd.c index fa29e8f97a..1c0986b9bc 100644 --- a/app/test/test_efd.c +++ b/app/test/test_efd.c @@ -473,4 +473,4 @@ test_efd(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(efd_autotest, test_efd); +REGISTER_PERF_TEST(efd_autotest, test_efd); diff --git a/app/test/test_efd_perf.c b/app/test/test_efd_perf.c index 4d04ed93e3..b212e96767 100644 --- a/app/test/test_efd_perf.c +++ b/app/test/test_efd_perf.c @@ -393,4 +393,4 @@ test_efd_perf(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(efd_perf_autotest, test_efd_perf); +REGISTER_PERF_TEST(efd_perf_autotest, test_efd_perf); diff --git a/app/test/test_errno.c b/app/test/test_errno.c index 0db4fbc8b3..1082299665 100644 --- a/app/test/test_errno.c +++ b/app/test/test_errno.c @@ -94,4 +94,4 @@ test_errno(void) return 0; } -REGISTER_TEST_COMMAND(errno_autotest, test_errno); +REGISTER_FAST_TEST(errno_autotest, True, True, test_errno); diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c index ab52385a12..d73e18065d 100644 --- a/app/test/test_ethdev_link.c +++ b/app/test/test_ethdev_link.c @@ -167,4 +167,4 @@ test_link_status(void) return unit_test_suite_runner(&link_status_testsuite); } -REGISTER_TEST_COMMAND(ethdev_link_status, test_link_status); +REGISTER_FAST_TEST(ethdev_link_status, True, True, test_link_status); diff --git a/app/test/test_event_ring.c b/app/test/test_event_ring.c index bc4a6e73f5..d5c8499cfd 100644 --- a/app/test/test_event_ring.c +++ b/app/test/test_event_ring.c @@ -256,4 +256,4 @@ test_event_ring(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(event_ring_autotest, test_event_ring); +REGISTER_FAST_TEST(event_ring_autotest, True, True, test_event_ring); diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c index 336529038e..e65d893781 100644 --- a/app/test/test_eventdev.c +++ b/app/test/test_eventdev.c @@ -1256,7 +1256,7 @@ test_eventdev_selftest_cn10k(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(eventdev_common_autotest, test_eventdev_common); +REGISTER_FAST_TEST(eventdev_common_autotest, True, True, test_eventdev_common); #ifndef RTE_EXEC_ENV_WINDOWS REGISTER_TEST_COMMAND(eventdev_selftest_sw, test_eventdev_selftest_sw); diff --git a/app/test/test_fbarray.c b/app/test/test_fbarray.c index a691bf4458..03428a45fe 100644 --- a/app/test/test_fbarray.c +++ b/app/test/test_fbarray.c @@ -733,4 +733,4 @@ test_fbarray(void) return unit_test_suite_runner(&fbarray_test_suite); } -REGISTER_TEST_COMMAND(fbarray_autotest, test_fbarray); +REGISTER_FAST_TEST(fbarray_autotest, True, True, test_fbarray); diff --git a/app/test/test_fib.c b/app/test/test_fib.c index eb69d6e2fd..2a8404db61 100644 --- a/app/test/test_fib.c +++ b/app/test/test_fib.c @@ -415,5 +415,5 @@ test_slow_fib(void) return unit_test_suite_runner(&fib_slow_tests); } -REGISTER_TEST_COMMAND(fib_autotest, test_fib); -REGISTER_TEST_COMMAND(fib_slow_autotest, test_slow_fib); +REGISTER_FAST_TEST(fib_autotest, True, True, test_fib); +REGISTER_PERF_TEST(fib_slow_autotest, test_slow_fib); diff --git a/app/test/test_fib6.c b/app/test/test_fib6.c index 15ad09178a..9b1c0ac8c7 100644 --- a/app/test/test_fib6.c +++ b/app/test/test_fib6.c @@ -424,5 +424,5 @@ test_slow_fib6(void) return unit_test_suite_runner(&fib6_slow_tests); } -REGISTER_TEST_COMMAND(fib6_autotest, test_fib6); -REGISTER_TEST_COMMAND(fib6_slow_autotest, test_slow_fib6); +REGISTER_FAST_TEST(fib6_autotest, True, True, test_fib6); +REGISTER_PERF_TEST(fib6_slow_autotest, test_slow_fib6); diff --git a/app/test/test_fib6_perf.c b/app/test/test_fib6_perf.c index add20c2331..a7abc46af9 100644 --- a/app/test/test_fib6_perf.c +++ b/app/test/test_fib6_perf.c @@ -156,4 +156,4 @@ test_fib6_perf(void) return 0; } -REGISTER_TEST_COMMAND(fib6_perf_autotest, test_fib6_perf); +REGISTER_PERF_TEST(fib6_perf_autotest, test_fib6_perf); diff --git a/app/test/test_fib_perf.c b/app/test/test_fib_perf.c index b56293e64f..a9119c1bb0 100644 --- a/app/test/test_fib_perf.c +++ b/app/test/test_fib_perf.c @@ -409,4 +409,4 @@ test_fib_perf(void) return 0; } -REGISTER_TEST_COMMAND(fib_perf_autotest, test_fib_perf); +REGISTER_PERF_TEST(fib_perf_autotest, test_fib_perf); diff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c index ae9de6f93d..63b00009b5 100644 --- a/app/test/test_func_reentrancy.c +++ b/app/test/test_func_reentrancy.c @@ -507,4 +507,4 @@ test_func_reentrancy(void) return 0; } -REGISTER_TEST_COMMAND(func_reentrancy_autotest, test_func_reentrancy); +REGISTER_FAST_TEST(func_reentrancy_autotest, False, True, test_func_reentrancy); diff --git a/app/test/test_hash.c b/app/test/test_hash.c index 3e45afaa67..e160b27b4c 100644 --- a/app/test/test_hash.c +++ b/app/test/test_hash.c @@ -2264,4 +2264,4 @@ test_hash(void) return 0; } -REGISTER_TEST_COMMAND(hash_autotest, test_hash); +REGISTER_FAST_TEST(hash_autotest, True, True, test_hash); diff --git a/app/test/test_hash_functions.c b/app/test/test_hash_functions.c index 76d51b6e71..70820d1f19 100644 --- a/app/test/test_hash_functions.c +++ b/app/test/test_hash_functions.c @@ -290,4 +290,4 @@ test_hash_functions(void) return 0; } -REGISTER_TEST_COMMAND(hash_functions_autotest, test_hash_functions); +REGISTER_PERF_TEST(hash_functions_autotest, test_hash_functions); diff --git a/app/test/test_hash_multiwriter.c b/app/test/test_hash_multiwriter.c index 0c5a8ca186..dd5ca677b9 100644 --- a/app/test/test_hash_multiwriter.c +++ b/app/test/test_hash_multiwriter.c @@ -287,4 +287,4 @@ test_hash_multiwriter_main(void) return 0; } -REGISTER_TEST_COMMAND(hash_multiwriter_autotest, test_hash_multiwriter_main); +REGISTER_PERF_TEST(hash_multiwriter_autotest, test_hash_multiwriter_main); diff --git a/app/test/test_hash_perf.c b/app/test/test_hash_perf.c index 14a1283aba..d66b96e5ce 100644 --- a/app/test/test_hash_perf.c +++ b/app/test/test_hash_perf.c @@ -757,4 +757,4 @@ test_hash_perf(void) return 0; } -REGISTER_TEST_COMMAND(hash_perf_autotest, test_hash_perf); +REGISTER_PERF_TEST(hash_perf_autotest, test_hash_perf); diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c index 6373e62d33..9c33b49878 100644 --- a/app/test/test_hash_readwrite.c +++ b/app/test/test_hash_readwrite.c @@ -760,5 +760,5 @@ test_hash_rw_func_main(void) return 0; } -REGISTER_TEST_COMMAND(hash_readwrite_func_autotest, test_hash_rw_func_main); -REGISTER_TEST_COMMAND(hash_readwrite_perf_autotest, test_hash_rw_perf_main); +REGISTER_FAST_TEST(hash_readwrite_func_autotest, False, True, test_hash_rw_func_main); +REGISTER_PERF_TEST(hash_readwrite_perf_autotest, test_hash_rw_perf_main); diff --git a/app/test/test_hash_readwrite_lf_perf.c b/app/test/test_hash_readwrite_lf_perf.c index cf86046a2f..5d18850e19 100644 --- a/app/test/test_hash_readwrite_lf_perf.c +++ b/app/test/test_hash_readwrite_lf_perf.c @@ -1579,5 +1579,5 @@ test_hash_readwrite_lf_perf_main(void) return 0; } -REGISTER_TEST_COMMAND(hash_readwrite_lf_perf_autotest, +REGISTER_PERF_TEST(hash_readwrite_lf_perf_autotest, test_hash_readwrite_lf_perf_main); diff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c index b59ab42699..cf6b5a6a8e 100644 --- a/app/test/test_interrupts.c +++ b/app/test/test_interrupts.c @@ -594,4 +594,4 @@ test_interrupt(void) return ret; } -REGISTER_TEST_COMMAND(interrupt_autotest, test_interrupt); +REGISTER_FAST_TEST(interrupt_autotest, True, True, test_interrupt); diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c index 402ce361c1..264825634d 100644 --- a/app/test/test_ipfrag.c +++ b/app/test/test_ipfrag.c @@ -510,4 +510,4 @@ test_ipfrag(void) } -REGISTER_TEST_COMMAND(ipfrag_autotest, test_ipfrag); +REGISTER_FAST_TEST(ipfrag_autotest, False, True, test_ipfrag); diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index c2a52ec305..629580bc21 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -2532,4 +2532,4 @@ test_ipsec(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(ipsec_autotest, test_ipsec); +REGISTER_FAST_TEST(ipsec_autotest, True, True, test_ipsec); diff --git a/app/test/test_ipsec_perf.c b/app/test/test_ipsec_perf.c index b221b7fc32..a32a2086e9 100644 --- a/app/test/test_ipsec_perf.c +++ b/app/test/test_ipsec_perf.c @@ -631,4 +631,4 @@ test_libipsec_perf(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(ipsec_perf_autotest, test_libipsec_perf); +REGISTER_PERF_TEST(ipsec_perf_autotest, test_libipsec_perf); diff --git a/app/test/test_kni.c b/app/test/test_kni.c index 4039da0b08..70b1bd6a05 100644 --- a/app/test/test_kni.c +++ b/app/test/test_kni.c @@ -737,4 +737,4 @@ test_kni(void) #endif -REGISTER_TEST_COMMAND(kni_autotest, test_kni); +REGISTER_FAST_TEST(kni_autotest, False, True, test_kni); diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c index b7b97a0dd9..d0f05a55c7 100644 --- a/app/test/test_kvargs.c +++ b/app/test/test_kvargs.c @@ -292,4 +292,4 @@ test_kvargs(void) return 0; } -REGISTER_TEST_COMMAND(kvargs_autotest, test_kvargs); +REGISTER_FAST_TEST(kvargs_autotest, True, True, test_kvargs); diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c index 2c945b0136..b86629c0db 100644 --- a/app/test/test_lcores.c +++ b/app/test/test_lcores.c @@ -412,4 +412,4 @@ test_lcores(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(lcores_autotest, test_lcores); +REGISTER_FAST_TEST(lcores_autotest, True, True, test_lcores); diff --git a/app/test/test_logs.c b/app/test/test_logs.c index 8da8824bee..38052910e9 100644 --- a/app/test/test_logs.c +++ b/app/test/test_logs.c @@ -158,4 +158,4 @@ test_logs(void) return 0; } -REGISTER_TEST_COMMAND(logs_autotest, test_logs); +REGISTER_FAST_TEST(logs_autotest, True, True, test_logs); diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c index 37b460af3a..85a75ccec0 100644 --- a/app/test/test_lpm.c +++ b/app/test/test_lpm.c @@ -1584,4 +1584,4 @@ test_lpm(void) return global_status; } -REGISTER_TEST_COMMAND(lpm_autotest, test_lpm); +REGISTER_FAST_TEST(lpm_autotest, True, True, test_lpm); diff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c index b6b6f8615e..4a9eddf276 100644 --- a/app/test/test_lpm6.c +++ b/app/test/test_lpm6.c @@ -1793,4 +1793,4 @@ test_lpm6(void) return global_status; } -REGISTER_TEST_COMMAND(lpm6_autotest, test_lpm6); +REGISTER_FAST_TEST(lpm6_autotest, True, True, test_lpm6); diff --git a/app/test/test_lpm6_perf.c b/app/test/test_lpm6_perf.c index 5b684686a6..8a49f74c84 100644 --- a/app/test/test_lpm6_perf.c +++ b/app/test/test_lpm6_perf.c @@ -161,4 +161,4 @@ test_lpm6_perf(void) return 0; } -REGISTER_TEST_COMMAND(lpm6_perf_autotest, test_lpm6_perf); +REGISTER_PERF_TEST(lpm6_perf_autotest, test_lpm6_perf); diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c index e72437ba38..15ff396dd0 100644 --- a/app/test/test_lpm_perf.c +++ b/app/test/test_lpm_perf.c @@ -760,4 +760,4 @@ test_lpm_perf(void) return 0; } -REGISTER_TEST_COMMAND(lpm_perf_autotest, test_lpm_perf); +REGISTER_PERF_TEST(lpm_perf_autotest, test_lpm_perf); diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c index ff081dd931..6057623473 100644 --- a/app/test/test_malloc.c +++ b/app/test/test_malloc.c @@ -1091,4 +1091,4 @@ test_malloc(void) return 0; } -REGISTER_TEST_COMMAND(malloc_autotest, test_malloc); +REGISTER_FAST_TEST(malloc_autotest, False, True, test_malloc); diff --git a/app/test/test_malloc_perf.c b/app/test/test_malloc_perf.c index 9bd1662981..a99bfd8531 100644 --- a/app/test/test_malloc_perf.c +++ b/app/test/test_malloc_perf.c @@ -171,4 +171,4 @@ test_malloc_perf(void) return 0; } -REGISTER_TEST_COMMAND(malloc_perf_autotest, test_malloc_perf); +REGISTER_PERF_TEST(malloc_perf_autotest, test_malloc_perf); diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index efac01806b..2eeed268af 100644 --- a/app/test/test_mbuf.c +++ b/app/test/test_mbuf.c @@ -2955,4 +2955,4 @@ test_mbuf(void) } #undef GOTO_FAIL -REGISTER_TEST_COMMAND(mbuf_autotest, test_mbuf); +REGISTER_FAST_TEST(mbuf_autotest, False, True, test_mbuf); diff --git a/app/test/test_mcslock.c b/app/test/test_mcslock.c index 52e45e7e2a..a3753a4397 100644 --- a/app/test/test_mcslock.c +++ b/app/test/test_mcslock.c @@ -241,4 +241,4 @@ test_mcslock(void) return ret; } -REGISTER_TEST_COMMAND(mcslock_autotest, test_mcslock); +REGISTER_FAST_TEST(mcslock_autotest, False, True, test_mcslock); diff --git a/app/test/test_member.c b/app/test/test_member.c index 4a93f8bff4..e17a8f3190 100644 --- a/app/test/test_member.c +++ b/app/test/test_member.c @@ -996,4 +996,4 @@ test_member(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(member_autotest, test_member); +REGISTER_FAST_TEST(member_autotest, True, True, test_member); diff --git a/app/test/test_member_perf.c b/app/test/test_member_perf.c index 2f79888fbd..db6b8a18ef 100644 --- a/app/test/test_member_perf.c +++ b/app/test/test_member_perf.c @@ -780,4 +780,4 @@ test_member_perf(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(member_perf_autotest, test_member_perf); +REGISTER_PERF_TEST(member_perf_autotest, test_member_perf); diff --git a/app/test/test_memcpy.c b/app/test/test_memcpy.c index 1ab86f4967..c81efb85c2 100644 --- a/app/test/test_memcpy.c +++ b/app/test/test_memcpy.c @@ -129,4 +129,4 @@ test_memcpy(void) return 0; } -REGISTER_TEST_COMMAND(memcpy_autotest, test_memcpy); +REGISTER_FAST_TEST(memcpy_autotest, True, True, test_memcpy); diff --git a/app/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c index 3727c160e6..5c05a84619 100644 --- a/app/test/test_memcpy_perf.c +++ b/app/test/test_memcpy_perf.c @@ -348,4 +348,4 @@ test_memcpy_perf(void) return 0; } -REGISTER_TEST_COMMAND(memcpy_perf_autotest, test_memcpy_perf); +REGISTER_PERF_TEST(memcpy_perf_autotest, test_memcpy_perf); diff --git a/app/test/test_memory.c b/app/test/test_memory.c index 440e5ef838..13ae9569c2 100644 --- a/app/test/test_memory.c +++ b/app/test/test_memory.c @@ -110,4 +110,4 @@ test_memory(void) return 0; } -REGISTER_TEST_COMMAND(memory_autotest, test_memory); +REGISTER_FAST_TEST(memory_autotest, False, True, test_memory); diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c index 8e493eda47..03047e5b14 100644 --- a/app/test/test_mempool.c +++ b/app/test/test_mempool.c @@ -1043,4 +1043,4 @@ test_mempool(void) return ret; } -REGISTER_TEST_COMMAND(mempool_autotest, test_mempool); +REGISTER_FAST_TEST(mempool_autotest, False, True, test_mempool); diff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c index ce7c6241ab..96de347f04 100644 --- a/app/test/test_mempool_perf.c +++ b/app/test/test_mempool_perf.c @@ -437,4 +437,4 @@ test_mempool_perf(void) return ret; } -REGISTER_TEST_COMMAND(mempool_perf_autotest, test_mempool_perf); +REGISTER_PERF_TEST(mempool_perf_autotest, test_mempool_perf); diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c index f10f4fd9cd..85b5839034 100644 --- a/app/test/test_memzone.c +++ b/app/test/test_memzone.c @@ -1163,4 +1163,4 @@ test_memzone(void) return 0; } -REGISTER_TEST_COMMAND(memzone_autotest, test_memzone); +REGISTER_FAST_TEST(memzone_autotest, False, True, test_memzone); diff --git a/app/test/test_meter.c b/app/test/test_meter.c index 15d5a4839b..3016681bbc 100644 --- a/app/test/test_meter.c +++ b/app/test/test_meter.c @@ -713,4 +713,4 @@ test_meter(void) } -REGISTER_TEST_COMMAND(meter_autotest, test_meter); +REGISTER_FAST_TEST(meter_autotest, True, True, test_meter); diff --git a/app/test/test_mp_secondary.c b/app/test/test_mp_secondary.c index ad47d578f2..502b0235a7 100644 --- a/app/test/test_mp_secondary.c +++ b/app/test/test_mp_secondary.c @@ -223,4 +223,4 @@ test_mp_secondary(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(multiprocess_autotest, test_mp_secondary); +REGISTER_FAST_TEST(multiprocess_autotest, False, False, test_mp_secondary); diff --git a/app/test/test_per_lcore.c b/app/test/test_per_lcore.c index 129578d1a3..50011366a7 100644 --- a/app/test/test_per_lcore.c +++ b/app/test/test_per_lcore.c @@ -105,4 +105,4 @@ test_per_lcore(void) return 0; } -REGISTER_TEST_COMMAND(per_lcore_autotest, test_per_lcore); +REGISTER_FAST_TEST(per_lcore_autotest, True, True, test_per_lcore); diff --git a/app/test/test_pflock.c b/app/test/test_pflock.c index 38da6bce27..07e4a68c2c 100644 --- a/app/test/test_pflock.c +++ b/app/test/test_pflock.c @@ -193,4 +193,4 @@ test_pflock(void) return 0; } -REGISTER_TEST_COMMAND(pflock_autotest, test_pflock); +REGISTER_FAST_TEST(pflock_autotest, True, True, test_pflock); diff --git a/app/test/test_pie.c b/app/test/test_pie.c index a3c0f97c9d..5674602b69 100644 --- a/app/test/test_pie.c +++ b/app/test/test_pie.c @@ -1087,6 +1087,6 @@ test_pie_all(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(pie_autotest, test_pie); -REGISTER_TEST_COMMAND(pie_perf, test_pie_perf); -REGISTER_TEST_COMMAND(pie_all, test_pie_all); +REGISTER_FAST_TEST(pie_autotest, True, True, test_pie); +REGISTER_PERF_TEST(pie_perf, test_pie_perf); +REGISTER_PERF_TEST(pie_all, test_pie_all); diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c index 3ef590cb51..f6d97f21c9 100644 --- a/app/test/test_pmd_perf.c +++ b/app/test/test_pmd_perf.c @@ -899,4 +899,4 @@ test_set_rxtx_sc(cmdline_fixed_string_t type) return -1; } -REGISTER_TEST_COMMAND(pmd_perf_autotest, test_pmd_perf); +REGISTER_PERF_TEST(pmd_perf_autotest, test_pmd_perf); diff --git a/app/test/test_power.c b/app/test/test_power.c index b7b5561348..d4f622ff2f 100644 --- a/app/test/test_power.c +++ b/app/test/test_power.c @@ -172,4 +172,4 @@ test_power(void) } #endif -REGISTER_TEST_COMMAND(power_autotest, test_power); +REGISTER_FAST_TEST(power_autotest, True, True, test_power); diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 4d013cd7bb..f56053ac10 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -703,5 +703,5 @@ test_power_caps(void) #endif -REGISTER_TEST_COMMAND(power_cpufreq_autotest, test_power_cpufreq); +REGISTER_FAST_TEST(power_cpufreq_autotest, False, True, test_power_cpufreq); REGISTER_TEST_COMMAND(power_caps_autotest, test_power_caps); diff --git a/app/test/test_power_intel_uncore.c b/app/test/test_power_intel_uncore.c index 31163af84e..c8a8621e44 100644 --- a/app/test/test_power_intel_uncore.c +++ b/app/test/test_power_intel_uncore.c @@ -298,4 +298,4 @@ test_power_intel_uncore(void) } #endif -REGISTER_TEST_COMMAND(power_intel_uncore_autotest, test_power_intel_uncore); +REGISTER_FAST_TEST(power_intel_uncore_autotest, True, True, test_power_intel_uncore); diff --git a/app/test/test_power_kvm_vm.c b/app/test/test_power_kvm_vm.c index cc66b7a8a0..4919df8b62 100644 --- a/app/test/test_power_kvm_vm.c +++ b/app/test/test_power_kvm_vm.c @@ -299,4 +299,4 @@ test_power_kvm_vm(void) } #endif -REGISTER_TEST_COMMAND(power_kvm_vm_autotest, test_power_kvm_vm); +REGISTER_FAST_TEST(power_kvm_vm_autotest, False, True, test_power_kvm_vm); diff --git a/app/test/test_prefetch.c b/app/test/test_prefetch.c index 7b4a8e4144..a72ae80557 100644 --- a/app/test/test_prefetch.c +++ b/app/test/test_prefetch.c @@ -35,4 +35,4 @@ test_prefetch(void) return 0; } -REGISTER_TEST_COMMAND(prefetch_autotest, test_prefetch); +REGISTER_FAST_TEST(prefetch_autotest, True, True, test_prefetch); diff --git a/app/test/test_rand_perf.c b/app/test/test_rand_perf.c index 26fb1d9a58..30204e12c0 100644 --- a/app/test/test_rand_perf.c +++ b/app/test/test_rand_perf.c @@ -96,4 +96,4 @@ test_rand_perf(void) return 0; } -REGISTER_TEST_COMMAND(rand_perf_autotest, test_rand_perf); +REGISTER_PERF_TEST(rand_perf_autotest, test_rand_perf); diff --git a/app/test/test_rcu_qsbr.c b/app/test/test_rcu_qsbr.c index 70404e89e6..16c24f58e7 100644 --- a/app/test/test_rcu_qsbr.c +++ b/app/test/test_rcu_qsbr.c @@ -1418,4 +1418,4 @@ test_rcu_qsbr_main(void) return -1; } -REGISTER_TEST_COMMAND(rcu_qsbr_autotest, test_rcu_qsbr_main); +REGISTER_FAST_TEST(rcu_qsbr_autotest, True, True, test_rcu_qsbr_main); diff --git a/app/test/test_rcu_qsbr_perf.c b/app/test/test_rcu_qsbr_perf.c index b15e5cef88..ce88a7333c 100644 --- a/app/test/test_rcu_qsbr_perf.c +++ b/app/test/test_rcu_qsbr_perf.c @@ -690,4 +690,4 @@ test_rcu_qsbr_main(void) return -1; } -REGISTER_TEST_COMMAND(rcu_qsbr_perf_autotest, test_rcu_qsbr_main); +REGISTER_PERF_TEST(rcu_qsbr_perf_autotest, test_rcu_qsbr_main); diff --git a/app/test/test_reassembly_perf.c b/app/test/test_reassembly_perf.c index c11b65291f..4b4929d777 100644 --- a/app/test/test_reassembly_perf.c +++ b/app/test/test_reassembly_perf.c @@ -1000,4 +1000,4 @@ test_reassembly_perf(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(reassembly_perf_autotest, test_reassembly_perf); +REGISTER_PERF_TEST(reassembly_perf_autotest, test_reassembly_perf); diff --git a/app/test/test_reciprocal_division.c b/app/test/test_reciprocal_division.c index 8ea9b1d24d..fb52b2d5a1 100644 --- a/app/test/test_reciprocal_division.c +++ b/app/test/test_reciprocal_division.c @@ -164,4 +164,4 @@ test_reciprocal(void) return result; } -REGISTER_TEST_COMMAND(reciprocal_division, test_reciprocal); +REGISTER_PERF_TEST(reciprocal_division, test_reciprocal); diff --git a/app/test/test_reciprocal_division_perf.c b/app/test/test_reciprocal_division_perf.c index 4f625873e5..cf96d46a22 100644 --- a/app/test/test_reciprocal_division_perf.c +++ b/app/test/test_reciprocal_division_perf.c @@ -205,4 +205,4 @@ test_reciprocal_division_perf(void) return result; } -REGISTER_TEST_COMMAND(reciprocal_division_perf, test_reciprocal_division_perf); +REGISTER_PERF_TEST(reciprocal_division_perf, test_reciprocal_division_perf); diff --git a/app/test/test_red.c b/app/test/test_red.c index 84c292f8d8..aa7538d51a 100644 --- a/app/test/test_red.c +++ b/app/test/test_red.c @@ -1878,5 +1878,5 @@ test_red_all(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ REGISTER_TEST_COMMAND(red_autotest, test_red); -REGISTER_TEST_COMMAND(red_perf, test_red_perf); -REGISTER_TEST_COMMAND(red_all, test_red_all); +REGISTER_PERF_TEST(red_perf, test_red_perf); +REGISTER_PERF_TEST(red_all, test_red_all); diff --git a/app/test/test_reorder.c b/app/test/test_reorder.c index c188f6ce67..e66b4b05d4 100644 --- a/app/test/test_reorder.c +++ b/app/test/test_reorder.c @@ -548,4 +548,4 @@ test_reorder(void) } -REGISTER_TEST_COMMAND(reorder_autotest, test_reorder); +REGISTER_FAST_TEST(reorder_autotest, True, True, test_reorder); diff --git a/app/test/test_rib.c b/app/test/test_rib.c index 65b6856410..a8d60acc3a 100644 --- a/app/test/test_rib.c +++ b/app/test/test_rib.c @@ -363,5 +363,5 @@ test_slow_rib(void) return unit_test_suite_runner(&rib_slow_tests); } -REGISTER_TEST_COMMAND(rib_autotest, test_rib); -REGISTER_TEST_COMMAND(rib_slow_autotest, test_slow_rib); +REGISTER_FAST_TEST(rib_autotest, True, True, test_rib); +REGISTER_PERF_TEST(rib_slow_autotest, test_slow_rib); diff --git a/app/test/test_rib6.c b/app/test/test_rib6.c index 336b779d2e..9bbd0f406d 100644 --- a/app/test/test_rib6.c +++ b/app/test/test_rib6.c @@ -367,5 +367,5 @@ test_slow_rib6(void) return unit_test_suite_runner(&rib6_slow_tests); } -REGISTER_TEST_COMMAND(rib6_autotest, test_rib6); -REGISTER_TEST_COMMAND(rib6_slow_autotest, test_slow_rib6); +REGISTER_FAST_TEST(rib6_autotest, True, True, test_rib6); +REGISTER_PERF_TEST(rib6_slow_autotest, test_slow_rib6); diff --git a/app/test/test_ring.c b/app/test/test_ring.c index bde33ab4a1..d2accbabfa 100644 --- a/app/test/test_ring.c +++ b/app/test/test_ring.c @@ -1241,4 +1241,4 @@ test_ring(void) return -1; } -REGISTER_TEST_COMMAND(ring_autotest, test_ring); +REGISTER_FAST_TEST(ring_autotest, True, True, test_ring); diff --git a/app/test/test_ring_perf.c b/app/test/test_ring_perf.c index 3972fd9db3..d7c5a4c30b 100644 --- a/app/test/test_ring_perf.c +++ b/app/test/test_ring_perf.c @@ -579,4 +579,4 @@ test_ring_perf(void) return 0; } -REGISTER_TEST_COMMAND(ring_perf_autotest, test_ring_perf); +REGISTER_PERF_TEST(ring_perf_autotest, test_ring_perf); diff --git a/app/test/test_rwlock.c b/app/test/test_rwlock.c index 4ae0bf8deb..e8086888fe 100644 --- a/app/test/test_rwlock.c +++ b/app/test/test_rwlock.c @@ -506,7 +506,7 @@ try_rwlock_test_rde_wro(void) return process_try_lcore_stats(); } -REGISTER_TEST_COMMAND(rwlock_test1_autotest, rwlock_test1); -REGISTER_TEST_COMMAND(rwlock_rda_autotest, try_rwlock_test_rda); -REGISTER_TEST_COMMAND(rwlock_rds_wrm_autotest, try_rwlock_test_rds_wrm); -REGISTER_TEST_COMMAND(rwlock_rde_wro_autotest, try_rwlock_test_rde_wro); +REGISTER_FAST_TEST(rwlock_test1_autotest, True, True, rwlock_test1); +REGISTER_FAST_TEST(rwlock_rda_autotest, True, True, try_rwlock_test_rda); +REGISTER_FAST_TEST(rwlock_rds_wrm_autotest, True, True, try_rwlock_test_rds_wrm); +REGISTER_FAST_TEST(rwlock_rde_wro_autotest, True, True, try_rwlock_test_rde_wro); diff --git a/app/test/test_sched.c b/app/test/test_sched.c index ddec572447..385ca45136 100644 --- a/app/test/test_sched.c +++ b/app/test/test_sched.c @@ -215,4 +215,4 @@ test_sched(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(sched_autotest, test_sched); +REGISTER_FAST_TEST(sched_autotest, True, True, test_sched); diff --git a/app/test/test_security.c b/app/test/test_security.c index 4783cd0663..a3b962750a 100644 --- a/app/test/test_security.c +++ b/app/test/test_security.c @@ -2314,4 +2314,4 @@ test_security(void) return unit_test_suite_runner(&security_testsuite); } -REGISTER_TEST_COMMAND(security_autotest, test_security); +REGISTER_FAST_TEST(security_autotest, False, True, test_security); diff --git a/app/test/test_seqlock.c b/app/test/test_seqlock.c index d26d2c010e..325af38070 100644 --- a/app/test/test_seqlock.c +++ b/app/test/test_seqlock.c @@ -187,4 +187,4 @@ test_seqlock(void) return rc; } -REGISTER_TEST_COMMAND(seqlock_autotest, test_seqlock); +REGISTER_FAST_TEST(seqlock_autotest, True, True, test_seqlock); diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c index 422d2a83e8..6c000417d2 100644 --- a/app/test/test_service_cores.c +++ b/app/test/test_service_cores.c @@ -1040,7 +1040,7 @@ test_service_common(void) return unit_test_suite_runner(&service_tests); } -REGISTER_TEST_COMMAND(service_autotest, test_service_common); +REGISTER_FAST_TEST(service_autotest, True, True, test_service_common); static struct unit_test_suite service_perf_tests = { .suite_name = "service core performance test suite", @@ -1062,4 +1062,4 @@ test_service_perf(void) return unit_test_suite_runner(&service_perf_tests); } -REGISTER_TEST_COMMAND(service_perf_autotest, test_service_perf); +REGISTER_PERF_TEST(service_perf_autotest, test_service_perf); diff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c index 3f59372300..d655b606f7 100644 --- a/app/test/test_spinlock.c +++ b/app/test/test_spinlock.c @@ -302,4 +302,4 @@ test_spinlock(void) return ret; } -REGISTER_TEST_COMMAND(spinlock_autotest, test_spinlock); +REGISTER_FAST_TEST(spinlock_autotest, True, True, test_spinlock); diff --git a/app/test/test_stack.c b/app/test/test_stack.c index bc38961433..93bba18469 100644 --- a/app/test/test_stack.c +++ b/app/test/test_stack.c @@ -379,5 +379,5 @@ test_lf_stack(void) #endif } -REGISTER_TEST_COMMAND(stack_autotest, test_stack); -REGISTER_TEST_COMMAND(stack_lf_autotest, test_lf_stack); +REGISTER_FAST_TEST(stack_autotest, False, True, test_stack); +REGISTER_FAST_TEST(stack_lf_autotest, False, True, test_lf_stack); diff --git a/app/test/test_stack_perf.c b/app/test/test_stack_perf.c index 1eae00a334..c5e1caa036 100644 --- a/app/test/test_stack_perf.c +++ b/app/test/test_stack_perf.c @@ -354,5 +354,5 @@ test_lf_stack_perf(void) #endif } -REGISTER_TEST_COMMAND(stack_perf_autotest, test_stack_perf); -REGISTER_TEST_COMMAND(stack_lf_perf_autotest, test_lf_stack_perf); +REGISTER_PERF_TEST(stack_perf_autotest, test_stack_perf); +REGISTER_PERF_TEST(stack_lf_perf_autotest, test_lf_stack_perf); diff --git a/app/test/test_string_fns.c b/app/test/test_string_fns.c index 5e105d2bb9..07e72bf680 100644 --- a/app/test/test_string_fns.c +++ b/app/test/test_string_fns.c @@ -182,4 +182,4 @@ test_string_fns(void) return 0; } -REGISTER_TEST_COMMAND(string_autotest, test_string_fns); +REGISTER_FAST_TEST(string_autotest, True, True, test_string_fns); diff --git a/app/test/test_tailq.c b/app/test/test_tailq.c index 9520219b0a..5598bcd12d 100644 --- a/app/test/test_tailq.c +++ b/app/test/test_tailq.c @@ -125,4 +125,4 @@ test_tailq(void) return ret; } -REGISTER_TEST_COMMAND(tailq_autotest, test_tailq); +REGISTER_FAST_TEST(tailq_autotest, True, True, test_tailq); diff --git a/app/test/test_thash.c b/app/test/test_thash.c index 53d9611e18..dd6468eb56 100644 --- a/app/test/test_thash.c +++ b/app/test/test_thash.c @@ -966,4 +966,4 @@ test_thash(void) return unit_test_suite_runner(&thash_tests); } -REGISTER_TEST_COMMAND(thash_autotest, test_thash); +REGISTER_FAST_TEST(thash_autotest, True, True, test_thash); diff --git a/app/test/test_thash_perf.c b/app/test/test_thash_perf.c index 687582aa32..9dfd5d3c21 100644 --- a/app/test/test_thash_perf.c +++ b/app/test/test_thash_perf.c @@ -135,4 +135,4 @@ test_thash_perf(void) return 0; } -REGISTER_TEST_COMMAND(thash_perf_autotest, test_thash_perf); +REGISTER_PERF_TEST(thash_perf_autotest, test_thash_perf); diff --git a/app/test/test_threads.c b/app/test/test_threads.c index a4c4f651a4..6ed6b168d4 100644 --- a/app/test/test_threads.c +++ b/app/test/test_threads.c @@ -279,4 +279,4 @@ test_threads(void) return unit_test_suite_runner(&threads_test_suite); } -REGISTER_TEST_COMMAND(threads_autotest, test_threads); +REGISTER_FAST_TEST(threads_autotest, True, True, test_threads); diff --git a/app/test/test_ticketlock.c b/app/test/test_ticketlock.c index 242c136478..25af697c0a 100644 --- a/app/test/test_ticketlock.c +++ b/app/test/test_ticketlock.c @@ -314,4 +314,4 @@ test_ticketlock(void) return ret; } -REGISTER_TEST_COMMAND(ticketlock_autotest, test_ticketlock); +REGISTER_FAST_TEST(ticketlock_autotest, True, True, test_ticketlock); diff --git a/app/test/test_timer.c b/app/test/test_timer.c index 0c36dc9010..09608a1845 100644 --- a/app/test/test_timer.c +++ b/app/test/test_timer.c @@ -594,4 +594,4 @@ test_timer(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(timer_autotest, test_timer); +REGISTER_FAST_TEST(timer_autotest, False, True, test_timer); diff --git a/app/test/test_timer_perf.c b/app/test/test_timer_perf.c index 0ede4b3e40..d2d74ebbc6 100644 --- a/app/test/test_timer_perf.c +++ b/app/test/test_timer_perf.c @@ -131,4 +131,4 @@ test_timer_perf(void) return 0; } -REGISTER_TEST_COMMAND(timer_perf_autotest, test_timer_perf); +REGISTER_PERF_TEST(timer_perf_autotest, test_timer_perf); diff --git a/app/test/test_timer_racecond.c b/app/test/test_timer_racecond.c index bb56ae8324..6f8b448ff8 100644 --- a/app/test/test_timer_racecond.c +++ b/app/test/test_timer_racecond.c @@ -172,4 +172,4 @@ test_timer_racecond(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(timer_racecond_autotest, test_timer_racecond); +REGISTER_PERF_TEST(timer_racecond_autotest, test_timer_racecond); diff --git a/app/test/test_trace.c b/app/test/test_trace.c index ad4a394a29..96829caed5 100644 --- a/app/test/test_trace.c +++ b/app/test/test_trace.c @@ -250,4 +250,4 @@ test_trace(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(trace_autotest, test_trace); +REGISTER_FAST_TEST(trace_autotest, True, True, test_trace); diff --git a/app/test/test_trace_perf.c b/app/test/test_trace_perf.c index 46ae7d8074..a6dd075722 100644 --- a/app/test/test_trace_perf.c +++ b/app/test/test_trace_perf.c @@ -179,4 +179,4 @@ test_trace_perf(void) return TEST_SUCCESS; } -REGISTER_TEST_COMMAND(trace_perf_autotest, test_trace_perf); +REGISTER_PERF_TEST(trace_perf_autotest, test_trace_perf); diff --git a/app/test/test_version.c b/app/test/test_version.c index 1e1ff18656..21016237bc 100644 --- a/app/test/test_version.c +++ b/app/test/test_version.c @@ -25,4 +25,4 @@ test_version(void) return 0; } -REGISTER_TEST_COMMAND(version_autotest, test_version); +REGISTER_FAST_TEST(version_autotest, True, True, test_version); From patchwork Fri Jul 21 11:51:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 129685 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1BA8842ED9; Fri, 21 Jul 2023 13:51:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB78442D29; Fri, 21 Jul 2023 13:51:44 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id A0D4C42D2F for ; Fri, 21 Jul 2023 13:51:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689940302; x=1721476302; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T7C+KZvyb8cEV0vdpUUFK3rwO5r5gQPS/YoMWp85UYc=; b=FhjEEnAwJaLpZqb7mEt4Hk+lgdB4yvUUssn98GtRrSSUKrUN6y3sTsYV 54QegXx+yN+9xrwmbanCM7qERrZVfd7+KDDqElHkqLA1xFKRECG3F22hJ sfAwAoiuTuPHW3rgYi+UUeH9Y+8Sk17H0dpYuZ5spegnlqRVeGGlBZHN7 53+VCjsQpLd1TuhGk5KSalkDM0xsGQx18N1HriCFJKzfEyVHV6vbEbY1i ZoSol4wjSaJaw+SUH8daIt2qDQH9HhimhXe5dHtoougyrJowX/xa70X6l 9A02ctc4RbuppTVdM5RPEdC08CToQb8FXoJM9XSxJ0uOfq1Y9RKF3a5WJ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="346599188" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="346599188" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 04:51:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="971420580" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="971420580" Received: from silpixa00401385.ir.intel.com ([10.237.214.156]) by fmsmga006.fm.intel.com with ESMTP; 21 Jul 2023 04:51:40 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [RFC PATCH 3/5] app/test: build using per-file dependency matrix Date: Fri, 21 Jul 2023 12:51:23 +0100 Message-Id: <20230721115125.55137-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230721115125.55137-1-bruce.richardson@intel.com> References: <20230721115125.55137-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than using if-else constructs to selectively add or remove files from the UT build, switch to a table-based approach where each file lists out what libs or drivers it depends upon. Initial version of this table was generated via analysis of the header files included in each C file. Signed-off-by: Bruce Richardson --- app/meson.build | 8 +- app/test/meson.build | 796 +++++++++++-------------------------------- 2 files changed, 203 insertions(+), 601 deletions(-) diff --git a/app/meson.build b/app/meson.build index 4fc1a83eba..0d8b618e7f 100644 --- a/app/meson.build +++ b/app/meson.build @@ -32,6 +32,11 @@ apps = [ 'test-security-perf', ] +if get_option('tests') +# build the auto test app if enabled. + apps += 'test' +endif + default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API'] default_ldflags = [] if get_option('default_library') == 'static' and not is_windows @@ -106,6 +111,3 @@ foreach app:apps install_rpath: join_paths(get_option('prefix'), driver_install_path), install: true) endforeach - -# special case the autotests -subdir('test') diff --git a/app/test/meson.build b/app/test/meson.build index b89cf0368f..475d87860e 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -1,452 +1,202 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation - -if not get_option('tests') - subdir_done() -endif - -test_sources = files( - 'commands.c', - 'packet_burst_generator.c', - 'test.c', - 'test_acl.c', - 'test_alarm.c', - 'test_atomic.c', - 'test_barrier.c', - 'test_bitops.c', - 'test_bitmap.c', - 'test_bpf.c', - 'test_byteorder.c', - 'test_cksum.c', - 'test_cksum_perf.c', - 'test_cmdline.c', - 'test_cmdline_cirbuf.c', - 'test_cmdline_etheraddr.c', - 'test_cmdline_ipaddr.c', - 'test_cmdline_lib.c', - 'test_cmdline_num.c', - 'test_cmdline_portlist.c', - 'test_cmdline_string.c', - 'test_common.c', - 'test_cpuflags.c', - 'test_crc.c', - 'test_cryptodev.c', - 'test_cryptodev_asym.c', - 'test_cryptodev_blockcipher.c', - 'test_cryptodev_crosscheck.c', - 'test_cryptodev_security_ipsec.c', - 'test_cryptodev_security_pdcp.c', - 'test_cycles.c', - 'test_debug.c', - 'test_devargs.c', - 'test_distributor.c', - 'test_distributor_perf.c', - 'test_dmadev.c', - 'test_dmadev_api.c', - 'test_eal_flags.c', - 'test_eal_fs.c', - 'test_efd.c', - 'test_efd_perf.c', - 'test_errno.c', - 'test_ethdev_link.c', - 'test_event_crypto_adapter.c', - 'test_event_eth_rx_adapter.c', - 'test_event_ring.c', - 'test_event_timer_adapter.c', - 'test_eventdev.c', - 'test_external_mem.c', - 'test_fbarray.c', - 'test_fib.c', - 'test_fib_perf.c', - 'test_fib6.c', - 'test_fib6_perf.c', - 'test_func_reentrancy.c', - 'test_hash.c', - 'test_hash_functions.c', - 'test_hash_multiwriter.c', - 'test_hash_readwrite.c', - 'test_hash_perf.c', - 'test_hash_readwrite_lf_perf.c', - 'test_interrupts.c', - 'test_ipfrag.c', - 'test_ipsec.c', - 'test_ipsec_sad.c', - 'test_ipsec_perf.c', - 'test_kni.c', - 'test_kvargs.c', - 'test_lcores.c', - 'test_logs.c', - 'test_lpm.c', - 'test_lpm6.c', - 'test_lpm6_perf.c', - 'test_lpm_perf.c', - 'test_malloc.c', - 'test_malloc_perf.c', - 'test_mbuf.c', - 'test_member.c', - 'test_member_perf.c', - 'test_memcpy.c', - 'test_memcpy_perf.c', - 'test_memory.c', - 'test_mempool.c', - 'test_mempool_perf.c', - 'test_memzone.c', - 'test_meter.c', - 'test_mcslock.c', - 'test_mp_secondary.c', - 'test_per_lcore.c', - 'test_pflock.c', - 'test_pmd_perf.c', - 'test_power.c', - 'test_power_cpufreq.c', - 'test_power_kvm_vm.c', - 'test_power_intel_uncore.c', - 'test_prefetch.c', - 'test_rand_perf.c', - 'test_rawdev.c', - 'test_rcu_qsbr.c', - 'test_rcu_qsbr_perf.c', - 'test_reassembly_perf.c', - 'test_reciprocal_division.c', - 'test_reciprocal_division_perf.c', - 'test_red.c', - 'test_pie.c', - 'test_reorder.c', - 'test_rib.c', - 'test_rib6.c', - 'test_ring.c', - 'test_ring_mpmc_stress.c', - 'test_ring_hts_stress.c', - 'test_ring_mt_peek_stress.c', - 'test_ring_mt_peek_stress_zc.c', - 'test_ring_perf.c', - 'test_ring_rts_stress.c', - 'test_ring_st_peek_stress.c', - 'test_ring_st_peek_stress_zc.c', - 'test_ring_stress.c', - 'test_rwlock.c', - 'test_sched.c', - 'test_security.c', - 'test_security_inline_macsec.c', - 'test_security_inline_proto.c', - 'test_seqlock.c', - 'test_service_cores.c', - 'test_spinlock.c', - 'test_stack.c', - 'test_stack_perf.c', - 'test_string_fns.c', - 'test_tailq.c', - 'test_thash.c', - 'test_thash_perf.c', - 'test_threads.c', - 'test_timer.c', - 'test_timer_perf.c', - 'test_timer_racecond.c', - 'test_timer_secondary.c', - 'test_ticketlock.c', - 'test_trace.c', - 'test_trace_register.c', - 'test_trace_perf.c', - 'test_version.c', - 'virtual_pmd.c', -) - -test_deps = dpdk_libs_enabled -# as well as libs, the pci and vdev bus drivers are needed for a lot of tests -test_deps += ['bus_pci', 'bus_vdev'] - -# Each test is marked with flags: -# - the first flag indicates whether the test can run in no-huge mode, -# - the second flag indicates whether the test can run with ASan enabled, -fast_tests = [ - ['acl_autotest', true, true], - ['atomic_autotest', false, true], - ['bitmap_autotest', true, true], - ['bpf_autotest', true, true], - ['bpf_convert_autotest', true, true], - ['bitops_autotest', true, true], - ['byteorder_autotest', true, true], - ['cksum_autotest', true, true], - ['cmdline_autotest', true, true], - ['common_autotest', true, true], - ['cpuflags_autotest', true, true], - ['debug_autotest', true, true], - ['devargs_autotest', true, true], - ['eal_flags_c_opt_autotest', false, false], - ['eal_flags_main_opt_autotest', false, false], - ['eal_flags_n_opt_autotest', false, false], - ['eal_flags_hpet_autotest', false, false], - ['eal_flags_no_huge_autotest', false, false], - ['eal_flags_a_opt_autotest', false, false], - ['eal_flags_b_opt_autotest', false, false], - ['eal_flags_vdev_opt_autotest', false, false], - ['eal_flags_r_opt_autotest', false, false], - ['eal_flags_mem_autotest', false, false], - ['eal_flags_file_prefix_autotest', false, false], - ['eal_flags_misc_autotest', false, false], - ['eal_fs_autotest', true, true], - ['errno_autotest', true, true], - ['ethdev_link_status', true, true], - ['event_ring_autotest', true, true], - ['fib_autotest', true, true], - ['fib6_autotest', true, true], - ['func_reentrancy_autotest', false, true], - ['hash_autotest', true, true], - ['interrupt_autotest', true, true], - ['ipfrag_autotest', false, true], - ['lcores_autotest', true, true], - ['logs_autotest', true, true], - ['lpm_autotest', true, true], - ['lpm6_autotest', true, true], - ['malloc_autotest', false, true], - ['mbuf_autotest', false, true], - ['mcslock_autotest', false, true], - ['memcpy_autotest', true, true], - ['memory_autotest', false, true], - ['mempool_autotest', false, true], - ['memzone_autotest', false, true], - ['meter_autotest', true, true], - ['multiprocess_autotest', false, false], - ['per_lcore_autotest', true, true], - ['pflock_autotest', true, true], - ['prefetch_autotest', true, true], - ['rcu_qsbr_autotest', true, true], - ['pie_autotest', true, true], - ['rib_autotest', true, true], - ['rib6_autotest', true, true], - ['ring_autotest', true, true], - ['rwlock_test1_autotest', true, true], - ['rwlock_rda_autotest', true, true], - ['rwlock_rds_wrm_autotest', true, true], - ['rwlock_rde_wro_autotest', true, true], - ['sched_autotest', true, true], - ['security_autotest', false, true], - ['seqlock_autotest', true, true], - ['spinlock_autotest', true, true], - ['stack_autotest', false, true], - ['stack_lf_autotest', false, true], - ['string_autotest', true, true], - ['tailq_autotest', true, true], - ['ticketlock_autotest', true, true], - ['timer_autotest', false, true], - ['user_delay_us', true, true], - ['version_autotest', true, true], - ['crc_autotest', true, true], - ['distributor_autotest', false, true], - ['eventdev_common_autotest', true, true], - ['fbarray_autotest', true, true], - ['hash_readwrite_func_autotest', false, true], - ['ipsec_autotest', true, true], - ['kni_autotest', false, true], - ['kvargs_autotest', true, true], - ['member_autotest', true, true], - ['power_cpufreq_autotest', false, true], - ['power_autotest', true, true], - ['power_kvm_vm_autotest', false, true], - ['power_intel_uncore_autotest', true, true], - ['reorder_autotest', true, true], - ['service_autotest', true, true], - ['thash_autotest', true, true], - ['threads_autotest', true, true], - ['trace_autotest', true, true], -] - -# Tests known to have issues or which don't belong in other tests lists. -extra_test_names = [ - 'alarm_autotest', # ee00af60170b ("test: remove strict timing requirements some tests") - 'red_autotest', # https://bugs.dpdk.org/show_bug.cgi?id=826 -] - -perf_test_names = [ - 'ring_perf_autotest', - 'malloc_perf_autotest', - 'mempool_perf_autotest', - 'memcpy_perf_autotest', - 'hash_perf_autotest', - 'timer_perf_autotest', - 'reciprocal_division', - 'reciprocal_division_perf', - 'lpm_perf_autotest', - 'rib_slow_autotest', - 'fib_slow_autotest', - 'fib_perf_autotest', - 'red_all', - 'pie_all', - 'barrier_autotest', - 'hash_multiwriter_autotest', - 'timer_racecond_autotest', - 'efd_autotest', - 'hash_functions_autotest', - 'member_perf_autotest', - 'efd_perf_autotest', - 'lpm6_perf_autotest', - 'rib6_slow_autotest', - 'fib6_slow_autotest', - 'fib6_perf_autotest', - 'rcu_qsbr_perf_autotest', - 'red_perf', - 'pie_perf', - 'distributor_perf_autotest', - 'pmd_perf_autotest', - 'service_perf_autotest', - 'stack_perf_autotest', - 'stack_lf_perf_autotest', - 'rand_perf_autotest', - 'hash_readwrite_perf_autotest', - 'hash_readwrite_lf_perf_autotest', - 'trace_perf_autotest', - 'ipsec_perf_autotest', - 'thash_perf_autotest', - 'reassembly_perf_autotest', -] - -driver_test_names = [ - 'cryptodev_aesni_gcm_autotest', - 'cryptodev_aesni_mb_autotest', - 'cryptodev_chacha_poly_mb_autotest', - 'cryptodev_cn10k_autotest', - 'cryptodev_cn9k_autotest', - 'cryptodev_cpu_aesni_mb_autotest', - 'cryptodev_cpu_aesni_gcm_autotest', - 'cryptodev_dpaa2_sec_autotest', - 'cryptodev_dpaa_sec_autotest', - 'cryptodev_null_autotest', - 'cryptodev_openssl_autotest', - 'cryptodev_qat_autotest', - 'cryptodev_qat_asym_autotest', - 'cryptodev_qat_raw_api_autotest', - 'cryptodev_sw_armv8_autotest', - 'cryptodev_sw_kasumi_autotest', - 'cryptodev_sw_mvsam_autotest', - 'cryptodev_sw_snow3g_autotest', - 'cryptodev_sw_zuc_autotest', - 'cryptodev_uadk_autotest', - 'dmadev_autotest', -] - -dump_test_names = [] - -if not is_windows - driver_test_names += [ - 'cryptodev_openssl_asym_autotest', - 'eventdev_selftest_octeontx', - 'eventdev_selftest_sw', - ] - - dump_test_names += [ - 'dump_struct_sizes', - 'dump_mempool', - 'dump_malloc_stats', - 'dump_devargs', - 'dump_log_types', - 'dump_ring', - 'dump_physmem', - 'dump_memzone', - ] -endif - -# The following linkages are an exception to allow running the -# unit tests without requiring that the developer install the -# DPDK libraries. Explicit linkage of drivers (plugin libraries) -# in applications should not be used. -if dpdk_conf.has('RTE_MEMPOOL_RING') - test_deps += 'mempool_ring' -endif -if dpdk_conf.has('RTE_MEMPOOL_STACK') - test_deps += 'mempool_stack' -endif -if dpdk_conf.has('RTE_EVENT_SKELETON') - test_deps += 'event_skeleton' -endif - -if dpdk_conf.has('RTE_LIB_FLOW_CLASSIFY') - test_sources += 'test_flow_classify.c' - fast_tests += [['flow_classify_autotest', false, true]] -endif -if dpdk_conf.has('RTE_LIB_GRAPH') - test_sources += 'test_graph.c' - fast_tests += [['graph_autotest', true, true]] - fast_tests += [['node_list_dump', true, true]] - test_sources += 'test_graph_perf.c' - perf_test_names += 'graph_perf_autotest' -endif -if dpdk_conf.has('RTE_LIB_METRICS') - test_sources += ['test_metrics.c'] - fast_tests += [['metrics_autotest', true, true]] -endif -if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY') - test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c'] - fast_tests += [['telemetry_json_autotest', true, true]] - fast_tests += [['telemetry_data_autotest', true, true]] -endif -if dpdk_conf.has('RTE_LIB_PIPELINE') -# pipeline lib depends on port and table libs, so those must be present -# if pipeline library is. - test_sources += [ - 'test_table.c', - 'test_table_acl.c', - 'test_table_combined.c', - 'test_table_pipeline.c', - 'test_table_ports.c', - 'test_table_tables.c', - ] - fast_tests += [['table_autotest', true, true]] -endif - -# The following linkages of drivers are required because -# they are used via a driver-specific API. -if dpdk_conf.has('RTE_NET_BOND') - test_deps += 'net_bond' - test_sources += ['test_link_bonding.c', 'test_link_bonding_rssconf.c'] - driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest'] - if dpdk_conf.has('RTE_NET_RING') - test_sources += 'test_link_bonding_mode4.c' - driver_test_names += 'link_bonding_mode4_autotest' - endif -endif -if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') - test_deps += 'net_ring' - test_sources += 'test_pmd_ring_perf.c' - test_sources += 'test_pmd_ring.c' - test_sources += 'test_event_eth_tx_adapter.c' - test_sources += 'sample_packet_forward.c' - fast_tests += [['ring_pmd_autotest', true, true]] - perf_test_names += 'ring_pmd_perf_autotest' - fast_tests += [['event_eth_tx_adapter_autotest', false, true]] - if dpdk_conf.has('RTE_LIB_BITRATESTATS') - test_sources += 'test_bitratestats.c' - fast_tests += [['bitratestats_autotest', true, true]] - endif - if dpdk_conf.has('RTE_LIB_LATENCYSTATS') - test_sources += 'test_latencystats.c' - fast_tests += [['latencystats_autotest', true, true]] - endif - if dpdk_conf.has('RTE_LIB_PDUMP') - test_sources += 'test_pdump.c' - fast_tests += [['pdump_autotest', true, false]] - endif -endif -if dpdk_conf.has('RTE_NET_NULL') - test_deps += 'net_null' - test_sources += 'test_vdev.c' - fast_tests += [['vdev_autotest', true, true]] -endif -if dpdk_conf.has('RTE_RAW_SKELETON') - test_deps += 'raw_skeleton' - fast_tests += [['rawdev_autotest', true, true]] -endif - -if dpdk_conf.has('RTE_HAS_LIBPCAP') - ext_deps += pcap_dep - if dpdk_conf.has('RTE_LIB_PCAPNG') - test_sources += 'test_pcapng.c' +# Copyright(c) 2017-2023 Intel Corporation + +source_file_deps = { + 'commands.c': ['ring', 'mempool', 'mbuf'], + 'packet_burst_generator.c': ['mbuf', 'net'], + 'resource.c': [], + 'sample_packet_forward.c': ['net_ring', 'ethdev', 'mbuf', 'bus_vdev', 'mempool', 'ring'], + 'test.c': ['timer'], + 'test_acl.c': ['mbuf', 'net', 'acl'], + 'test_alarm.c': [], + 'test_atomic.c': ['hash'], + 'test_barrier.c': [], + 'test_bitmap.c': [], + 'test_bitops.c': [], + 'test_bitratestats.c': ['metrics', 'bitratestats', 'ethdev'], + 'test_bpf.c': ['bpf', 'net'], + 'test_byteorder.c': [], +# 'test_cfgfile.c': ['cfgfile'], + 'test_cksum.c': ['net', 'mbuf'], + 'test_cksum_perf.c': ['net'], + 'test_cmdline.c': [], + 'test_cmdline_cirbuf.c': [], + 'test_cmdline_etheraddr.c': ['net'], + 'test_cmdline_ipaddr.c': [], + 'test_cmdline_lib.c': [], + 'test_cmdline_num.c': [], + 'test_cmdline_portlist.c': [], + 'test_cmdline_string.c': [], + 'test_common.c': [], + 'test_compressdev.c': ['mempool', 'mbuf', 'compressdev'], + 'test_cpuflags.c': [], + 'test_crc.c': ['net'], + 'test_cryptodev.c': ['mbuf', 'bus_vdev', 'net', 'cryptodev', 'crypto_scheduler', 'security'], + 'test_cryptodev_asym.c': ['bus_vdev', 'mbuf', 'cryptodev'], + 'test_cryptodev_blockcipher.c': ['mbuf', 'cryptodev'], + 'test_cryptodev_crosscheck.c': ['cryptodev'], + 'test_cryptodev_security_ipsec.c': ['cryptodev', 'net', 'security'], + 'test_cryptodev_security_pdcp.c': ['mbuf', 'bus_vdev', 'cryptodev', 'security'], + 'test_cycles.c': [], + 'test_debug.c': [], + 'test_devargs.c': ['kvargs'], + 'test_distributor.c': ['mempool', 'mbuf', 'distributor'], + 'test_distributor_perf.c': ['mempool', 'mbuf', 'distributor'], + 'test_dmadev.c': ['dmadev', 'mbuf', 'bus_vdev'], + 'test_dmadev_api.c': ['dmadev'], + 'test_eal_flags.c': [], + 'test_eal_fs.c': [], + 'test_efd.c': ['efd', 'net'], + 'test_efd_perf.c': ['efd', 'hash'], + 'test_errno.c': [], + 'test_ethdev_link.c': ['ethdev'], + 'test_event_crypto_adapter.c': ['mempool', 'mbuf', 'cryptodev', 'eventdev', 'bus_vdev'], + 'test_event_eth_rx_adapter.c': ['mempool', 'mbuf', 'ethdev', 'eventdev', 'bus_vdev'], + 'test_event_eth_tx_adapter.c': ['bus_vdev', 'ethdev', 'net_ring', 'eventdev', 'mbuf', 'mempool'], + 'test_event_ring.c': ['eventdev'], + 'test_event_timer_adapter.c': ['ethdev', 'eventdev', 'mempool', 'bus_vdev'], + 'test_eventdev.c': ['mbuf', 'eventdev', 'bus_vdev'], + 'test_external_mem.c': ['ring'], + 'test_fbarray.c': [], + 'test_fib.c': ['net', 'fib'], + 'test_fib6.c': ['rib', 'fib'], + 'test_fib6_perf.c': ['fib'], + 'test_fib_perf.c': ['net', 'fib'], + 'test_flow_classify.c': ['mbuf', 'net', 'acl', 'table', 'ethdev', 'flow_classify'], + 'test_func_reentrancy.c': ['ring', 'mempool', 'hash', 'lpm'], + 'test_graph.c': ['graph', 'mbuf'], + 'test_graph_perf.c': ['graph', 'mbuf'], + 'test_hash.c': ['net', 'hash'], + 'test_hash_functions.c': ['hash'], + 'test_hash_multiwriter.c': ['hash'], + 'test_hash_perf.c': ['hash'], + 'test_hash_readwrite.c': ['hash'], + 'test_hash_readwrite_lf_perf.c': ['hash'], + 'test_interrupts.c': [], + 'test_ipfrag.c': ['net', 'ip_frag', 'mbuf'], + 'test_ipsec.c': ['mbuf', 'bus_vdev', 'net', 'cryptodev', 'ipsec', 'security'], + 'test_ipsec_perf.c': ['net', 'ring', 'mbuf', 'ipsec'], + 'test_ipsec_sad.c': ['ipsec'], + 'test_kni.c': ['mempool', 'ethdev', 'kni'], + 'test_kvargs.c': ['kvargs'], + 'test_latencystats.c': ['ethdev', 'latencystats', 'metrics'], + 'test_lcores.c': [], + 'test_link_bonding.c': ['ethdev', 'net_bond', 'net', 'mbuf'], + 'test_link_bonding_mode4.c': ['ethdev', 'net_ring', 'net_bond', 'mbuf', 'net'], + 'test_link_bonding_rssconf.c': ['ethdev', 'bus_vdev', 'net_bond'], + 'test_logs.c': [], + 'test_lpm.c': ['net', 'lpm'], + 'test_lpm6.c': ['lpm'], + 'test_lpm6_perf.c': ['lpm'], + 'test_lpm_perf.c': ['net', 'lpm'], + 'test_malloc.c': [], + 'test_malloc_perf.c': [], + 'test_mbuf.c': ['ring', 'mempool', 'mbuf', 'net'], + 'test_mcslock.c': [], + 'test_member.c': ['member', 'net'], + 'test_member_perf.c': ['hash', 'member'], + 'test_memcpy.c': [], + 'test_memcpy_perf.c': [], + 'test_memory.c': [], + 'test_mempool.c': ['mempool', 'mbuf'], + 'test_mempool_perf.c': ['mempool', 'mbuf'], + 'test_memzone.c': [], + 'test_meter.c': ['meter'], + 'test_metrics.c': ['metrics'], + 'test_mp_secondary.c': ['ring', 'mempool', 'hash', 'lpm'], + 'test_pcapng.c': ['ethdev', 'net', 'mbuf', 'mempool', 'pcapng'], + 'test_pdcp.c': ['eventdev', 'pdcp', 'net', 'timer', 'security'], + 'test_pdump.c': ['pdump', 'mempool', 'ring'], + 'test_per_lcore.c': [], + 'test_pflock.c': [], + 'test_pie.c': ['sched'], + 'test_pmd_perf.c': ['ethdev', 'mbuf', 'net'], + 'test_pmd_ring.c': ['net_ring', 'ethdev', 'bus_vdev'], + 'test_pmd_ring_perf.c': ['ring', 'ethdev', 'net_ring', 'bus_vdev'], + 'test_power.c': ['power'], + 'test_power_cpufreq.c': ['power'], + 'test_power_intel_uncore.c': ['power'], + 'test_power_kvm_vm.c': ['power'], + 'test_prefetch.c': [], + 'test_rand_perf.c': [], + 'test_rawdev.c': ['mbuf', 'rawdev', 'bus_vdev'], + 'test_rcu_qsbr.c': ['rcu', 'hash'], + 'test_rcu_qsbr_perf.c': ['rcu', 'hash'], + 'test_reassembly_perf.c': ['net', 'ip_frag', 'mbuf'], + 'test_reciprocal_division.c': [], + 'test_reciprocal_division_perf.c': [], + 'test_red.c': ['sched'], + 'test_reorder.c': ['mbuf', 'reorder'], +# 'test_resource.c': [], + 'test_rib.c': ['net', 'rib'], + 'test_rib6.c': ['net', 'rib'], + 'test_ring.c': ['ring'], + 'test_ring_hts_stress.c': [], + 'test_ring_mpmc_stress.c': [], + 'test_ring_mt_peek_stress.c': ['ring'], + 'test_ring_mt_peek_stress_zc.c': ['ring'], + 'test_ring_perf.c': ['ring'], + 'test_ring_rts_stress.c': [], + 'test_ring_st_peek_stress.c': ['ring'], + 'test_ring_st_peek_stress_zc.c': ['ring'], + 'test_ring_stress.c': ['ring'], + 'test_rwlock.c': [], + 'test_sched.c': ['net', 'sched'], + 'test_security.c': ['mempool', 'net', 'security'], + 'test_security_inline_macsec.c': ['ethdev', 'security'], + 'test_security_inline_proto.c': ['ethdev', 'security', 'eventdev'], + 'test_seqlock.c': [], + 'test_service_cores.c': ['mbuf'], + 'test_spinlock.c': [], + 'test_stack.c': ['stack'], + 'test_stack_perf.c': ['stack'], + 'test_string_fns.c': [], + 'test_table.c': ['table', 'pipeline', 'port'], + 'test_table_acl.c': ['net', 'table', 'pipeline', 'port'], + 'test_table_combined.c': ['table', 'pipeline', 'port'], + 'test_table_pipeline.c': ['pipeline', 'table', 'port'], + 'test_table_ports.c': ['table', 'pipeline', 'port'], + 'test_table_tables.c': ['table', 'pipeline', 'port'], + 'test_tailq.c': [], + 'test_telemetry_data.c': ['telemetry'], + 'test_telemetry_json.c': ['telemetry'], + 'test_thash.c': ['net', 'hash'], + 'test_thash_perf.c': ['hash'], + 'test_threads.c': [], + 'test_ticketlock.c': [], + 'test_timer.c': ['timer'], + 'test_timer_perf.c': ['timer'], + 'test_timer_racecond.c': ['timer'], + 'test_timer_secondary.c': ['timer', 'mempool'], + 'test_trace.c': [], + 'test_trace_perf.c': [], + 'test_trace_register.c': [], + 'test_vdev.c': ['kvargs', 'bus_vdev'], + 'test_version.c': [], + 'virtual_pmd.c': ['mbuf', 'ethdev', 'pci', 'ring', 'net'], +} + +# autotests always need cmdline library +deps += 'cmdline' + +def_lib = get_option('default_library') +foreach f, f_deps : source_file_deps + has_deps = true + foreach d : f_deps + if not is_variable(def_lib + '_rte_' + d) + has_deps = false + break + else + # technically we might not need this dep, but adding it is harmless + if d not in deps + deps += d + endif + endif + endforeach + if has_deps + sources += files(f) endif -endif - -if dpdk_conf.has('RTE_LIB_PDCP') - test_sources += 'test_pdcp.c' - fast_tests += [['pdcp_autotest', false, true]] -endif +endforeach if cc.has_argument('-Wno-format-truncation') cflags += '-Wno-format-truncation' @@ -456,154 +206,4 @@ endif cflags += '-fno-strict-aliasing' # Enable using internal APIs in unit tests -cflags += ['-DALLOW_INTERNAL_API'] - -test_dep_objs = [] -if dpdk_conf.has('RTE_LIB_COMPRESSDEV') - compress_test_dep = dependency('zlib', required: false, method: 'pkg-config') - if compress_test_dep.found() - test_dep_objs += compress_test_dep - test_sources += 'test_compressdev.c' - fast_tests += [['compressdev_autotest', false, true]] - endif -endif - -if dpdk_conf.has('RTE_CRYPTO_SCHEDULER') - driver_test_names += 'cryptodev_scheduler_autotest' - test_deps += 'crypto_scheduler' -endif - -foreach d:test_deps - def_lib = get_option('default_library') - test_dep_objs += get_variable(def_lib + '_rte_' + d) -endforeach - -link_libs = [] -if get_option('default_library') == 'static' - link_libs = dpdk_static_libraries + dpdk_drivers -endif - -dpdk_test = executable('dpdk-test', - test_sources, - link_whole: link_libs, - dependencies: test_dep_objs + ext_deps, - c_args: cflags, - install_rpath: join_paths(get_option('prefix'), - driver_install_path), - install: true) - -has_hugepage = run_command(py3, files('has_hugepage.py'), check: true).stdout().strip() != '0' -message('hugepage availability: @0@'.format(has_hugepage)) - -# some perf tests (eg: memcpy perf autotest)take very long -# to complete, so timeout to 10 minutes -timeout_seconds = 600 -timeout_seconds_fast = 10 - -test_no_huge_args = ['--no-huge', '-m', '2048'] - -foreach arg : fast_tests - test_args = [] - run_test = true - if not has_hugepage - if arg[1] - test_args += test_no_huge_args - else - run_test = false - endif - endif - - if get_option('b_sanitize') == 'address' or get_option('b_sanitize') == 'address,undefined' - if not arg[2] - run_test = false - endif - endif - - if (get_option('default_library') == 'shared' and - arg[0] == 'event_eth_tx_adapter_autotest') - test_args += ['-d', dpdk_drivers_build_dir] - endif - if is_linux - test_args += ['--file-prefix=@0@'.format(arg[0])] - endif - - if run_test - test(arg[0], dpdk_test, - env : ['DPDK_TEST=' + arg[0]], - args : test_args, - timeout : timeout_seconds_fast, - is_parallel : false, - suite : 'fast-tests') - if not is_windows and arg[0] == 'trace_autotest' - test_args += ['--trace=.*'] - test_args += ['--trace-dir=@0@'.format(meson.current_build_dir())] - test(arg[0] + '_with_traces', dpdk_test, - env : ['DPDK_TEST=' + arg[0]], - args : test_args, - timeout : timeout_seconds_fast, - is_parallel : false, - suite : 'fast-tests') - endif - endif -endforeach - -if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY') - test_args = [dpdk_test] - test_args += test_no_huge_args - if get_option('default_library') == 'shared' - test_args += ['-d', dpdk_drivers_build_dir] - endif - if dpdk_conf.has('RTE_CRYPTO_NULL') - test_args += ['--vdev=crypto_null0'] - endif - if dpdk_conf.has('RTE_DMA_SKELETON') - test_args += ['--vdev=dma_skeleton0'] - endif - if dpdk_conf.has('RTE_EVENT_SKELETON') - test_args += ['--vdev=event_skeleton0'] - endif - if dpdk_conf.has('RTE_NET_NULL') - test_args += ['--vdev=net_null0'] - endif - if dpdk_conf.has('RTE_RAW_SKELETON') - test_args += ['--vdev=rawdev_skeleton0'] - endif - test_args += ['-a', '0000:00:00.0'] - test('telemetry_all', find_program('test_telemetry.sh'), - args: test_args, - timeout : timeout_seconds_fast, - is_parallel : false, - suite : 'fast-tests') -endif - -foreach arg : perf_test_names - test(arg, dpdk_test, - env : ['DPDK_TEST=' + arg], - timeout : timeout_seconds, - is_parallel : false, - suite : 'perf-tests') -endforeach - -foreach arg : driver_test_names - test(arg, dpdk_test, - env : ['DPDK_TEST=' + arg], - timeout : timeout_seconds, - is_parallel : false, - suite : 'driver-tests') -endforeach - -foreach arg : dump_test_names - test(arg, dpdk_test, - env : ['DPDK_TEST=' + arg], - timeout : timeout_seconds, - is_parallel : false, - suite : 'debug-tests') -endforeach - -foreach arg : extra_test_names - test(arg, dpdk_test, - env : ['DPDK_TEST=' + arg], - timeout : timeout_seconds, - is_parallel : false, - suite : 'extra-tests') -endforeach +cflags += '-DALLOW_INTERNAL_API' From patchwork Fri Jul 21 11:51:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 129686 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6D56942ED9; Fri, 21 Jul 2023 13:52:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5367642D3A; Fri, 21 Jul 2023 13:51:47 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 8D94240DD8 for ; Fri, 21 Jul 2023 13:51:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689940304; x=1721476304; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=N22OQvIxyuMRlJaTLHpPOULB+tF04Cvw6UcuvrRykQw=; b=XVa0Z/X/JzqGOA+0cq8n0kbL2Hls0w3ucUSZ5mjxVvIQfnGzk7vooPZ5 KAZ2LVukTmoxvAqFKMSz3MYgpG2wr0hCB49Arx8G/uuB+fxvyj61BH6Ek ZeJx0C3B2odcAkDsy0Dwic/fl9YLB/19nRsqgjX2vavkBPnmOBLEIRp4b l/Xt8Nvr/Qj/0cqalJ1eHrOyfd3k9uP9r3YuH7zx/vIQRIE/YJyBVqEJQ Z9fF19VOWu+0CKtJCm9/MBszy6JGXZUkjbby+983nYXWMO8Tb7sydT0Wp AYgYhgXmu3WeLqgkfuiYDxw8okoM0PkkeYPazuvRbhHvAl0FDc3lG7Lg4 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="346599192" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="346599192" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 04:51:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="971420599" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="971420599" Received: from silpixa00401385.ir.intel.com ([10.237.214.156]) by fmsmga006.fm.intel.com with ESMTP; 21 Jul 2023 04:51:43 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [RFC PATCH 4/5] app/test: define unit tests suites based on test macros Date: Fri, 21 Jul 2023 12:51:24 +0100 Message-Id: <20230721115125.55137-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230721115125.55137-1-bruce.richardson@intel.com> References: <20230721115125.55137-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than having the test suites listed out in the meson.build files and having to have them enabled/disabled selectively based on what libs are being built, pull the tests to run from the source files which were added to the build. Signed-off-by: Bruce Richardson --- app/meson.build | 7 ++++++- app/test/suites/meson.build | 29 +++++++++++++++++++++++++++++ buildtools/get-test-suites.py | 24 ++++++++++++++++++++++++ buildtools/meson.build | 1 + 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 app/test/suites/meson.build create mode 100644 buildtools/get-test-suites.py diff --git a/app/meson.build b/app/meson.build index 0d8b618e7f..c14dc80892 100644 --- a/app/meson.build +++ b/app/meson.build @@ -101,7 +101,7 @@ foreach app:apps link_libs = dpdk_static_libraries + dpdk_drivers endif - executable('dpdk-' + name, + exec = executable('dpdk-' + name, sources, c_args: cflags, link_args: ldflags, @@ -110,4 +110,9 @@ foreach app:apps include_directories: includes, install_rpath: join_paths(get_option('prefix'), driver_install_path), install: true) + if name == 'test' + dpdk_test = exec + autotest_sources = sources + subdir('test/suites') # define the pre-canned test suites + endif endforeach diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build new file mode 100644 index 0000000000..135620578c --- /dev/null +++ b/app/test/suites/meson.build @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2023 Intel Corporation + +# some perf tests (eg: memcpy perf autotest)take very long +# to complete, so timeout to 10 minutes +timeout_seconds = 600 + +# process source files to determine the different unit test suites +# - fast_tests +# - perf_tests +# - driver_tests +test_suites = run_command(get_test_suites_cmd, autotest_sources).stdout().strip().split() +foreach suite:test_suites + suite = suite.split('=') + suite_name = suite[0] + suite_tests = suite[1].split(',') + if suite_name == 'fast-tests' + # special fast-test handling here + + else + foreach t: suite_tests + test(t, dpdk_test, + args: ['--', t], + timeout: timeout_seconds, + is_parallel: false, + suite: suite_name) + endforeach + endif +endforeach diff --git a/buildtools/get-test-suites.py b/buildtools/get-test-suites.py new file mode 100644 index 0000000000..43cde80970 --- /dev/null +++ b/buildtools/get-test-suites.py @@ -0,0 +1,24 @@ +#! /usr/bin/env python3 +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2023 Intel Corporation + +import sys +import re + +input_list = sys.argv[1:] +test_def_regex = re.compile("REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)") +test_suites = {} + +for fname in input_list: + with open(fname) as f: + contents = [ln for ln in f.readlines() if test_def_regex.match(ln.strip())] + for ln in contents: + (test_suite, test_name) = test_def_regex.match(ln).group(1, 2) + suite_name = f"{test_suite.lower()}-tests" + if suite_name in test_suites: + test_suites[suite_name].append(test_name) + else: + test_suites[suite_name] = [test_name] + +for suite in test_suites.keys(): + print(f"{suite}={','.join(test_suites[suite])}") diff --git a/buildtools/meson.build b/buildtools/meson.build index e1c600e40f..12e4b36165 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -18,6 +18,7 @@ map_to_win_cmd = py3 + files('map_to_win.py') sphinx_wrapper = py3 + files('call-sphinx-build.py') get_cpu_count_cmd = py3 + files('get-cpu-count.py') get_numa_count_cmd = py3 + files('get-numa-count.py') +get_test_suites_cmd = py3 + files('get-test-suites.py') binutils_avx512_check = (py3 + files('binutils-avx512-check.py') + [objdump] + cc.cmd_array()) From patchwork Fri Jul 21 11:51:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 129687 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AF01B42ED9; Fri, 21 Jul 2023 13:52:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5CE4542D36; Fri, 21 Jul 2023 13:51:49 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 78ECB42D3C for ; Fri, 21 Jul 2023 13:51:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689940307; x=1721476307; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JXZ2G/VvBDgi6SyO2DDx+W9HNJa+rIVLUZwW05s8GkI=; b=SKeQAv60rs6tH8r2ODbzouxMrN1Ni5Owni9QMSIxaqSriMviWogP4hUr OqBt1053cQMMw1kOx4Ns93VjuouYwGsZ9UGR09G2NHPB6DDD1+bRD6UuH oIuFm66Avo+SFA2g0XpplAPmU8lQBoSd6vSUq1dtwDaxgQhBjB99l7WOX l9Xix3NUHE4vx+5798E6P7Mwo1un8erFXSVBhh/iwOsiCmyDJ9/kptPUR dERrq//dleSNhMlFIv40GGrbfGo3rDg+WkS7uMT9zwwHEHuzbPfcYMmPo yWgzpDRkZt+Mo5aKVzawqRYFAcbsCYf+/ABAMd9Z4vg12ZhQdfG02uRea w==; X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="346599205" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="346599205" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 04:51:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="971420618" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="971420618" Received: from silpixa00401385.ir.intel.com ([10.237.214.156]) by fmsmga006.fm.intel.com with ESMTP; 21 Jul 2023 04:51:46 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [RFC PATCH 5/5] app/test: add fast test suite to new build infrastructure Date: Fri, 21 Jul 2023 12:51:25 +0100 Message-Id: <20230721115125.55137-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230721115125.55137-1-bruce.richardson@intel.com> References: <20230721115125.55137-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The fast-tests are special in that they have additional parameters associated with them. This requires script changes and meson.build changes to take account of these parameters. Signed-off-by: Bruce Richardson --- app/test/suites/meson.build | 56 +++++++++++++++++-- buildtools/get-test-suites.py | 9 +++ .../has-hugepages.py | 0 buildtools/meson.build | 1 + 4 files changed, 61 insertions(+), 5 deletions(-) rename app/test/has_hugepage.py => buildtools/has-hugepages.py (100%) diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build index 135620578c..720b43eb62 100644 --- a/app/test/suites/meson.build +++ b/app/test/suites/meson.build @@ -4,20 +4,24 @@ # some perf tests (eg: memcpy perf autotest)take very long # to complete, so timeout to 10 minutes timeout_seconds = 600 +timeout_seconds_fast = 10 + +test_no_huge_args = ['--no-huge', '-m', '2048'] +has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0' +message('hugepage availability: @0@'.format(has_hugepage)) # process source files to determine the different unit test suites # - fast_tests # - perf_tests # - driver_tests -test_suites = run_command(get_test_suites_cmd, autotest_sources).stdout().strip().split() +test_suites = run_command(get_test_suites_cmd, autotest_sources, + check: true).stdout().strip().split() foreach suite:test_suites suite = suite.split('=') suite_name = suite[0] suite_tests = suite[1].split(',') - if suite_name == 'fast-tests' - # special fast-test handling here - - else + if suite_name != 'fast-tests' + # simple cases - tests without parameters or special handling foreach t: suite_tests test(t, dpdk_test, args: ['--', t], @@ -25,5 +29,47 @@ foreach suite:test_suites is_parallel: false, suite: suite_name) endforeach + else + # special fast-test handling here + foreach t: suite_tests + params = t.split(':') + test_name = params[0] + nohuge = params[1] == 'true' + asan = params[2] == 'true' + + test_args = [] + if nohuge + test_args += test_no_huge_args + elif not has_hugepage + continue #skip this tests + endif + if not asan and (get_option('b_sanitize') == 'address' + or get_option('b_sanitize') == 'address,undefined') + continue # skip this test + endif + + if (get_option('default_library') == 'shared' + and test_name == 'event_eth_tx_adapter_autotest') + test_args += ['-d', dpdk_drivers_build_dir] + endif + if is_linux + test_args += ['--file-prefix=@0@'.format(arg[0])] + endif + + test(test_name, dpdk_test, + args : test_args + ['--', test_name], + timeout : timeout_seconds_fast, + is_parallel : false, + suite : 'fast-tests') + if not is_windows and test_name == 'trace_autotest' + test_args += ['--trace=.*'] + test_args += ['--trace-dir=@0@'.format(meson.current_build_dir())] + test(test_name + '_with_traces', dpdk_test, + args : test_args + ['--', test_name], + timeout : timeout_seconds_fast, + is_parallel : false, + suite : 'fast-tests') + endif + endforeach endif endforeach diff --git a/buildtools/get-test-suites.py b/buildtools/get-test-suites.py index 43cde80970..95a9cad4c8 100644 --- a/buildtools/get-test-suites.py +++ b/buildtools/get-test-suites.py @@ -9,6 +9,13 @@ test_def_regex = re.compile("REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)") test_suites = {} +def get_fast_test_params(test_name, ln): + "Extract the extra fast-test parameters from the line" + #print(f"ln: {ln.rstrip()}, test_name: {test_name}, split: {ln.split(test_name, 1)}") + (_, rest_of_line) = ln.split(test_name, 1) + (_, nohuge, asan, _func) = rest_of_line.split(',', 3) + return f":{nohuge.strip().lower()}:{asan.strip().lower()}" + for fname in input_list: with open(fname) as f: contents = [ln for ln in f.readlines() if test_def_regex.match(ln.strip())] @@ -19,6 +26,8 @@ test_suites[suite_name].append(test_name) else: test_suites[suite_name] = [test_name] + if suite_name == "fast-tests": + test_suites["fast-tests"][-1] += get_fast_test_params(test_name, ln) for suite in test_suites.keys(): print(f"{suite}={','.join(test_suites[suite])}") diff --git a/app/test/has_hugepage.py b/buildtools/has-hugepages.py similarity index 100% rename from app/test/has_hugepage.py rename to buildtools/has-hugepages.py diff --git a/buildtools/meson.build b/buildtools/meson.build index 12e4b36165..ac5e4dcf08 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -19,6 +19,7 @@ sphinx_wrapper = py3 + files('call-sphinx-build.py') get_cpu_count_cmd = py3 + files('get-cpu-count.py') get_numa_count_cmd = py3 + files('get-numa-count.py') get_test_suites_cmd = py3 + files('get-test-suites.py') +has_hugepages_cmd = py3 + files('has-hugepages.py') binutils_avx512_check = (py3 + files('binutils-avx512-check.py') + [objdump] + cc.cmd_array())