> From: Bruce Richardson [mailto:bruce.richard...@intel.com]
> Sent: Monday, 14 August 2023 20.21
> 
> This patchset contains changes to DPDK to make the build more
> configurable
> overall. The changes can be grouped into two areas:
> 
> * Firstly, there are changes to make the build of the unit tests more
>   flexible and maintainable. These 5 patches switch the unit tests from
>   having separate hard-coded lists of files and tests, with lots of
>   conditional logic to add/remove items from the list, to instead being
>   a single list of files and dependencies per-file. The actual lists of
>   test-suites are built up dynamically from the list of files whose
>   dependencies are met and therefore will be part of the build.
>   This rework enables...
> * The second set of patches which expands the list of libraries which
>   can be disabled at build-time, while still giving a successful build
>   of DPDK. Overall, after this set is applied, the list of optional
>   libraries in DPDK is approx doubled in size. [15 additions giving
>   31 optional libs]
> 
> NOTES:
> * as stated in the RFC, the test binary moves in the build as a result
>   of this set - from app/test/dpdk-test to app/dpdk-test.
> * running the suites of tests no longer works after patch 4 until patch
>   5 is applied. If this is an issue, the two patches can be merged on
>   apply. However, the individual tests are still runnable through the
>   test binary - it's only through "meson test" that there are issues, so
>   I'm keeping the patches separate since each is relatively complex in
> its
>   own right.
> * A number of files in the test directory were not being built, and seem
>   to have never been built with meson. This requires separate work,
> outside
>   the scope of the patchset to fix.
> * Similarly, some unit tests were never added to test suites. These can
>   now be found by using grep to find the old REGISTER_TEST_COMMAND
> macro.
>   Again, adding orphan tests to suites is outside the scope of this set.
> 
> V3:
> - Create symlink to old path to test binary, to ensure all automated CI,
>   and any other use of the test binary still works.
> 
> V2:
> - Changes since RFC:
>    -  merged two previous sets - reworking test build, and disabling
>       libs - into one, since they depend on each other
>    -  Reworked the list of dependencies for each file in the tests,
>       so that files that depend on other files have those deps called
>       out.
>    -  Added list of external dependencies to the test builds
>    -  For disabling libs, merged patches disabling individual libs
>       together into one patch, since all unit test build changes were
>       unnecessary. This made each patch a single-line addition to
>       the optional list in lib/meson.build.

Series-acked-by: Morten Brørup <m...@smartsharesystems.com>

Reply via email to