On Wed, May 27, 2020 at 4:58 PM Bruce Richardson <bruce.richard...@intel.com> wrote: > > If the bonding pmd is disabled, all autotest associated with it should be > disabled. However, some of those tests also depended upon the ring PMD so > were placed in a block depending on that driver - and unfortunately that > driver alone. This caused build failures if the ring PMD was enabled but > the bonding PMD disabled, due to missing header files and driver libs. > > This error can be reproduced by configuring DPDK using e.g. > > meson configure -Ddisable_drivers=net/[!r]* build > > (which will disable all drivers not starting with "r"), and then building > using ninja. > > Fix this by moving all link bonding autotests to the one block and putting > a second conditional check within that block for those also requiring the > ring PMD. > > Fixes: 7f6ef1664027 ("test/bonding: allow disabling driver") > Fixes: 207b1c813f39 ("test: fix build without ring PMD") > Cc: reshma.pat...@intel.com > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > --- > app/test/meson.build | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/app/test/meson.build b/app/test/meson.build > index 1715ddbcb..dc2474699 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -350,6 +350,10 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD') > test_deps += 'pmd_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_LIBRTE_RING_PMD') > + test_sources += 'test_link_bonding_mode4.c' > + driver_test_names += 'link_bonding_mode4_autotest' > + endif > endif > if dpdk_conf.has('RTE_LIBRTE_RING_PMD') > test_deps += 'pmd_ring' > @@ -358,7 +362,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD') > 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_tests += [['ring_pmd_autotest', true]] > @@ -366,7 +369,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD') > fast_tests += [['event_eth_tx_adapter_autotest', false]] > fast_tests += [['bitratestats_autotest', true]] > fast_tests += [['latencystats_autotest', true]] > - driver_test_names += 'link_bonding_mode4_autotest' > fast_tests += [['pdump_autotest', true]] > endif > > -- > 2.25.1 >
Reviewed-by: David Marchand <david.march...@redhat.com> Just a note. Looking at the makefile counterpart, I can see that if we disable the null driver, we would have an issue too. -- David Marchand