[v2] app/test: fix build when ring PMD is disabled

Message ID 20191017111628.5396-1-reshma.pattan@intel.com (mailing list archive)
State Superseded, archived
Headers
Series [v2] app/test: fix build when ring PMD is disabled |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot warning Travis build: failed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Pattan, Reshma Oct. 17, 2019, 11:16 a.m. UTC
  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.

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 <nikhil.rao@intel.com>
CC: Chas Williams <chas3@att.com>
CC: Bruce Richardson <bruce.richardson@intel.com>
CC: Stephen Hemminger <stephen@networkplumber.org>

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
---
v2: fix comments of v1 and combine the patches 1/2 and 2/2 of v1.
---
 app/test/Makefile    | 16 +++++-----------
 app/test/meson.build | 28 ++++++++++++++--------------
 app/test/process.h   |  8 ++++++++
 app/test/test.c      |  2 ++
 4 files changed, 29 insertions(+), 25 deletions(-)
  

Comments

Bruce Richardson Oct. 17, 2019, 1:46 p.m. UTC | #1
On Thu, Oct 17, 2019 at 12:16:28PM +0100, Reshma Pattan wrote:
> 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.
> 
> 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 <nikhil.rao@intel.com>
> CC: Chas Williams <chas3@att.com>
> CC: Bruce Richardson <bruce.richardson@intel.com>
> CC: Stephen Hemminger <stephen@networkplumber.org>
> 
> Reported-by: Stephen Hemminger <stephen@networkplumber.org>
> Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
David Marchand Oct. 25, 2019, 8:11 a.m. UTC | #2
On Thu, Oct 17, 2019 at 1:16 PM Reshma Pattan <reshma.pattan@intel.com> wrote:
> diff --git a/app/test/meson.build b/app/test/meson.build
> index 2c23c6347..e221e44f7 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build

[snip]

> @@ -282,7 +269,6 @@ driver_test_names = [
>          'eventdev_selftest_octeontx',
>          'eventdev_selftest_sw',
>          'link_bonding_autotest',
> -        'link_bonding_mode4_autotest',

This test was in the driver list.

>          'link_bonding_rssconf_autotest',
>          'rawdev_autotest',
>  ]
> @@ -319,6 +305,20 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
>  endif

Interlacing the test names, then inspecting the .c files, I noticed
that the event_eth_tx test is missing:

>  if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
>         test_deps += 'pmd_ring'
> +       test_sources += 'test_pmd_ring_perf.c'
> +       perf_test_names += 'ring_pmd_perf_autotest'


> +       test_sources += 'test_pmd_ring.c'
> +       fast_test_names += 'ring_pmd_autotest'

> +       test_sources += 'test_event_eth_tx_adapter.c'
No associated test.

> +       test_sources += 'sample_packet_forward.c'
> +       test_sources += 'test_bitratestats.c'
> +       fast_test_names += 'bitratestats_autotest'

> +       test_sources += 'test_latencystats.c'
> +       fast_test_names += 'latencystats_autotest'

> +       test_sources += 'test_link_bonding_mode4.c'
Wrong list name, as I mentioned earlier.
> +       fast_test_names += 'link_bonding_mode4_autotest'

> +       test_sources += 'test_pdump.c'
> +       fast_test_names += 'pdump_autotest'
  
Pattan, Reshma Oct. 25, 2019, 3:40 p.m. UTC | #3
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
<snip> 

> On Thu, Oct 17, 2019 at 1:16 PM Reshma Pattan <reshma.pattan@intel.com>
> wrote:
> > diff --git a/app/test/meson.build b/app/test/meson.build index
> > 2c23c6347..e221e44f7 100644
> > --- a/app/test/meson.build
> > +++ b/app/test/meson.build
> 
> [snip]
> 
> > @@ -282,7 +269,6 @@ driver_test_names = [
> >          'eventdev_selftest_octeontx',
> >          'eventdev_selftest_sw',
> >          'link_bonding_autotest',
> > -        'link_bonding_mode4_autotest',
> 
> This test was in the driver list.

<snip>

Addressed in v3.

Thanks,
Reshma
  

Patch

diff --git a/app/test/Makefile b/app/test/Makefile
index df7f77f44..afbdb3854 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -144,8 +144,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
@@ -174,11 +178,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)
@@ -208,7 +209,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
@@ -260,13 +261,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 2c23c6347..e221e44f7 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',
@@ -60,9 +57,7 @@  test_sources = files('commands.c',
 	'test_ipsec.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',
@@ -83,11 +78,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',
@@ -199,7 +191,6 @@  fast_test_names = [
         'rcu_qsbr_autotest',
         'red_autotest',
         'ring_autotest',
-        'ring_pmd_autotest',
         'rwlock_test1_autotest',
         'rwlock_rda_autotest',
         'rwlock_rds_wrm_autotest',
@@ -214,7 +205,6 @@  fast_test_names = [
         'timer_autotest',
         'user_delay_us',
         'version_autotest',
-        'bitratestats_autotest',
         'crc_autotest',
         'delay_us_sleep_autotest',
         'distributor_autotest',
@@ -225,10 +215,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',
@@ -258,7 +246,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',
@@ -282,7 +269,6 @@  driver_test_names = [
         'eventdev_selftest_octeontx',
         'eventdev_selftest_sw',
         'link_bonding_autotest',
-        'link_bonding_mode4_autotest',
         'link_bonding_rssconf_autotest',
         'rawdev_autotest',
 ]
@@ -319,6 +305,20 @@  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 += 'bitratestats_autotest'
+	fast_test_names += 'latencystats_autotest'
+	fast_test_names += 'link_bonding_mode4_autotest'
+	fast_test_names += 'pdump_autotest'
 endif
 
 if dpdk_conf.has('RTE_LIBRTE_POWER')
diff --git a/app/test/process.h b/app/test/process.h
index 128ce4121..69c358e02 100644
--- a/app/test/process.h
+++ b/app/test/process.h
@@ -24,10 +24,12 @@ 
 #endif
 
 #ifdef RTE_LIBRTE_PDUMP
+#ifdef RTE_LIBRTE_RING_PMD
 #include <pthread.h>
 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,
@@ -43,7 +45,9 @@  process_dup(const char *const argv[], int numargs, const char *env_value)
 	int i, fd, status;
 	char path[32];
 #ifdef RTE_LIBRTE_PDUMP
+#ifdef RTE_LIBRTE_RING_PMD
 	pthread_t thread;
+#endif
 #endif
 
 	pid_t pid = fork();
@@ -83,17 +87,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 },