mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-27 03:49:57 -04:00
KVM: selftests: Write REPORT_GUEST_ASSERT macros to pair with GUEST_ASSERT
Write REPORT_GUEST_ASSERT macros to pair with GUEST_ASSERT to abstract and make consistent all guest assertion reporting. Every report includes an explanatory string, a filename, and a line number. Signed-off-by: Colton Lewis <coltonlewis@google.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Link: https://lore.kernel.org/r/20220615193116.806312-4-coltonlewis@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
committed by
Sean Christopherson
parent
fc573fa4f3
commit
ddcb57afd5
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
#ifndef SELFTEST_KVM_UCALL_COMMON_H
|
||||
#define SELFTEST_KVM_UCALL_COMMON_H
|
||||
#include "test_util.h"
|
||||
|
||||
/* Common ucalls */
|
||||
enum {
|
||||
@@ -64,4 +65,45 @@ enum guest_assert_builtin_args {
|
||||
|
||||
#define GUEST_ASSERT_EQ(a, b) __GUEST_ASSERT((a) == (b), #a " == " #b, 2, a, b)
|
||||
|
||||
#define __REPORT_GUEST_ASSERT(_ucall, fmt, _args...) \
|
||||
TEST_FAIL("%s at %s:%ld\n" fmt, \
|
||||
(const char *)(_ucall).args[GUEST_ERROR_STRING], \
|
||||
(const char *)(_ucall).args[GUEST_FILE], \
|
||||
(_ucall).args[GUEST_LINE], \
|
||||
##_args)
|
||||
|
||||
#define GUEST_ASSERT_ARG(ucall, i) ((ucall).args[GUEST_ASSERT_BUILTIN_NARGS + i])
|
||||
|
||||
#define REPORT_GUEST_ASSERT(ucall) \
|
||||
__REPORT_GUEST_ASSERT((ucall), "")
|
||||
|
||||
#define REPORT_GUEST_ASSERT_1(ucall, fmt) \
|
||||
__REPORT_GUEST_ASSERT((ucall), \
|
||||
fmt, \
|
||||
GUEST_ASSERT_ARG((ucall), 0))
|
||||
|
||||
#define REPORT_GUEST_ASSERT_2(ucall, fmt) \
|
||||
__REPORT_GUEST_ASSERT((ucall), \
|
||||
fmt, \
|
||||
GUEST_ASSERT_ARG((ucall), 0), \
|
||||
GUEST_ASSERT_ARG((ucall), 1))
|
||||
|
||||
#define REPORT_GUEST_ASSERT_3(ucall, fmt) \
|
||||
__REPORT_GUEST_ASSERT((ucall), \
|
||||
fmt, \
|
||||
GUEST_ASSERT_ARG((ucall), 0), \
|
||||
GUEST_ASSERT_ARG((ucall), 1), \
|
||||
GUEST_ASSERT_ARG((ucall), 2))
|
||||
|
||||
#define REPORT_GUEST_ASSERT_4(ucall, fmt) \
|
||||
__REPORT_GUEST_ASSERT((ucall), \
|
||||
fmt, \
|
||||
GUEST_ASSERT_ARG((ucall), 0), \
|
||||
GUEST_ASSERT_ARG((ucall), 1), \
|
||||
GUEST_ASSERT_ARG((ucall), 2), \
|
||||
GUEST_ASSERT_ARG((ucall), 3))
|
||||
|
||||
#define REPORT_GUEST_ASSERT_N(ucall, fmt, args...) \
|
||||
__REPORT_GUEST_ASSERT((ucall), fmt, ##args)
|
||||
|
||||
#endif /* SELFTEST_KVM_UCALL_COMMON_H */
|
||||
|
||||
Reference in New Issue
Block a user