Home
last modified time | relevance | path

Searched full:kunit (Results 1 – 25 of 398) sorted by relevance

12345678910>>...16

/linux/lib/kunit/
H A DKconfig2 # KUnit base configuration
5 menuconfig KUNIT config
6 tristate "KUnit - Enable support for unit tests"
9 Enables support for kernel unit tests (KUnit), a lightweight unit
14 Documentation/dev-tools/kunit/.
16 if KUNIT
19 bool "KUnit - Enable /sys/kernel/debug/kunit debugfs representation" if !KUNIT_ALL_TESTS
22 Enable debugfs representation for kunit. Currently this consists
23 of /sys/kernel/debug/kunit/<test_suit
[all...]
H A Ddevice.c3 * KUnit-managed device implementation
6 * lifecycle is managed by KUnit.
15 #include <kunit/test.h>
16 #include <kunit/device.h>
17 #include <kunit/resource.h>
25 /* The root device for the KUnit bus, parent of all kunit_devices. */
28 /* A device owned by a KUnit test. */
31 /* The KUnit test which owns this device. */
32 struct kunit *owner;
33 /* If the driver is managed by KUnit an
[all...]
H A Dkunit-test.c3 * KUnit test for core test infrastructure.
9 #include <kunit/test.h>
10 #include <kunit/test-bug.h>
11 #include <kunit/static_stub.h>
14 #include <kunit/device.h>
26 struct kunit *test = data; in kunit_test_successful_try()
34 struct kunit *test = data; in kunit_test_no_catch()
39 static void kunit_test_try_catch_successful_try_no_catch(struct kunit *test) in kunit_test_try_catch_successful_try_no_catch()
56 struct kunit *test = data; in kunit_test_unsuccessful_try()
66 struct kunit *test = data; in kunit_test_catch()
[all …]
H A Dplatform-test.c3 * KUnit test for KUnit platform driver infrastructure.
8 #include <kunit/platform_device.h>
9 #include <kunit/test.h>
14 static void kunit_platform_device_alloc_test(struct kunit *test) in kunit_platform_device_alloc_test()
17 kunit_platform_device_alloc(test, "kunit-platform", 1)); in kunit_platform_device_alloc_test()
24 static void kunit_platform_device_add_test(struct kunit *test) in kunit_platform_device_add_test()
27 const char *name = "kunit-platform-add"; in kunit_platform_device_add_test()
43 static void kunit_platform_device_add_twice_fails_test(struct kunit *test) in kunit_platform_device_add_twice_fails_test()
46 const char *name = "kunit-platform-add-2"; in kunit_platform_device_add_twice_fails_test()
67 static void kunit_platform_device_add_cleans_up(struct kunit *test) in kunit_platform_device_add_cleans_up()
[all …]
/linux/lib/crypto/tests/
H A DKconfig4 tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS
5 depends on KUNIT
10 KUnit tests for the BLAKE2b cryptographic hash function.
13 tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS
14 depends on KUNIT
20 KUnit tests for the BLAKE2s cryptographic hash function.
23 tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS
24 depends on KUNIT
29 KUnit tests for the Curve25519 Diffie-Hellman function.
32 tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS
[all …]
/linux/Documentation/dev-tools/kunit/
H A Dstart.rst7 This page contains an overview of the kunit_tool and KUnit framework,
9 and covers common problems users face when using KUnit for the first time.
13 KUnit has the same dependencies as the Linux kernel. As long as you can
14 build the kernel, you can run KUnit.
24 ./tools/testing/kunit/kunit.py run
30 This happens because internally kunit.py specifies ``.kunit``
46 Configuring KUnit Kernel ...
47 Building KUnit Kernel ...
48 Starting KUnit Kernel ...
54 the ``Building KUnit Kernel`` step may take a while.
[all …]
H A Darchitecture.rst4 KUnit Architecture
7 The KUnit architecture is divided into two parts:
15 The kernel testing library supports KUnit tests written in C using
16 KUnit. These KUnit tests are kernel code. KUnit performs the following
26 The test case is the fundamental unit in KUnit. KUnit test cases are organised
27 into suites. A KUnit test case is a function with type signature
28 ``void (*)(struct kunit *test)``. These test case functions are wrapped in a
34 Each KUnit test case receives a ``struct kunit`` context object that tracks a
35 running test. The KUnit assertion macros and other KUnit utilities use the
36 ``struct kunit`` context object. As an exception, there are two fields:
[all …]
H A Drunning_tips.rst4 Tips For Running KUnit Tests
7 Using ``kunit.py run`` ("kunit tool")
18 ( cd "$(git rev-parse --show-toplevel)" && ./tools/testing/kunit/kunit.py run "$@" )
22 Early versions of ``kunit.py`` (before 5.6) didn't work unless run from
28 ``kunit.py run`` accepts an optional glob argument to filter tests. The format
35 $ echo -e 'CONFIG_KUNIT=y\nCONFIG_KUNIT_ALL_TESTS=y' > .kunit/.kunitconfig
36 $ ./tools/testing/kunit/kunit.py run 'sysctl*'
42 $ echo -e 'CONFIG_KUNIT=y\nCONFIG_KUNIT_ALL_TESTS=y' > .kunit/.kunitconfig
43 $ ./tools/testing/kunit/kunit.py run 'sysctl*.*write*'
55 ``kunit.py run`` (along with ``build``, and ``config``) supports a
[all …]
H A Dfaq.rst9 KUnit is a unit testing framework. Autotest, kselftest (and some others) are
25 Does KUnit support running on architectures other than UML?
30 For the most part, the KUnit core framework (what we use to write the tests)
33 module is loaded. However, there is infrastructure, like the KUnit Wrapper
34 (``tools/testing/kunit/kunit.py``) that might not support some architectures
35 (see :ref:`kunit-on-qemu`).
37 In short, yes, you can run KUnit on other architectures, but it might require
38 more work than using KUnit on UML.
40 For more information, see :ref:`kunit-on-non-uml`.
67 KUnit is not working, what should I do?
[all …]
H A Dindex.rst4 KUnit - Linux Kernel Unit Testing
26 KUnit (Kernel unit testing framework) provides a common framework for
27 unit tests within the Linux kernel. Using KUnit, you can define groups
29 if built-in, or load as a module. KUnit automatically flags and reports
35 KUnit tests are part of the kernel, written in the C (programming)
38 completion, KUnit can run around 100 tests in less than 10 seconds.
39 KUnit can test any kernel component, for example: file system, system
42 KUnit follows the white-box testing approach. The test has access to
43 internal system functionality. KUnit runs in kernel space and is not
46 In addition, KUnit has kunit_tool, a script (``tools/testing/kunit/kunit.py``)
[all …]
H A Drun_manual.rst9 include KUnit in any kernel, read out results, and parse manually.
11 .. note:: KUnit is not designed for use in a production system. It is
18 KUnit tests can run without kunit_tool. This can be useful, if:
25 KUnit is configured with the ``CONFIG_KUNIT`` option, and individual
27 ``.config``. KUnit tests usually (but don't always) have config options
38 KUnit can be enabled or disabled at boot time, and this behavior is
39 controlled by the kunit.enable kernel parameter.
40 By default, kunit.enable is set to 1 because KUNIT_DEFAULT_ENABLED is
42 verify that kunit.enable=1 at boot time.
61 KUnit can be accessed from userspace via the debugfs filesystem (See more
[all …]
H A Dstyle.rst7 To make finding, writing, and using KUnit tests as simple as possible, it is
9 below. While it is possible to write KUnit tests which do not follow these rules,
15 1. Porting tests to KUnit which are already known with an existing name.
32 or more KUnit test suites which test the same driver or part of the kernel. A
43 underscores. *Do not* include "test" or "kunit" directly in the subsystem name
44 unless we are actually testing other tests or the kunit framework itself. For
62 ``qos-kunit-test``
63 This name should use underscores, and not have "kunit-test" as a
71 The KUnit API and tools do not explicitly know about subsystems. They are
79 KUnit tests are grouped into test suites, which cover a specific area of
[all …]
/linux/drivers/firewire/
H A DKconfig22 tristate "KUnit tests for layout of structure in UAPI" if !KUNIT_ALL_TESTS
23 depends on FIREWIRE && KUNIT
26 This builds the KUnit tests whether structures exposed to user
29 KUnit tests run during boot and output the results to the debug
31 kernel devs running KUnit test harness and are not for inclusion
34 For more information on KUnit and unit tests in general, refer
35 to the KUnit documentation in Documentation/dev-tools/kunit/.
38 tristate "KUnit tests for device attributes" if !KUNIT_ALL_TESTS
39 depends on FIREWIRE && KUNIT
42 This builds the KUnit tests for device attribute for node and
[all …]
/linux/Documentation/dev-tools/kunit/api/
H A Dindex.rst17 This page documents the KUnit kernel testing API. It is divided into the
20 Core KUnit API
23 Documentation/dev-tools/kunit/api/test.rst
27 Documentation/dev-tools/kunit/api/resource.rst
29 - Documents the KUnit resource API
31 Documentation/dev-tools/kunit/api/functionredirection.rst
33 - Documents the KUnit Function Redirection API
35 Driver KUnit API
38 Documentation/dev-tools/kunit/api/clk.rst
40 - Documents the KUnit clk API
[all …]
/linux/sound/soc/
H A Dsoc-topology-test.c12 #include <kunit/device.h>
13 #include <kunit/test.h>
25 static int snd_soc_tplg_test_init(struct kunit *test) in snd_soc_tplg_test_init()
35 static void snd_soc_tplg_test_exit(struct kunit *test) in snd_soc_tplg_test_exit()
42 * component probe, we need to pass struct kunit somehow to probe function, so
46 struct kunit *kunit; member
60 KUNIT_EXPECT_EQ_MSG(kunit_comp->kunit, kunit_comp->expect, ret, in d_probe()
73 KUNIT_EXPECT_EQ(kunit_comp->kunit, 0, ret); in d_remove()
85 .name = "KUNIT Audio Port",
171 .pcm_name = "KUNIT Audio",
[all …]
/linux/Documentation/translations/zh_CN/rust/
H A Dtesting.rst17 - KUnit 测试
21 KUnit 测试
24 这些测试来自 Rust 文档中的示例。它们会被转换为 KUnit 测试。
29 这些测试可以通过 KUnit 运行。例如,在命令行中使用 ``kunit_tool`` ( ``kunit.py`` )::
31 ./tools/testing/kunit/kunit.py run --make_options LLVM=1 --arch x86_64 --kconfig_add CONFIG_RUST=y
33 或者,KUnit 也可以在内核启动时以内置方式运行。获取更多 KUnit 信息,请参阅
34 Documentation/dev-tools/kunit/index.rst。
35 关于内核内置与命令行测试的详细信息,请参阅 Documentation/dev-tools/kunit/architecture.rst。
37 要使用这些 KUnit 文档测试,需要在内核配置中启用以下选项::
40 Kernel hacking -> Kernel Testing and Coverage -> KUnit - Enable support for unit tests
[all …]
/linux/tools/testing/kunit/
H A Dkunit_tool_test.py4 # A collection of tests for tools/testing/kunit/kunit.py
25 import kunit
116 self.assertContains('# Subtest: kunit-resource-test', result)
124 self.assertContains('ok 1 - kunit-resource-test', result)
125 self.assertContains('foo bar # non-kunit output', result)
126 self.assertContains('# Subtest: kunit-try-catch-test', result)
132 self.assertContains('ok 2 - kunit-try-catch-test', result)
256 self.assertEqual('kunit-resource-test', result.subtests[0].name)
264 self.assertEqual('kunit-resource-test', result.subtests[0].name)
272 self.assertEqual('kunit-resource-test', result.subtests[0].name)
[all …]
/linux/drivers/gpu/drm/xe/tests/
H A Dxe_kunit_helpers.c6 #include <kunit/test.h>
7 #include <kunit/static_stub.h>
8 #include <kunit/visibility.h>
20 * xe_kunit_helper_alloc_xe_device - Allocate a &xe_device for a KUnit test.
21 * @test: the &kunit where this &xe_device will be used
33 struct xe_device *xe_kunit_helper_alloc_xe_device(struct kunit *test, in xe_kunit_helper_alloc_xe_device()
48 struct kunit *test = kunit_get_current_test(); in kunit_action_restore_priv()
54 * xe_kunit_helper_xe_device_test_init - Prepare a &xe_device for a KUnit test.
55 * @test: the &kunit where this fake &xe_device will be used
58 * pointer as &kunit.priv to allow the test code to access it.
[all …]
/linux/include/kunit/
H A Dtest-bug.h3 * KUnit API providing hooks for non-test code to interact with tests.
19 /* Static key if KUnit is running any tests. */
22 /* Hooks table: a table of function pointers filled in when kunit loads */
25 void *(*get_static_stub_address)(struct kunit *test, void *real_fn_addr);
30 * KUnit test.
32 * If a KUnit test is running in the current task, returns a pointer to its
33 * associated struct kunit. This pointer can then be passed to any KUnit
37 * This function is safe to call even when KUnit is disabled. If CONFIG_KUNIT
41 static inline struct kunit *kunit_get_current_test(void) in kunit_get_current_test()
51 * kunit_fail_current_test() - If a KUnit test is running, fail it.
[all …]
H A Ddevice.h3 * KUnit basic device implementation
5 * Helpers for creating and managing fake devices for KUnit tests.
16 #include <kunit/test.h>
29 * Return: a stub struct device_driver, managed by KUnit, with the name @name.
31 struct device_driver *kunit_driver_create(struct kunit *test, const char *name);
34 * kunit_device_register() - Create a struct device for use in KUnit tests
47 struct device *kunit_device_register(struct kunit *test, const char *name);
50 * kunit_device_register_with_driver() - Create a struct device for use in KUnit tests
58 * wish KUnit to create and manage a driver for you.
63 struct device *kunit_device_register_with_driver(struct kunit *test,
[all …]
/linux/lib/
H A DKconfig.debug1945 source "lib/kunit/Kconfig"
2258 tristate "KUnit test for cpumask" if !KUNIT_ALL_TESTS
2259 depends on KUNIT
2264 For more information on KUnit and unit tests in general, please refer
2265 to the KUnit documentation in Documentation/dev-tools/kunit/.
2271 depends on KUNIT
2292 depends on KUNIT
2322 depends on KUNIT
2336 depends on KUNIT
2350 depends on KUNIT=y
[all …]
/linux/include/drm/
H A Ddrm_kunit_helpers.h10 #include <kunit/test.h>
18 struct kunit;
20 struct device *drm_kunit_helper_alloc_device(struct kunit *test);
21 void drm_kunit_helper_free_device(struct kunit *test, struct device *dev);
24 __drm_kunit_helper_alloc_drm_device_with_driver(struct kunit *test,
30 * drm_kunit_helper_alloc_drm_device_with_driver - Allocates a mock DRM device for KUnit tests
56 __drm_kunit_helper_alloc_drm_device(struct kunit *test, in __drm_kunit_helper_alloc_drm_device()
74 * drm_kunit_helper_alloc_drm_device - Allocates a mock DRM device for KUnit tests
101 drm_kunit_helper_atomic_state_alloc(struct kunit *test,
106 drm_kunit_helper_create_primary_plane(struct kunit *test,
[all …]
/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-test.c5 #include <kunit/test.h>
12 struct kunit *test;
117 struct kunit *test, const struct arm_smmu_ste *cur, in arm_smmu_v3_test_ste_expect_transition()
153 struct kunit *test, const struct arm_smmu_ste *cur, in arm_smmu_v3_test_ste_expect_non_hitless_transition()
161 struct kunit *test, const struct arm_smmu_ste *cur, in arm_smmu_v3_test_ste_expect_hitless_transition()
190 static void arm_smmu_v3_write_ste_test_bypass_to_abort(struct kunit *test) in arm_smmu_v3_write_ste_test_bypass_to_abort()
202 static void arm_smmu_v3_write_ste_test_abort_to_bypass(struct kunit *test) in arm_smmu_v3_write_ste_test_abort_to_bypass()
213 static void arm_smmu_v3_write_ste_test_cdtable_to_abort(struct kunit *test) in arm_smmu_v3_write_ste_test_cdtable_to_abort()
223 static void arm_smmu_v3_write_ste_test_abort_to_cdtable(struct kunit *test) in arm_smmu_v3_write_ste_test_abort_to_cdtable()
233 static void arm_smmu_v3_write_ste_test_cdtable_to_bypass(struct kunit *test) in arm_smmu_v3_write_ste_test_cdtable_to_bypass()
[all …]
/linux/Documentation/rust/
H A Dtesting.rst11 - The KUnit tests.
15 The KUnit tests
19 get transformed into KUnit tests.
24 These tests can be run via KUnit. For example via ``kunit_tool`` (``kunit.py``)
27 ./tools/testing/kunit/kunit.py run --make_options LLVM=1 --arch x86_64 --kconfig_add CONFIG_RUST=y
29 Alternatively, KUnit can run them as kernel built-in at boot. Refer to
30 Documentation/dev-tools/kunit/index.rst for the general KUnit documentation
31 and Documentation/dev-tools/kunit/architecture.rst for the details of kernel
34 To use these KUnit doctests, the following must be enabled::
37 Kernel hacking -> Kernel Testing and Coverage -> KUnit - Enable support for unit tests
[all …]
/linux/mm/damon/
H A DKconfig17 depends on DAMON && KUNIT=y
20 This builds the DAMON Kunit test suite.
22 For more information on KUnit and unit tests in general, please refer
23 to the KUnit documentation.
47 depends on DAMON_VADDR && KUNIT=y
50 This builds the DAMON virtual addresses operations Kunit test suite.
52 For more information on KUnit and unit tests in general, please refer
53 to the KUnit documentation.
67 depends on DAMON_SYSFS && KUNIT=y
70 This builds the DAMON sysfs interface Kunit test suite.
[all …]

12345678910>>...16