Commit 07503b3c authored by Longpeng's avatar Longpeng Committed by Greg Kroah-Hartman
Browse files

nitro_enclaves: Add KUnit tests setup for the misc device functionality



Add the initial setup for the KUnit tests that will target the Nitro
Enclaves misc device functionality.

Reviewed-by: default avatarAndra Paraschiv <andraprs@amazon.com>
Signed-off-by: default avatarLongpeng <longpeng2@huawei.com>
Link: https://lore.kernel.org/r/20211107140918.2106-4-longpeng2@huawei.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 090ce783
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -14,3 +14,12 @@ config NITRO_ENCLAVES

	  To compile this driver as a module, choose M here.
	  The module will be called nitro_enclaves.

config NITRO_ENCLAVES_MISC_DEV_TEST
	bool "Tests for the misc device functionality of the Nitro Enclaves"
	depends on NITRO_ENCLAVES && KUNIT=y
	help
	  Enable KUnit tests for the misc device functionality of the Nitro
	  Enclaves. Select this option only if you will boot the kernel for
	  the purpose of running unit tests (e.g. under UML or qemu). If
	  unsure, say N.
+31 −0
Original line number Diff line number Diff line
@@ -1756,8 +1756,37 @@ static long ne_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
	return 0;
}

#if defined(CONFIG_NITRO_ENCLAVES_MISC_DEV_TEST)
#include "ne_misc_dev_test.c"

static inline int ne_misc_dev_test_init(void)
{
	return __kunit_test_suites_init(ne_misc_dev_test_suites);
}

static inline void ne_misc_dev_test_exit(void)
{
	__kunit_test_suites_exit(ne_misc_dev_test_suites);
}
#else
static inline int ne_misc_dev_test_init(void)
{
	return 0;
}

static inline void ne_misc_dev_test_exit(void)
{
}
#endif

static int __init ne_init(void)
{
	int rc = 0;

	rc = ne_misc_dev_test_init();
	if (rc < 0)
		return rc;

	mutex_init(&ne_cpu_pool.mutex);

	return pci_register_driver(&ne_pci_driver);
@@ -1768,6 +1797,8 @@ static void __exit ne_exit(void)
	pci_unregister_driver(&ne_pci_driver);

	ne_teardown_cpu_pool();

	ne_misc_dev_test_exit();
}

module_init(ne_init);
+17 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0

#include <kunit/test.h>

static struct kunit_case ne_misc_dev_test_cases[] = {
	{}
};

static struct kunit_suite ne_misc_dev_test_suite = {
	.name = "ne_misc_dev_test",
	.test_cases = ne_misc_dev_test_cases,
};

static struct kunit_suite *ne_misc_dev_test_suites[] = {
	&ne_misc_dev_test_suite,
	NULL
};