On Tue, 17 Oct 2023 at 20:32, Tong Ho <tong...@amd.com> wrote: > > Signed-off-by: Tong Ho <tong...@amd.com> > --- > tests/qtest/meson.build | 2 +- > tests/qtest/xlnx-versal-trng-test.c | 486 ++++++++++++++++++++++++++++ > 2 files changed, 487 insertions(+), 1 deletion(-) > create mode 100644 tests/qtest/xlnx-versal-trng-test.c > > diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build > index 66795cfcd2..593ca6714b 100644 > --- a/tests/qtest/meson.build > +++ b/tests/qtest/meson.build > @@ -216,7 +216,7 @@ qtests_aarch64 = \ > (config_all.has_key('CONFIG_TCG') and > config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? \ > ['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + > \ > (config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test', > 'fuzz-xlnx-dp-test'] : []) + \ > - (config_all_devices.has_key('CONFIG_XLNX_VERSAL') ? ['xlnx-canfd-test'] : > []) + \ > + (config_all_devices.has_key('CONFIG_XLNX_VERSAL') ? ['xlnx-canfd-test', > 'xlnx-versal-trng-test'] : []) + \ > (config_all_devices.has_key('CONFIG_RASPI') ? ['bcm2835-dma-test'] : []) + > \ > (config_all.has_key('CONFIG_TCG') and > \ > config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : > []) + \ > diff --git a/tests/qtest/xlnx-versal-trng-test.c > b/tests/qtest/xlnx-versal-trng-test.c > new file mode 100644 > index 0000000000..dc19c1e83b > --- /dev/null > +++ b/tests/qtest/xlnx-versal-trng-test.c > @@ -0,0 +1,486 @@ > +/* > + * QTests for the Xilinx Versal True Random Number Generator device > + * > + * Copyright (c) 2023 Advanced Micro Devices, Inc. > + * > + * SPDX-License-Identifier: GPL-2.0-or-later > + */ > +
> +#define FAILED(FMT, ...) g_error("%s(): " FMT, __func__, ## __VA_ARGS__) This fails to build for Windows because this macro name clashes with one from the system winerror.h: ../tests/qtest/xlnx-versal-trng-test.c:71: error: "FAILED" redefined [-Werror] 71 | #define FAILED(FMT, ...) g_error("%s(): " FMT, __func__, ## __VA_ARGS__) Also, qtests should not be using g_error() to report errors, because this turns into a call to abort(), which the test harness will not report nicely as an error. Use g_assert_true() or one of the family of g_assert_cmp*() functions to test checks that you want to be test passes or failures (but *not* g_assert()). thanks -- PMM