Commit fe5be808 authored by David Gow's avatar David Gow Committed by Shuah Khan

nitro_enclaves: test: Use kunit_test_suite() macro

The kunit_test_suite() macro previously conflicted with module_init,
making it unsuitable for use in the nitro_enclaves test. Now that it's
fixed, we can use it instead of a custom call into internal KUnit
functions to run the test.

As a side-effect, this means that the test results are properly included
with other suites when built-in. To celebrate, enable the test by
default when KUNIT_ALL_TESTS is set (and NITRO_ENCLAVES enabled).

The nitro_enclave tests can now be run via kunit_tool with:
	./tools/testing/kunit/kunit.py run --arch=x86_64 \
	--kconfig_add CONFIG_PCI=y --kconfig_add CONFIG_SMP=y \
	--kconfig_add CONFIG_HOTPLUG_CPU=y \
	--kconfig_add CONFIG_VIRT_DRIVERS=y \
	--kconfig_add CONFIG_NITRO_ENCLAVES=y \
	'ne_misc_dev_test'

(This is a pretty long command, so it may be worth adding a .kunitconfig
file at some point, instead.)
Reviewed-by: default avatarAndra Paraschiv <andraprs@amazon.com>
Acked-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Signed-off-by: default avatarDavid Gow <davidgow@google.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 635dcd16
...@@ -16,8 +16,9 @@ config NITRO_ENCLAVES ...@@ -16,8 +16,9 @@ config NITRO_ENCLAVES
The module will be called nitro_enclaves. The module will be called nitro_enclaves.
config NITRO_ENCLAVES_MISC_DEV_TEST config NITRO_ENCLAVES_MISC_DEV_TEST
bool "Tests for the misc device functionality of the Nitro Enclaves" bool "Tests for the misc device functionality of the Nitro Enclaves" if !KUNIT_ALL_TESTS
depends on NITRO_ENCLAVES && KUNIT=y depends on NITRO_ENCLAVES && KUNIT
default KUNIT_ALL_TESTS
help help
Enable KUnit tests for the misc device functionality of the Nitro Enable KUnit tests for the misc device functionality of the Nitro
Enclaves. Select this option only if you will boot the kernel for Enclaves. Select this option only if you will boot the kernel for
......
...@@ -1759,35 +1759,10 @@ static long ne_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -1759,35 +1759,10 @@ static long ne_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
#if defined(CONFIG_NITRO_ENCLAVES_MISC_DEV_TEST) #if defined(CONFIG_NITRO_ENCLAVES_MISC_DEV_TEST)
#include "ne_misc_dev_test.c" #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 #endif
static int __init ne_init(void) 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); mutex_init(&ne_cpu_pool.mutex);
return pci_register_driver(&ne_pci_driver); return pci_register_driver(&ne_pci_driver);
...@@ -1798,8 +1773,6 @@ static void __exit ne_exit(void) ...@@ -1798,8 +1773,6 @@ static void __exit ne_exit(void)
pci_unregister_driver(&ne_pci_driver); pci_unregister_driver(&ne_pci_driver);
ne_teardown_cpu_pool(); ne_teardown_cpu_pool();
ne_misc_dev_test_exit();
} }
module_init(ne_init); module_init(ne_init);
......
...@@ -151,7 +151,4 @@ static struct kunit_suite ne_misc_dev_test_suite = { ...@@ -151,7 +151,4 @@ static struct kunit_suite ne_misc_dev_test_suite = {
.test_cases = ne_misc_dev_test_cases, .test_cases = ne_misc_dev_test_cases,
}; };
static struct kunit_suite *ne_misc_dev_test_suites[] = { kunit_test_suite(ne_misc_dev_test_suite);
&ne_misc_dev_test_suite,
NULL
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment