Path: blob/master/tools/testing/selftests/kvm/include/kvm_test_harness.h
38237 views
/* SPDX-License-Identifier: GPL-2.0-only */1/*2* Macros for defining a KVM test3*4* Copyright (C) 2022, Google LLC.5*/67#ifndef SELFTEST_KVM_TEST_HARNESS_H8#define SELFTEST_KVM_TEST_HARNESS_H910#include "kselftest_harness.h"1112#define KVM_ONE_VCPU_TEST_SUITE(name) \13FIXTURE(name) { \14struct kvm_vcpu *vcpu; \15}; \16\17FIXTURE_SETUP(name) { \18(void)vm_create_with_one_vcpu(&self->vcpu, NULL); \19} \20\21FIXTURE_TEARDOWN(name) { \22kvm_vm_free(self->vcpu->vm); \23}2425#define KVM_ONE_VCPU_TEST(suite, test, guestcode) \26static void __suite##_##test(struct kvm_vcpu *vcpu); \27\28TEST_F(suite, test) \29{ \30vcpu_arch_set_entry_point(self->vcpu, guestcode); \31__suite##_##test(self->vcpu); \32} \33static void __suite##_##test(struct kvm_vcpu *vcpu)3435#endif /* SELFTEST_KVM_TEST_HARNESS_H */363738