[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