[v3] app/test: fix build when ring PMD is disabled
Checks
Commit Message
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>
---
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 | 29 +++++++++++++++--------------
app/test/process.h | 8 ++++++++
app/test/test.c | 2 ++
4 files changed, 30 insertions(+), 25 deletions(-)
Comments
On Fri, Oct 25, 2019 at 5:38 PM Reshma Pattan <reshma.pattan@intel.com> 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>
> ---
> v3: add missing test event_eth_tx_adapter_autotest.
https://travis-ci.com/ovsrobot/dpdk/jobs/249598391
79/83 DPDK:fast-tests / event_eth_tx_adapter_autotest FAIL 0.12 s
(exit status 255 or signal 127 SIGinvalid)
--- command ---
DPDK_TEST='event_eth_tx_adapter_autotest'
/home/travis/build/ovsrobot/dpdk/build/app/test/dpdk-test -l 0-1
--file-prefix=event_eth_tx_adapter_autotest
--- stdout ---
EAL: Probing VFIO support...
APP: HPET is not enabled, using TSC as default timer
RTE>>event_eth_tx_adapter_autotest
+ ------------------------------------------------------- +
+ Test Suite : tx event eth adapter test suite
Port 0 MAC: 00 00 00 00 00 00
Port 1 MAC: 00 00 00 00 00 00
Failed to find a valid event device, testing with event_sw0 device
+ ------------------------------------------------------- +
+ Test Suite Summary
+ Tests Total : 5
+ Tests Skipped : 0
+ Tests Executed : 0
+ Tests Unsupported: 0
+ Tests Passed : 0
+ Tests Failed : 5
+ ------------------------------------------------------- +
Test Failed
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Sunday, October 27, 2019 8:48 AM
> To: Pattan, Reshma <reshma.pattan@intel.com>
> Cc: dev <dev@dpdk.org>; dpdk stable <stable@dpdk.org>; Rao, Nikhil
> <nikhil.rao@intel.com>; Chas Williams <chas3@att.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Stephen Hemminger
> <stephen@networkplumber.org>
> Subject: Re: [dpdk-stable] [PATCH v3] app/test: fix build when ring PMD is
> disabled
>
> On Fri, Oct 25, 2019 at 5:38 PM Reshma Pattan <reshma.pattan@intel.com>
> 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>
> > ---
> > v3: add missing test event_eth_tx_adapter_autotest.
>
> https://travis-ci.com/ovsrobot/dpdk/jobs/249598391
>
> 79/83 DPDK:fast-tests / event_eth_tx_adapter_autotest FAIL 0.12 s
> (exit status 255 or signal 127 SIGinvalid)
> --- command ---
> DPDK_TEST='event_eth_tx_adapter_autotest'
> /home/travis/build/ovsrobot/dpdk/build/app/test/dpdk-test -l 0-1 --file-
> prefix=event_eth_tx_adapter_autotest
> --- stdout ---
> EAL: Probing VFIO support...
> APP: HPET is not enabled, using TSC as default timer
> RTE>>event_eth_tx_adapter_autotest
> + ------------------------------------------------------- + + Test Suite : tx event eth
> adapter test suite Port 0 MAC: 00 00 00 00 00 00 Port 1 MAC: 00 00 00 00 00 00
> Failed to find a valid event device, testing with event_sw0 device + ----------------
> --------------------------------------- + + Test Suite Summary
> + Tests Total : 5
> + Tests Skipped : 0
> + Tests Executed : 0
> + Tests Unsupported: 0
> + Tests Passed : 0
> + Tests Failed : 5
> + ------------------------------------------------------- + Test Failed
>
Is this something that Nikhil should look into this as maintainer and fix in separate patch, I am afraid this is not my area of expertise.
Thanks,
Reshma
On Tue, Oct 29, 2019 at 10:36 AM Pattan, Reshma <reshma.pattan@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: David Marchand <david.marchand@redhat.com>
> > Sent: Sunday, October 27, 2019 8:48 AM
> > To: Pattan, Reshma <reshma.pattan@intel.com>
> > Cc: dev <dev@dpdk.org>; dpdk stable <stable@dpdk.org>; Rao, Nikhil
> > <nikhil.rao@intel.com>; Chas Williams <chas3@att.com>; Richardson, Bruce
> > <bruce.richardson@intel.com>; Stephen Hemminger
> > <stephen@networkplumber.org>
> > Subject: Re: [dpdk-stable] [PATCH v3] app/test: fix build when ring PMD is
> > disabled
> >
> > On Fri, Oct 25, 2019 at 5:38 PM Reshma Pattan <reshma.pattan@intel.com>
> > 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>
> > > ---
> > > v3: add missing test event_eth_tx_adapter_autotest.
> >
> > https://travis-ci.com/ovsrobot/dpdk/jobs/249598391
> >
> > 79/83 DPDK:fast-tests / event_eth_tx_adapter_autotest FAIL 0.12 s
> > (exit status 255 or signal 127 SIGinvalid)
> > --- command ---
> > DPDK_TEST='event_eth_tx_adapter_autotest'
> > /home/travis/build/ovsrobot/dpdk/build/app/test/dpdk-test -l 0-1 --file-
> > prefix=event_eth_tx_adapter_autotest
> > --- stdout ---
> > EAL: Probing VFIO support...
> > APP: HPET is not enabled, using TSC as default timer
> > RTE>>event_eth_tx_adapter_autotest
> > + ------------------------------------------------------- + + Test Suite : tx event eth
> > adapter test suite Port 0 MAC: 00 00 00 00 00 00 Port 1 MAC: 00 00 00 00 00 00
> > Failed to find a valid event device, testing with event_sw0 device + ----------------
> > --------------------------------------- + + Test Suite Summary
> > + Tests Total : 5
> > + Tests Skipped : 0
> > + Tests Executed : 0
> > + Tests Unsupported: 0
> > + Tests Passed : 0
> > + Tests Failed : 5
> > + ------------------------------------------------------- + Test Failed
> >
>
> Is this something that Nikhil should look into this as maintainer and fix in separate patch, I am afraid this is not my area of expertise.
I agree that someone knowing of this test should be looking at it.
My suggestion on adding this test was based on the fact that we were
building this code test.
But I was expecting that you test this addition.
You shall not break the CI :-)
Please add this to your checklist for future submissions, or at least
check the robot reports.
Thanks.
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Thursday, October 31, 2019 7:58 AM
> To: Pattan, Reshma <reshma.pattan@intel.com>
> Cc: Rao, Nikhil <nikhil.rao@intel.com>; dev <dev@dpdk.org>; dpdk stable
> <stable@dpdk.org>; Chas Williams <chas3@att.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Stephen Hemminger
> <stephen@networkplumber.org>
> Subject: Re: [dpdk-stable] [PATCH v3] app/test: fix build when ring PMD is
> disabled
>
> On Tue, Oct 29, 2019 at 10:36 AM Pattan, Reshma <reshma.pattan@intel.com>
> wrote:
> >
> >
> >
> > > -----Original Message-----
<snip>
> > > Failed
> > >
> >
> > Is this something that Nikhil should look into this as maintainer and fix in
> separate patch, I am afraid this is not my area of expertise.
>
> I agree that someone knowing of this test should be looking at it.
>
> My suggestion on adding this test was based on the fact that we were building
> this code test.
> But I was expecting that you test this addition.
>
> You shall not break the CI :-)
> Please add this to your checklist for future submissions, or at least check the
> robot reports.
>
>
My mistake, I missed to check the travis report https://travis-ci.com/ovsrobot/dpdk/builds/133589702
I will note this point to check the reports and run the test.
Thanks,
Reshma
> > > -----Original Message-----
> > > From: David Marchand <david.marchand@redhat.com>
> > > > v3: add missing test event_eth_tx_adapter_autotest.
Just wondering, if is it ok to send me the v4 by reverting the test case addition from run for this patch to get accepted, as fixing the test case can be handled separately.
> > Is this something that Nikhil should look into this as maintainer and fix in
> separate patch, I am afraid this is not my area of expertise.
>
> I agree that someone knowing of this test should be looking at it.
>
> My suggestion on adding this test was based on the fact that we were building
> this code test.
> But I was expecting that you test this addition.
>
> You shall not break the CI :-)
> Please add this to your checklist for future submissions, or at least check the
> robot reports.
>
>
> Thanks.
>
> --
> David Marchand
On 12/9/2019 1:38 PM, Pattan, Reshma wrote:
>
>
>>>> -----Original Message-----
>>>> From: David Marchand <david.marchand@redhat.com>
>>>>> v3: add missing test event_eth_tx_adapter_autotest.
>
> Just wondering, if is it ok to send me the v4 by reverting the test case addition from run for this patch to get accepted, as fixing the test case can be handled separately.
Is the root cause of the failures missing '-d' parameter, why not provide that
instead of not executing the test cases?
David, Aaron, Can it be possible to test providing '-d' paramter in travis and
see if it fixes the issue?
And what do you think splitting the patch into two, one fixes the build issues
and other adding the missing testcases to the test suit?
>
>>> Is this something that Nikhil should look into this as maintainer and fix in
>> separate patch, I am afraid this is not my area of expertise.
>>
>> I agree that someone knowing of this test should be looking at it.
>>
>> My suggestion on adding this test was based on the fact that we were building
>> this code test.
>> But I was expecting that you test this addition.
>>
>> You shall not break the CI :-)
>> Please add this to your checklist for future submissions, or at least check the
>> robot reports.
>>
>>
>> Thanks.
>>
>> --
>> David Marchand
>
Ferruh Yigit <ferruh.yigit@intel.com> writes:
> On 12/9/2019 1:38 PM, Pattan, Reshma wrote:
>>
>>
>>>>> -----Original Message-----
>>>>> From: David Marchand <david.marchand@redhat.com>
>>>>>> v3: add missing test event_eth_tx_adapter_autotest.
>>
>> Just wondering, if is it ok to send me the v4 by reverting the test
>> case addition from run for this patch to get accepted, as fixing the
>> test case can be handled separately.
>
> Is the root cause of the failures missing '-d' parameter, why not provide that
> instead of not executing the test cases?
+1
> David, Aaron, Can it be possible to test providing '-d' paramter in travis and
> see if it fixes the issue?
It's always possible. The best way would be to use one's own github
repo and travis-ci instance to test the changes and ensure they are
correct. It's also possible to submit a patch to the list that has the
change and it will be applied and a build + test should happen.
> And what do you think splitting the patch into two, one fixes the build issues
> and other adding the missing testcases to the test suit?
>
>
>>
>>>> Is this something that Nikhil should look into this as maintainer and fix in
>>> separate patch, I am afraid this is not my area of expertise.
>>>
>>> I agree that someone knowing of this test should be looking at it.
>>>
>>> My suggestion on adding this test was based on the fact that we were building
>>> this code test.
>>> But I was expecting that you test this addition.
>>>
>>> You shall not break the CI :-)
+1000 to this
>>> Please add this to your checklist for future submissions, or at least check the
>>> robot reports.
>>>
>>>
>>> Thanks.
>>>
>>> --
>>> David Marchand
>>
@@ -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
@@ -261,13 +262,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)
@@ -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',
@@ -61,9 +58,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',
@@ -84,11 +79,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',
@@ -200,7 +192,6 @@ fast_test_names = [
'rcu_qsbr_autotest',
'red_autotest',
'ring_autotest',
- 'ring_pmd_autotest',
'rwlock_test1_autotest',
'rwlock_rda_autotest',
'rwlock_rds_wrm_autotest',
@@ -215,7 +206,6 @@ fast_test_names = [
'timer_autotest',
'user_delay_us',
'version_autotest',
- 'bitratestats_autotest',
'crc_autotest',
'delay_us_sleep_autotest',
'distributor_autotest',
@@ -226,10 +216,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',
@@ -259,7 +247,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',
@@ -284,7 +271,6 @@ driver_test_names = [
'eventdev_selftest_octeontx',
'eventdev_selftest_sw',
'link_bonding_autotest',
- 'link_bonding_mode4_autotest',
'link_bonding_rssconf_autotest',
'rawdev_autotest',
]
@@ -321,6 +307,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')
@@ -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;
}
@@ -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 },