Messages in this thread | | | Date | Sun, 3 Oct 2021 16:49:54 +0300 | Subject | Re: [PATCH v2 3/4] nitro_enclaves: add test framework for the misc functionality | From | "Paraschiv, Andra-Irina" <> |
| |
On 21/09/2021 18:10, Longpeng(Mike) wrote: > Add test framework for the misc functionality.
Let's add more specifics here.
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.
> > Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com> > --- > drivers/virt/nitro_enclaves/Kconfig | 8 ++++++++ > drivers/virt/nitro_enclaves/ne_misc_dev.c | 27 +++++++++++++++++++++++++++ > drivers/virt/nitro_enclaves/ne_misc_test.c | 17 +++++++++++++++++ > 3 files changed, 52 insertions(+) > create mode 100644 drivers/virt/nitro_enclaves/ne_misc_test.c
Please modify in all places where necessary to mention Nitro Enclaves "misc device", instead of just "misc", to be more specific.
For example, here can be "ne_misc_dev_test.c".
> > diff --git a/drivers/virt/nitro_enclaves/Kconfig b/drivers/virt/nitro_enclaves/Kconfig > index 8c9387a..24c54da 100644 > --- a/drivers/virt/nitro_enclaves/Kconfig > +++ b/drivers/virt/nitro_enclaves/Kconfig > @@ -18,3 +18,11 @@ config NITRO_ENCLAVES > > To compile this driver as a module, choose M here. > The module will be called nitro_enclaves. > + > +config NITRO_ENCLAVES_MISC_TEST
NITRO_ENCLAVES_MISC_DEV_TEST
> + bool "Tests for the misc functionality of Nitro enclaves"
misc device functionality of the Nitro Enclaves
> + depends on NITRO_ENCLAVES && KUNIT=y > + help > + Enable KUnit tests for the misc functionality of Nitro Enclaves. Select
misc device functionality of the Nitro Enclaves
> + 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. > diff --git a/drivers/virt/nitro_enclaves/ne_misc_dev.c b/drivers/virt/nitro_enclaves/ne_misc_dev.c > index d551b88..0131e1b 100644 > --- a/drivers/virt/nitro_enclaves/ne_misc_dev.c > +++ b/drivers/virt/nitro_enclaves/ne_misc_dev.c > @@ -1735,8 +1735,33 @@ static long ne_ioctl(struct file *file, unsigned int cmd, unsigned long arg) > return 0; > } > > +#if defined(CONFIG_NITRO_ENCLAVES_MISC_TEST) > +#include "ne_misc_test.c" > + > +static inline int ne_misc_test_init(void) > +{ > + return __kunit_test_suites_init(ne_misc_test_suites); > +} > + > +static inline void ne_misc_test_exit(void) > +{ > + __kunit_test_suites_exit(ne_misc_test_suites); > +} > +#else > +static inline int ne_misc_test_init(void) > +{ > + return 0; > +} > + > +static inline void ne_misc_test_exit(void) > +{ > +} > +#endif
s/misc/misc_dev/g
Why are these needed? Can't the test suite be setup using "kunit_test_suite" as in the KUnit documentation example [1]?
Wouldn't be necessary to conditionally compile the ne_misc_dev_test, based on the kernel config above?
[1] https://www.kernel.org/doc/html/latest/dev-tools/kunit/start.html#writing-your-first-test
> + > static int __init ne_init(void) > { > + ne_misc_test_init(); > + > mutex_init(&ne_cpu_pool.mutex); > > return pci_register_driver(&ne_pci_driver); > @@ -1747,6 +1772,8 @@ static void __exit ne_exit(void) > pci_unregister_driver(&ne_pci_driver); > > ne_teardown_cpu_pool(); > + > + ne_misc_test_exit(); > } > > module_init(ne_init); > diff --git a/drivers/virt/nitro_enclaves/ne_misc_test.c b/drivers/virt/nitro_enclaves/ne_misc_test.c > new file mode 100644 > index 0000000..3426c35 > --- /dev/null > +++ b/drivers/virt/nitro_enclaves/ne_misc_test.c > @@ -0,0 +1,17 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > + > +#include <kunit/test.h> > + > +static struct kunit_case ne_misc_test_cases[] = { > + {} > +}; > + > +static struct kunit_suite ne_misc_test_suite = { > + .name = "ne_misc_test", > + .test_cases = ne_misc_test_cases, > +}; > + > +static struct kunit_suite *ne_misc_test_suites[] = { > + &ne_misc_test_suite, > + NULL > +}; >
Can replace "ne_misc" with "ne_misc_dev".
Thanks, Andra
Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.
| |