test: fix build with ring PMD but no bond PMD
authorBruce Richardson <bruce.richardson@intel.com>
Wed, 27 May 2020 14:57:45 +0000 (15:57 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 1 Jul 2020 10:00:57 +0000 (12:00 +0200)
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")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
app/test/meson.build

index 5233ead..10f23d5 100644 (file)
@@ -352,6 +352,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'
@@ -360,7 +364,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]]
@@ -368,7 +371,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