On Mon, Aug 14, 2023 at 04:16:01PM +0100, Bruce Richardson wrote:
> 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.
> 
Apologies, some other things I neglected to mention in the notes above.

This patchset has revealed some issues with the building and running of
unit tests:
* Some files/tests were not getting built, and look to have been missed
  years ago in the move from make to meson. Specifically those tests using
  external resources, e.g. the cfgfile tests, are not buildable and have
  not been for years.
* There are quite a number of tests defined that are not registered in a
  test suite in meson and which cannot be run through meson test. Since the
  test cases were automatically tagged via script when generating this
  patchset, the offending test cases can now be found by grepping the
  sources for use of the old "REGISTER_TEST_COMMAND" macro.

The fixing of these issues I consider outside the scope of this set, and
won't be looking at in subsequent revisions. Hopefully #2 should be fairly
easy to rectify in future, but #1 may be more complex.

/Bruce

Reply via email to