|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 0/7] Factor out common build rules and helpers in tools/tests
On 23.02.2026 11:14, Edwin Török wrote:
> There are a lot of duplicate rules and code in tools/tests.
> To simplify writing new tests move common build rules into a
> `tools/tests/Rules.mk`, and helper macros/functions into
> `common/{tests,guests}.{c,h}`.
>
> This also ensures that CFLAGS are applied consistently across all tests (e.g.
> one test failed
> to build now due to an unused variable error).
>
> Guest creation also needs to test for the presence of PV, HVM HAP or HVM
> shadow support
> in Xen and create a guest accordingly. This can be shared.
>
> After these changes the per-test Makefile only contains entries specific
> to the test (its name, dependencies, etc.) and avoids having to
> copy&paste boilerplate code.
>
> `tools/tests/x86_emulator` remains unchanged, because the Makefile
> contains a lot of conditional build logic specific to that test.
>
> An upcoming patch series will introduce new tests using the simplified
> Makefile and shared helpers.
>
> For convenience this is also available at:
> https://gitlab.com/xen-project/people/edwintorok/xen/-/compare/staging...private%2Fedvint%2Fmigration-tests2?from_project_id=2336572
> https://gitlab.com/xen-project/people/edwintorok/xen/-/pipelines/2342318716
>
> Edwin Török (7):
> tools/tests/*/Makefile: factor out common PHONY rules into Rules.mk
> tools/tests/vpci/main.c: drop unused variables
> tools/tests/*/Makefile: factor out build rules
> tools/tests: factor out common helpers
> tools/tests/common: ensure error messages have a newline
> tools/tests/tsx: move guest creation to common area
> tools/tests: print more debug info
Just fyi that there is also
https://lists.xen.org/archives/html/xen-devel/2026-02/msg00751.html.
Can the two of you maybe work together to have a single resulting approach?
Jan
> tools/tests/Rules.mk | 60 +++++++++++++
> tools/tests/common/guests.c | 89 +++++++++++++++++++
> tools/tests/common/guests.h | 11 +++
> tools/tests/common/tests.c | 15 ++++
> tools/tests/common/tests.h | 18 ++++
> tools/tests/cpu-policy/Makefile | 41 ++-------
> tools/tests/cpu-policy/test-cpu-policy.c | 7 +-
> tools/tests/domid/Makefile | 37 ++------
> tools/tests/domid/test-domid.c | 11 +--
> tools/tests/mem-claim/Makefile | 31 +------
> tools/tests/mem-claim/test-mem-claim.c | 9 +-
> tools/tests/paging-mempool/Makefile | 31 +------
> .../paging-mempool/test-paging-mempool.c | 9 +-
> tools/tests/pdx/Makefile | 37 +-------
> tools/tests/pdx/test-pdx.c | 3 +-
> tools/tests/rangeset/Makefile | 36 +-------
> tools/tests/rangeset/test-rangeset.c | 3 +-
> tools/tests/resource/Makefile | 35 +-------
> tools/tests/resource/test-resource.c | 9 +-
> tools/tests/tsx/Makefile | 35 +-------
> tools/tests/tsx/test-tsx.c | 88 +++---------------
> tools/tests/vpci/.gitignore | 1 +
> tools/tests/vpci/Makefile | 36 ++------
> tools/tests/vpci/main.c | 6 +-
> tools/tests/xenstore/Makefile | 37 +-------
> tools/tests/xenstore/test-xenstore.c | 4 +-
> 26 files changed, 261 insertions(+), 438 deletions(-)
> create mode 100644 tools/tests/Rules.mk
> create mode 100644 tools/tests/common/guests.c
> create mode 100644 tools/tests/common/guests.h
> create mode 100644 tools/tests/common/tests.c
> create mode 100644 tools/tests/common/tests.h
> create mode 100644 tools/tests/vpci/.gitignore
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |