[dpdk-dev] [PATCH v2 0/2] add abi version testing to app/test
mdr at ashroe.eu
Thu Aug 22 18:07:15 CEST 2019
This patchset adds ABI version testing to the app/test unit test framework,
addressing two issues previously raised during ML conversations on ABI
1. How do we unit test still supported previous ABI versions?
2. How to we unit test inline functions from still supported previous ABI
Starting with rte_lpm, I did the following:-
* I reproduced mostly unmodified unit tests for the v2.0 ABI, taken from DPDK
2.2 and 17.02.
* I reproduced the rte_lpm interface header from v2.0, including the inline
functions and remapping symbols to their appropriate versions.
* I added support for multiple abi versions to the app/test unit test framework
to allow users to switch between abi versions (set_abi_version), without
further polluting the already long list of unit tests available in app/test.
The intention here is that in future as developers need to deprecate APIs, the
associated unit tests may move into the ABI version testing mechanism of the
app/test instead of being replaced by the latest set of unit tests as would be
the case today.
* Added LPM IPv6 test cases for the v2.0 ABI.
* Fixed a number of checkpatch errors, stop short of substantially reworking
the test code from the v2.0 ABI.
* Removed duplicating test cases published in the original v1 patch.
Ray Kinsella (2):
app/test: add abi version testing functionality
app/test: lpm abi version testing
app/test/Makefile | 12 +-
app/test/commands.c | 131 +-
app/test/meson.build | 6 +
app/test/test.c | 2 +
app/test/test.h | 48 +-
app/test/test_lpm.c | 3 +-
app/test/test_lpm6.c | 2 +-
app/test/test_lpm_perf.c | 293 +---
app/test/test_lpm_routes.c | 287 ++++
app/test/test_lpm_routes.h | 25 +
app/test/v2.0/dcompat.h | 30 +
app/test/v2.0/rte_lpm.h | 451 +++++
app/test/v2.0/rte_lpm6.h | 198 +++
app/test/v2.0/test_lpm.c | 1139 +++++++++++++
app/test/v2.0/test_lpm6.c | 1748 ++++++++++++++++++++
app/test/v2.0/test_lpm6_perf.c | 179 ++
app/test/v2.0/test_lpm_perf.c | 212 +++
app/test/v2.0/test_v20.c | 14 +
doc/guides/contributing/versioning.rst | 4 +
lib/librte_eal/common/include/rte_compat.h | 7 +
20 files changed, 4471 insertions(+), 320 deletions(-)
create mode 100644 app/test/test_lpm_routes.c
create mode 100644 app/test/test_lpm_routes.h
create mode 100644 app/test/v2.0/dcompat.h
create mode 100644 app/test/v2.0/rte_lpm.h
create mode 100644 app/test/v2.0/rte_lpm6.h
create mode 100644 app/test/v2.0/test_lpm.c
create mode 100644 app/test/v2.0/test_lpm6.c
create mode 100644 app/test/v2.0/test_lpm6_perf.c
create mode 100644 app/test/v2.0/test_lpm_perf.c
create mode 100644 app/test/v2.0/test_v20.c
More information about the dev