[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/7] Factor out common build rules and helpers in tools/tests



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

 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

-- 
2.47.3




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.