qemu-cr16/tests
Daniel P. Berrangé da949d495d tracetool: add test suite for tracetool with reference output
When reviewing tracetool patches it is often very unclear what the
expected output will be for the generated backends. Compounding
this is that a default build will only enable the 'log' trace
backend, so developers won't see generated code for other backends
without making a special effort. Some backends are also platform
specific, so can't be enabled in QEMU builds, even though tracetool
could generate the code.

To address this, introduce a test suite for tracetool which is
conceptually similar to the qapi-schema test. It is a simple
python program that runs tracetool and compares the actual output
to historical reference output kept in git. The test directly
emits TAP format logs for ease of integration with meson.

This can be run with

  make check-tracetool

to make it easier for developers changing generated output, the
sample expected content can be auto-recreated

  QEMU_TEST_REGENERATE=1 make check-tracetool

and the changes reviewed and added to the commit. This will also
assist reviewers interpreting the change.

Developers are reminded of this in the test output on failure:

  $ make check-tracetool
  1/6 qemu:tracetool / dtrace        OK              0.14s
  2/6 qemu:tracetool / ftrace        FAIL            0.06s   exit status 1
  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  1..2
  ok 1 - ftrace.c
  #
  not ok 1 - ftrace.h (set QEMU_TEST_REGENERATE=1 to recreate reference output if tracetool generator was intentionally changed)
  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

  3/6 qemu:tracetool / log           OK              0.06s
  4/6 qemu:tracetool / simple        OK              0.06s
  5/6 qemu:tracetool / syslog        OK              0.06s
  6/6 qemu:tracetool / ust           OK              0.11s

  Summary of Failures:

  2/6 qemu:tracetool / ftrace FAIL            0.06s   exit status 1

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20250916081638.764020-6-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2025-09-16 13:31:40 -04:00
..
bench tests/bench: Rename test_akcipher_keys.inc -> test_akcipher_keys.c.inc 2024-09-20 10:08:24 +03:00
data tests/acpi: virt: update HEST file with its current data 2025-08-01 10:23:50 -04:00
decode decodetree: Infer argument set before inferring format 2025-07-25 10:31:45 +01:00
docker tests/docker: fix debian-all-test-cross 2025-08-04 16:13:38 +01:00
fp fpu: allow flushing of output denormals to be after rounding 2025-02-11 16:22:07 +00:00
functional * Silence warnings from the undefined-behaviour sanitizer 2025-09-11 12:41:01 +01:00
guest-debug tests/tcg: Add late gdbstub attach test 2025-02-10 13:47:59 +00:00
image-fuzzer
include meson: fix Windows build 2025-06-16 13:16:27 -04:00
keys
lcitool build, dockerfiles: add support for detecting rustdoc 2025-06-03 22:42:18 +02:00
migration-stress guestperf: Add test result data into report 2025-02-14 15:19:07 -03:00
multiboot
perf/block/qcow2
qapi-schema tests/qapi-schema: Bury dead test case doc-non-first-section 2025-07-29 14:51:39 +02:00
qemu-iotests qemu-iotests: Ignore indentation in Killed messages 2025-08-12 17:13:13 +02:00
qtest Revert "tests/qtest: use qos_printf instead of g_test_message" 2025-09-01 13:44:28 +02:00
rocker
tcg tests/tcg: Fix run for tests with specific plugin 2025-08-01 16:48:50 +01:00
tracetool tracetool: add test suite for tracetool with reference output 2025-09-16 13:31:40 -04:00
tsan block: remove AioContext locking 2023-12-21 22:49:27 +01:00
uefi-test-tools uefi-test-tools:: Add LoongArch64 support 2025-06-01 06:38:53 -04:00
unit block: drop wrapper for bdrv_set_backing_hd_drained() 2025-07-14 15:41:58 +02:00
vm tests/vm: bump FreeBSD image to 14.3 2025-07-14 10:29:17 +02:00
vmstate-static-checker-data
dbus-vmstate-daemon.sh
Makefile.include tracetool: add test suite for tracetool with reference output 2025-09-16 13:31:40 -04:00
meson.build tracetool: add test suite for tracetool with reference output 2025-09-16 13:31:40 -04:00
test-qht-par.c
vhost-user-bridge.c