From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6FE8BA0510; Wed, 18 Dec 2019 12:58:39 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D8F021C01; Wed, 18 Dec 2019 12:58:38 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id D2990330; Wed, 18 Dec 2019 12:58:36 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2019 03:58:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,329,1571727600"; d="scan'208";a="415808110" Received: from silpixa00400214.ir.intel.com (HELO silpixa00400214.ger.corp.intel.com) ([10.237.222.119]) by fmsmga005.fm.intel.com with ESMTP; 18 Dec 2019 03:58:33 -0800 From: Reshma Pattan To: dev@dpdk.org Cc: stable@dpdk.org, Nikhil Rao , Chas Williams , Bruce Richardson , Stephen Hemminger , Reshma Pattan Date: Wed, 18 Dec 2019 11:58:31 +0000 Message-Id: <20191218115831.4035-1-reshma.pattan@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191025153808.31753-1-reshma.pattan@intel.com> References: <20191025153808.31753-1-reshma.pattan@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v4] app/test: fix build when ring PMD is disabled X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Some unit tests has dependency on RING PMD, so this patch is trying to fix those and other closely related issues. 1)pdump, latency, bitrate, ring PMD and test_event_eth_tx_adapter unit tests are dependent on ring PMD, so compile those tests only when ring PMD is enabled else ignore. 2)get rid of make file error which was added by bond unit test for ring PMD disabled case which is not necessary. 3)Tx adapter UT is dependent on RING PMD, but it was observed that it was missing from the run in meson build, so added it. TX adapter UT uses 'sw event and 'null' pmd drivers, so for shared builds the drivers .so path has to be passed to the test args of meson UT run. Fixes: 086eb64db3 ("test/pdump: add unit test for pdump library") Fixes: fdeb30fa71 ("test/bitrate: add unit tests for bitrate library") Fixes: 1e3676a06e ("test/latency: add unit tests for latencystats library") Fixes: 46cf97e4bb ("eventdev: add test for eth Tx adapter") Fixes: d23e09e0ef ("app/test: link with ring pmd when needed") CC: stable@dpdk.org CC: Nikhil Rao CC: Chas Williams CC: Bruce Richardson CC: Stephen Hemminger Reported-by: Stephen Hemminger Signed-off-by: Reshma Pattan --- v4: fix event_eth_tx_adapter_autotest for shared build as reported by travis-ci https://travis-ci.com/ovsrobot/dpdk/jobs/249598391 v3: add missing test event_eth_tx_adapter_autotest. Add link bonding mode4 test to drivers test. v2: fix comments of v1 and combine the patches 1/2 and 2/2 of v1 --- app/test/Makefile | 16 +++++----------- app/test/meson.build | 37 +++++++++++++++++++++++-------------- app/test/process.h | 8 ++++++++ app/test/test.c | 2 ++ 4 files changed, 38 insertions(+), 25 deletions(-) diff --git a/app/test/Makefile b/app/test/Makefile index 57930c00b..1ee155009 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -151,8 +151,12 @@ SRCS-y += test_func_reentrancy.c SRCS-y += test_service_cores.c +ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) +SRCS-y += sample_packet_forward.c SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) += test_bitratestats.c SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += test_latencystats.c +SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c +endif SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c @@ -181,11 +185,8 @@ SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c -SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c - SRCS-y += virtual_pmd.c SRCS-y += packet_burst_generator.c -SRCS-y += sample_packet_forward.c SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) @@ -215,7 +216,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y) SRCS-y += test_eventdev.c SRCS-y += test_event_ring.c SRCS-y += test_event_eth_rx_adapter.c -SRCS-y += test_event_eth_tx_adapter.c +SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_event_eth_tx_adapter.c SRCS-y += test_event_timer_adapter.c SRCS-y += test_event_crypto_adapter.c endif @@ -268,13 +269,6 @@ endif endif endif -# Link against shared libraries when needed -ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) -ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) -$(error Link bonding tests require CONFIG_RTE_LIBRTE_PMD_RING=y) -endif -endif - ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) diff --git a/app/test/meson.build b/app/test/meson.build index fb49d804b..b3790b4bc 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -7,13 +7,11 @@ endif test_sources = files('commands.c', 'packet_burst_generator.c', - 'sample_packet_forward.c', 'test.c', 'test_acl.c', 'test_alarm.c', 'test_atomic.c', 'test_barrier.c', - 'test_bitratestats.c', 'test_bpf.c', 'test_byteorder.c', 'test_cmdline.c', @@ -43,7 +41,6 @@ test_sources = files('commands.c', 'test_event_crypto_adapter.c', 'test_event_eth_rx_adapter.c', 'test_event_ring.c', - 'test_event_eth_tx_adapter.c', 'test_event_timer_adapter.c', 'test_eventdev.c', 'test_external_mem.c', @@ -65,9 +62,7 @@ test_sources = files('commands.c', 'test_ipsec_sad.c', 'test_kni.c', 'test_kvargs.c', - 'test_latencystats.c', 'test_link_bonding.c', - 'test_link_bonding_mode4.c', 'test_link_bonding_rssconf.c', 'test_logs.c', 'test_lpm.c', @@ -88,11 +83,8 @@ test_sources = files('commands.c', 'test_metrics.c', 'test_mcslock.c', 'test_mp_secondary.c', - 'test_pdump.c', 'test_per_lcore.c', 'test_pmd_perf.c', - 'test_pmd_ring.c', - 'test_pmd_ring_perf.c', 'test_power.c', 'test_power_cpufreq.c', 'test_power_kvm_vm.c', @@ -212,7 +204,6 @@ fast_test_names = [ 'rib_autotest', 'rib6_autotest', 'ring_autotest', - 'ring_pmd_autotest', 'rwlock_test1_autotest', 'rwlock_rda_autotest', 'rwlock_rds_wrm_autotest', @@ -227,7 +218,6 @@ fast_test_names = [ 'timer_autotest', 'user_delay_us', 'version_autotest', - 'bitratestats_autotest', 'crc_autotest', 'delay_us_sleep_autotest', 'distributor_autotest', @@ -238,10 +228,8 @@ fast_test_names = [ 'ipsec_autotest', 'kni_autotest', 'kvargs_autotest', - 'latencystats_autotest', 'member_autotest', 'metrics_autotest', - 'pdump_autotest', 'power_cpufreq_autotest', 'power_autotest', 'power_kvm_vm_autotest', @@ -277,7 +265,6 @@ perf_test_names = [ 'rcu_qsbr_perf_autotest', 'red_perf', 'distributor_perf_autotest', - 'ring_pmd_perf_autotest', 'pmd_perf_autotest', 'stack_perf_autotest', 'stack_lf_perf_autotest', @@ -302,7 +289,6 @@ driver_test_names = [ 'eventdev_selftest_octeontx', 'eventdev_selftest_sw', 'link_bonding_autotest', - 'link_bonding_mode4_autotest', 'link_bonding_rssconf_autotest', 'rawdev_autotest', ] @@ -339,6 +325,21 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD') endif if dpdk_conf.has('RTE_LIBRTE_RING_PMD') test_deps += 'pmd_ring' + test_sources += 'test_pmd_ring_perf.c' + test_sources += 'test_pmd_ring.c' + test_sources += 'test_event_eth_tx_adapter.c' + test_sources += 'test_bitratestats.c' + test_sources += 'test_latencystats.c' + test_sources += 'test_link_bonding_mode4.c' + test_sources += 'sample_packet_forward.c' + test_sources += 'test_pdump.c' + fast_test_names += 'ring_pmd_autotest' + perf_test_names += 'ring_pmd_perf_autotest' + fast_test_names += 'event_eth_tx_adapter_autotest' + fast_test_names += 'bitratestats_autotest' + fast_test_names += 'latencystats_autotest' + driver_test_names += 'link_bonding_mode4_autotest' + fast_test_names += 'pdump_autotest' endif if dpdk_conf.has('RTE_LIBRTE_POWER') @@ -414,7 +415,15 @@ endif num_cores_arg = '-l ' + num_cores test_args = [num_cores_arg] + + foreach arg : fast_test_names + if (get_option('default_library') == 'shared' and + arg == 'event_eth_tx_adapter_autotest') + foreach drv:dpdk_drivers + test_args += ['-d', drv.full_path().split('.a')[0] + '.so'] + endforeach + endif if host_machine.system() == 'linux' test(arg, dpdk_test, env : ['DPDK_TEST=' + arg], diff --git a/app/test/process.h b/app/test/process.h index 191d2796a..c3b378033 100644 --- a/app/test/process.h +++ b/app/test/process.h @@ -25,10 +25,12 @@ #endif #ifdef RTE_LIBRTE_PDUMP +#ifdef RTE_LIBRTE_RING_PMD #include extern void *send_pkts(void *empty); extern uint16_t flag_for_send_pkts; #endif +#endif /* * launches a second copy of the test process using the given argv parameters, @@ -44,7 +46,9 @@ process_dup(const char *const argv[], int numargs, const char *env_value) int i, status; char path[32]; #ifdef RTE_LIBRTE_PDUMP +#ifdef RTE_LIBRTE_RING_PMD pthread_t thread; +#endif #endif pid_t pid = fork(); @@ -121,17 +125,21 @@ process_dup(const char *const argv[], int numargs, const char *env_value) } /* parent process does a wait */ #ifdef RTE_LIBRTE_PDUMP +#ifdef RTE_LIBRTE_RING_PMD if ((strcmp(env_value, "run_pdump_server_tests") == 0)) pthread_create(&thread, NULL, &send_pkts, NULL); +#endif #endif while (wait(&status) != pid) ; #ifdef RTE_LIBRTE_PDUMP +#ifdef RTE_LIBRTE_RING_PMD if ((strcmp(env_value, "run_pdump_server_tests") == 0)) { flag_for_send_pkts = 0; pthread_join(thread, NULL); } +#endif #endif return status; } diff --git a/app/test/test.c b/app/test/test.c index cd7aaf645..d0826ca69 100644 --- a/app/test/test.c +++ b/app/test/test.c @@ -53,7 +53,9 @@ do_recursive_call(void) } actions[] = { { "run_secondary_instances", test_mp_secondary }, #ifdef RTE_LIBRTE_PDUMP +#ifdef RTE_LIBRTE_RING_PMD { "run_pdump_server_tests", test_pdump }, +#endif #endif { "test_missing_c_flag", no_action }, { "test_master_lcore_flag", no_action }, -- 2.21.0