diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-19 10:59:26 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-19 18:01:34 +0100 |
commit | 9536b64ac0d6e3151963a11441dde7ade045fb29 (patch) | |
tree | fa992f4f91d0b5052157727c9ef5ebe0e4c356e0 /drivers/dma-buf/selftest.h | |
parent | aa4fffec310da5eb6d6ef09509b03e780bdf248a (diff) | |
download | linux-9536b64ac0d6e3151963a11441dde7ade045fb29.tar.gz linux-9536b64ac0d6e3151963a11441dde7ade045fb29.tar.bz2 linux-9536b64ac0d6e3151963a11441dde7ade045fb29.zip |
dma-buf: Introduce selftesting framework
In light of recent review slip ups, the absence of a suite of tests for
dma-buf became apparent. Given the current plethora of testing
frameworks, opt for one already in use by Intel's CI and so allow easy
hook up into igt.
We introduce a new module that when loaded will execute the list of
selftests and their subtest. The names of the selftests are put into the
modinfo as parameters so that igt can identify each, and run them
independently, principally for ease of error reporting.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20190819095928.32091-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/dma-buf/selftest.h')
-rw-r--r-- | drivers/dma-buf/selftest.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/dma-buf/selftest.h b/drivers/dma-buf/selftest.h new file mode 100644 index 000000000000..45793aff6142 --- /dev/null +++ b/drivers/dma-buf/selftest.h @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT + +/* + * Copyright © 2019 Intel Corporation + */ + +#ifndef __SELFTEST_H__ +#define __SELFTEST_H__ + +#include <linux/compiler.h> + +#define selftest(name, func) int func(void); +#include "selftests.h" +#undef selftest + +struct subtest { + int (*func)(void *data); + const char *name; +}; + +int __subtests(const char *caller, + const struct subtest *st, + int count, + void *data); +#define subtests(T, data) \ + __subtests(__func__, T, ARRAY_SIZE(T), data) + +#define SUBTEST(x) { x, #x } + +#endif /* __SELFTEST_H__ */ |