Commit e8f17cb6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'linux_kselftest-kunit-6.14-rc1' of...

Merge tag 'linux_kselftest-kunit-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kunit updates from Shuah Khan:

 - fix struct completion warning

 - introduce autorun option

 - add fallback for os.sched_getaffinity

 - enable hardware acceleration when available

* tag 'linux_kselftest-kunit-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  kunit: Introduce autorun option
  kunit: enable hardware acceleration when available
  kunit: add fallback for os.sched_getaffinity
  kunit: platform: Resolve 'struct completion' warning
parents 8fb1e2ee 31691914
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
#ifndef _KUNIT_PLATFORM_DRIVER_H
#define _KUNIT_PLATFORM_DRIVER_H

struct completion;
struct kunit;
struct platform_device;
struct platform_driver;
+3 −1
Original line number Diff line number Diff line
@@ -312,6 +312,7 @@ static inline void kunit_set_failure(struct kunit *test)
}

bool kunit_enabled(void);
bool kunit_autorun(void);
const char *kunit_action(void);
const char *kunit_filter_glob(void);
char *kunit_filter(void);
@@ -334,7 +335,8 @@ kunit_filter_suites(const struct kunit_suite_set *suite_set,
		    int *err);
void kunit_free_suite_set(struct kunit_suite_set suite_set);

int __kunit_test_suites_init(struct kunit_suite * const * const suites, int num_suites);
int __kunit_test_suites_init(struct kunit_suite * const * const suites, int num_suites,
			     bool run_tests);

void __kunit_test_suites_exit(struct kunit_suite **suites, int num_suites);

+12 −0
Original line number Diff line number Diff line
@@ -81,4 +81,16 @@ config KUNIT_DEFAULT_ENABLED
	  In most cases this should be left as Y. Only if additional opt-in
	  behavior is needed should this be set to N.

config KUNIT_AUTORUN_ENABLED
	bool "Default value of kunit.autorun"
	default y
	help
	  Sets the default value of kunit.autorun. If set to N then KUnit
	  tests will not run after initialization unless kunit.autorun=1 is
	  passed to the kernel command line. The test can still be run manually
	  via debugfs interface.

	  In most cases this should be left as Y. Only if additional opt-in
	  behavior is needed should this be set to N.

endif # KUNIT
+1 −1
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ static ssize_t debugfs_run(struct file *file,
	struct inode *f_inode = file->f_inode;
	struct kunit_suite *suite = (struct kunit_suite *) f_inode->i_private;

	__kunit_test_suites_init(&suite, 1);
	__kunit_test_suites_init(&suite, 1, true);

	return count;
}
+19 −2
Original line number Diff line number Diff line
@@ -29,6 +29,22 @@ const char *kunit_action(void)
	return action_param;
}

/*
 * Run KUnit tests after initialization
 */
#ifdef CONFIG_KUNIT_AUTORUN_ENABLED
static bool autorun_param = true;
#else
static bool autorun_param;
#endif
module_param_named(autorun, autorun_param, bool, 0);
MODULE_PARM_DESC(autorun, "Run KUnit tests after initialization");

bool kunit_autorun(void)
{
	return autorun_param;
}

static char *filter_glob_param;
static char *filter_param;
static char *filter_action_param;
@@ -260,13 +276,14 @@ kunit_filter_suites(const struct kunit_suite_set *suite_set,
void kunit_exec_run_tests(struct kunit_suite_set *suite_set, bool builtin)
{
	size_t num_suites = suite_set->end - suite_set->start;
	bool autorun = kunit_autorun();

	if (builtin || num_suites) {
	if (autorun && (builtin || num_suites)) {
		pr_info("KTAP version 1\n");
		pr_info("1..%zu\n", num_suites);
	}

	__kunit_test_suites_init(suite_set->start, num_suites);
	__kunit_test_suites_init(suite_set->start, num_suites, autorun);
}

void kunit_exec_list_tests(struct kunit_suite_set *suite_set, bool include_attr)
Loading