[PATCH v4 0/9] Limit usage of internal API in tests

David Marchand david.marchand at redhat.com
Tue Sep 29 15:38:01 CEST 2026


On Tue, 22 Sept 2026 at 11:40, David Marchand <david.marchand at redhat.com> wrote:
>
> We had a few bug reports related to internal (and experimental) symbols
> issues during 26.07 development.
> See for example https://bugs.dpdk.org/show_bug.cgi?id=1957 or more
> recently https://bugs.dpdk.org/show_bug.cgi?id=1967.
>
> To catch such issues earlier in the CI, this series proposes to run
> the unit tests through meson with the ABI reference unit test binary
> against the current ABI libraries and drivers.
>
> For this to work, some unit tests must be skipped (since meson may
> invoke the ABI reference code with tests that were unknown at the time).
>
> A few unit tests were directly dereferencing internal structures and are
> reworked so they use public APIs.
>
> Additionally, unit tests were allowed to use any internal API which has
> hidden a few issues (like a public API backed by internal symbols in the
> hash library).
> So disable the global ALLLOW_INTERNAL_API and move it to code explicitly
> requiring internal API, with the hope it will push us to have better API.
>
>
> --
> David Marchand
>
> Changes since v3:
> - fixed support of newer meson version in last patch,
>
> Changes since v2:
> - automated tests list generation in last patch,
>
> Changes since v1:
> - rebased,
> - dropped patch 1 on bbdev,
> - dropped dependency on net/ring in devargs test,
> - removed hacks from last patch, flushed excluded tests list,
>   added test-null.sh check,
>
> David Marchand (9):
>   bbdev: add per-queue statistics API
>   hash: fix GFNI stubs export
>   test: uninline helper for forking
>   test/bonding: get MAC address with public API
>   test/devargs: rely on net null driver
>   test/vdev: find device with public API
>   test: limit internal API usage
>   ci: make ABI reference generation faster
>   ci: run reference binaries against current ABI
>
>  .ci/linux-build.sh                     |  44 ++++-
>  MAINTAINERS                            |   1 +
>  app/test-bbdev/test_bbdev_perf.c       |  38 +---
>  app/test/meson.build                   |   7 +-
>  app/test/process.c                     | 231 +++++++++++++++++++++++++
>  app/test/process.h                     | 228 +-----------------------
>  app/test/test_devargs.c                |  21 +--
>  app/test/test_external_mem.c           |   2 +
>  app/test/test_link_bonding.c           |  35 ++--
>  app/test/test_malloc.c                 |   2 +
>  app/test/test_mempool.c                |   2 +
>  app/test/test_pdump.c                  |   3 +
>  app/test/test_pdump.h                  |   3 +
>  app/test/test_vdev.c                   |  85 ++-------
>  app/test/virtual_pmd.c                 |   2 +
>  devtools/test-meson-builds.sh          |   5 +-
>  doc/guides/rel_notes/release_26_11.rst |   5 +
>  lib/bbdev/rte_bbdev.c                  |  20 +++
>  lib/bbdev/rte_bbdev.h                  |  20 +++
>  lib/hash/rte_thash_gfni.c              |   4 +-
>  lib/hash/rte_thash_gfni.h              |   2 -
>  21 files changed, 393 insertions(+), 367 deletions(-)
>  create mode 100644 app/test/process.c

Series applied, thanks for the reviews.


-- 
David Marchand



More information about the dev mailing list