[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


  • To: Edwin Török <edwin.torok@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 23 Feb 2026 11:42:37 +0100
  • Autocrypt: addr=jbeulich@xxxxxxxx; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL
  • Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Denis Mukhin <dmukhin@xxxxxxxx>
  • Delivery-date: Mon, 23 Feb 2026 10:42:46 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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
> 




 


Rackspace

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