sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget,/translations/zh_CN/dev-tools/kunit/api/testmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/dev-tools/kunit/api/testmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/dev-tools/kunit/api/testmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/dev-tools/kunit/api/testmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/dev-tools/kunit/api/testmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/dev-tools/kunit/api/testmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhF/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test.rsthKubhsection)}(hhh](htitle)}(hTest APIh]hTest API}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(h4This file documents all of the standard testing API.h]h4This file documents all of the standard testing API.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlekunit_status (C enum)c.kunit_statushNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(h kunit_statush]hdesc_signature_line)}(henum kunit_statush](hdesc_sig_keyword)}(henumh]henum}(hhhhhNhNubah}(h]h ]kah"]h$]h&]uh1hhhhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1j hhhhhj hKubh desc_name)}(h kunit_statush]h desc_sig_name)}(hhh]h kunit_status}(hj&hhhNhNubah}(h]h ]nah"]h$]h&]uh1j$hj ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhhhhhj hKubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1hsphinx_line_type declaratorhhhhhj hKubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1hhj hKhhhhubh desc_content)}(hhh]h)}(h'Type of result for a test or test suiteh]h'Type of result for a test or test suite}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK7hjRhhubah}(h]h ]h"]h$]h&]uh1jPhhhhhj hKubeh}(h]h ](cenumeh"]h$]h&]domainjmobjtypejndesctypejnnoindex noindexentrynocontentsentryuh1hhhhhhNhNubh container)}(h**Constants** ``KUNIT_SUCCESS`` Denotes the test suite has not failed nor been skipped ``KUNIT_FAILURE`` Denotes the test has failed. ``KUNIT_SKIPPED`` Denotes the test has been skipped.h](h)}(h **Constants**h]hstrong)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK;hjzubhdefinition_list)}(hhh](hdefinition_list_item)}(hI``KUNIT_SUCCESS`` Denotes the test suite has not failed nor been skipped h](hterm)}(h``KUNIT_SUCCESS``h]hliteral)}(hjh]h KUNIT_SUCCESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK>hjubh definition)}(hhh]h)}(h6Denotes the test suite has not failed nor been skippedh]h6Denotes the test suite has not failed nor been skipped}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK>hjubj)}(h/``KUNIT_FAILURE`` Denotes the test has failed. h](j)}(h``KUNIT_FAILURE``h]j)}(hjh]h KUNIT_FAILURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKAhjubj)}(hhh]h)}(hDenotes the test has failed.h]hDenotes the test has failed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKAhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKAhjubj)}(h4``KUNIT_SKIPPED`` Denotes the test has been skipped.h](j)}(h``KUNIT_SKIPPED``h]j)}(hjh]h KUNIT_SKIPPED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKChjubj)}(hhh]h)}(h"Denotes the test has been skipped.h]h"Denotes the test has been skipped.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKDhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2hKChjubeh}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_case (C struct) c.kunit_casehNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_caseh]h)}(hstruct kunit_caseh](h)}(hstructh]hstruct}(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjshhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKIubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjshhhjhKIubj)}(h kunit_caseh]j%)}(hjqh]h kunit_case}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjshhhjhKIubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjohhhjhKIubah}(h]jjah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhKIhjlhhubjQ)}(hhh]h)}(h#represents an individual test case.h]h#represents an individual test case.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKYhjhhubah}(h]h ]h"]h$]h&]uh1jPhjlhhhjhKIubeh}(h]h ](jmstructeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubjy)}(hX**Definition**:: struct kunit_case { void (*run_case)(struct kunit *test); const char *name; const void* (*generate_params)(const void *prev, char *desc); struct kunit_attributes attr; }; **Members** ``run_case`` the function representing the actual test case. ``name`` the name of the test case. ``generate_params`` the generator function for parameterized tests. ``attr`` the attributes associated with the testh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK]hjubh literal_block)}(hstruct kunit_case { void (*run_case)(struct kunit *test); const char *name; const void* (*generate_params)(const void *prev, char *desc); struct kunit_attributes attr; };h]hstruct kunit_case { void (*run_case)(struct kunit *test); const char *name; const void* (*generate_params)(const void *prev, char *desc); struct kunit_attributes attr; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK_hjubh)}(h **Members**h]j)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKfhjubj)}(hhh](j)}(h=``run_case`` the function representing the actual test case. h](j)}(h ``run_case``h]j)}(hj)h]hrun_case}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK\hj#ubj)}(hhh]h)}(h/the function representing the actual test case.h]h/the function representing the actual test case.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hK\hj?ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj>hK\hj ubj)}(h$``name`` the name of the test case. h](j)}(h``name``h]j)}(hjbh]hname}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK]hj\ubj)}(hhh]h)}(hthe name of the test case.h]hthe name of the test case.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhK]hjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhK]hj ubj)}(hD``generate_params`` the generator function for parameterized tests. h](j)}(h``generate_params``h]j)}(hjh]hgenerate_params}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK^hjubj)}(hhh]h)}(h/the generator function for parameterized tests.h]h/the generator function for parameterized tests.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK^hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK^hj ubj)}(h0``attr`` the attributes associated with the testh](j)}(h``attr``h]j)}(hjh]hattr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK^hjubj)}(hhh]h)}(h'the attributes associated with the testh]h'the attributes associated with the test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK^hj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKbhhhhubh)}(hXdA test case is a function with the signature, ``void (*)(struct kunit *)`` that makes expectations and assertions (see KUNIT_EXPECT_TRUE() and KUNIT_ASSERT_TRUE()) about code under test. Each test case is associated with a :c:type:`struct kunit_suite ` and will be run after the suite's init function and followed by the suite's exit function.h](h.A test case is a function with the signature, }(hj-hhhNhNubj)}(h``void (*)(struct kunit *)``h]hvoid (*)(struct kunit *)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubh that makes expectations and assertions (see KUNIT_EXPECT_TRUE() and KUNIT_ASSERT_TRUE()) about code under test. Each test case is associated with a }(hj-hhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hjIh]hstruct kunit_suite}(hjKhhhNhNubah}(h]h ](xrefjmc-typeeh"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&]refdocdev-tools/kunit/api/test refdomainjmreftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]sb reftarget kunit_suiteuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK`hj-ubh_ and will be run after the suite’s init function and followed by the suite’s exit function.}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjqhK`hhhhubh)}(hA test case should be static and should only be created with the KUNIT_CASE() macro; additionally, every array of test cases should be terminated with an empty test case.h]hA test case should be static and should only be created with the KUNIT_CASE() macro; additionally, every array of test cases should be terminated with an empty test case.}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKghhhhubj)}(hXvoid add_test_basic(struct kunit *test) { KUNIT_EXPECT_EQ(test, 1, add(1, 0)); KUNIT_EXPECT_EQ(test, 2, add(1, 1)); KUNIT_EXPECT_EQ(test, 0, add(-1, 1)); KUNIT_EXPECT_EQ(test, INT_MAX, add(0, INT_MAX)); KUNIT_EXPECT_EQ(test, -1, add(INT_MAX, INT_MIN)); } static struct kunit_case example_test_cases[] = { KUNIT_CASE(add_test_basic), {} };h]hXvoid add_test_basic(struct kunit *test) { KUNIT_EXPECT_EQ(test, 1, add(1, 0)); KUNIT_EXPECT_EQ(test, 2, add(1, 1)); KUNIT_EXPECT_EQ(test, 0, add(-1, 1)); KUNIT_EXPECT_EQ(test, INT_MAX, add(0, INT_MAX)); KUNIT_EXPECT_EQ(test, -1, add(INT_MAX, INT_MIN)); } static struct kunit_case example_test_cases[] = { KUNIT_CASE(add_test_basic), {} };}hjsbah}(h]h ]h"]h$]h&]hhforcelanguagejmhighlight_args}uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKkhhhhubh)}(h **Example**h]j)}(hjh]hExample}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhK{hhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_CASE (C macro) c.KUNIT_CASEhNtauh1hhhhhhNhNubh)}(hhh](h)}(h KUNIT_CASEh]h)}(h KUNIT_CASEh]j)}(h KUNIT_CASEh]j%)}(hjh]h KUNIT_CASE}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjhhhjhKubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhKhjhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjhhhjhKubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubh)}(h``KUNIT_CASE (test_name)``h]j)}(hjh]hKUNIT_CASE (test_name)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubh block_quote)}(hAA helper for creating a :c:type:`struct kunit_case ` h]h)}(h@A helper for creating a :c:type:`struct kunit_case `h](hA helper for creating a }(hj!hhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hj+h]hstruct kunit_case}(hj-hhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj!ubeh}(h]h ]h"]h$]h&]uh1hhjHhKhjubah}(h]h ]h"]h$]h&]uh1jhjHhKhhhhubjy)}(hX8**Parameters** ``test_name`` a reference to a test case function. **Description** Takes a symbol for a function representing a test case and creates a :c:type:`struct kunit_case ` object from it. See the documentation for :c:type:`struct kunit_case ` for an example on how to use it.h](h)}(h**Parameters**h]j)}(hj[h]h Parameters}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjUubj)}(hhh]j)}(h3``test_name`` a reference to a test case function. h](j)}(h ``test_name``h]j)}(hjzh]h test_name}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjtubj)}(hhh]h)}(h$a reference to a test case function.h]h$a reference to a test case function.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjhKhjqubah}(h]h ]h"]h$]h&]uh1jhjUubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjUubh)}(hTakes a symbol for a function representing a test case and creates a :c:type:`struct kunit_case ` object from it. See the documentation for :c:type:`struct kunit_case ` for an example on how to use it.h](hETakes a symbol for a function representing a test case and creates a }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubh+ object from it. See the documentation for }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hhjhKhjubh! for an example on how to use it.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjUubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_CASE_ATTR (C macro)c.KUNIT_CASE_ATTRhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_CASE_ATTRh]h)}(hKUNIT_CASE_ATTRh]j)}(hKUNIT_CASE_ATTRh]j%)}(hj:h]hKUNIT_CASE_ATTR}(hjDhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj@ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj<hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj8hhhjWhKubah}(h]j3ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjWhKhj5hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj5hhhjWhKubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjpjtjpjujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_CASE_ATTR (test_name, attributes)``h]j)}(hjvh]h'KUNIT_CASE_ATTR (test_name, attributes)}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubj)}(hQA helper for creating a :c:type:`struct kunit_case ` with attributes h]h)}(hPA helper for creating a :c:type:`struct kunit_case ` with attributesh](hA helper for creating a }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubh with attributes}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhhhhubjy)}(h**Parameters** ``test_name`` a reference to a test case function. ``attributes`` a reference to a struct kunit_attributes object containing test attributesh](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubj)}(hhh](j)}(h3``test_name`` a reference to a test case function. h](j)}(h ``test_name``h]j)}(hjh]h test_name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubj)}(hhh]h)}(h$a reference to a test case function.h]h$a reference to a test case function.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hY``attributes`` a reference to a struct kunit_attributes object containing test attributesh](j)}(h``attributes``h]j)}(hj&h]h attributes}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(hJa reference to a struct kunit_attributes object containing test attributesh]hJa reference to a struct kunit_attributes object containing test attributes}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hKhj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_CASE_SLOW (C macro)c.KUNIT_CASE_SLOWhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_CASE_SLOWh]h)}(hKUNIT_CASE_SLOWh]j)}(hKUNIT_CASE_SLOWh]j%)}(hjyh]hKUNIT_CASE_SLOW}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj{hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjwhhhjhKubah}(h]jrah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhKhjthhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjthhhjhKubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubh)}(h``KUNIT_CASE_SLOW (test_name)``h]j)}(hjh]hKUNIT_CASE_SLOW (test_name)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubj)}(hYA helper for creating a :c:type:`struct kunit_case ` with the slow attribute h]h)}(hXA helper for creating a :c:type:`struct kunit_case ` with the slow attributeh](hA helper for creating a }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubh with the slow attribute}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhhhhubjy)}(hD**Parameters** ``test_name`` a reference to a test case function.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubj)}(hhh]j)}(h2``test_name`` a reference to a test case function.h](j)}(h ``test_name``h]j)}(hj,h]h test_name}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj&ubj)}(hhh]h)}(h$a reference to a test case function.h]h$a reference to a test case function.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjBubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjAhKhj#ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_CASE_PARAM (C macro)c.KUNIT_CASE_PARAMhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_CASE_PARAMh]h)}(hKUNIT_CASE_PARAMh]j)}(hKUNIT_CASE_PARAMh]j%)}(hjh]hKUNIT_CASE_PARAM}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj~hhhjhKubah}(h]jyah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhKhj{hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj{hhhjhKubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubh)}(h,``KUNIT_CASE_PARAM (test_name, gen_params)``h]j)}(hjh]h(KUNIT_CASE_PARAM (test_name, gen_params)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubj)}(hOA helper for creation a parameterized :c:type:`struct kunit_case ` h]h)}(hNA helper for creation a parameterized :c:type:`struct kunit_case `h](h&A helper for creation a parameterized }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhhhhubjy)}(hX**Parameters** ``test_name`` a reference to a test case function. ``gen_params`` a reference to a parameter generator function. **Description** The generator function:: const void* gen_params(const void *prev, char *desc) is used to lazily generate a series of arbitrarily typed values that fit into a void*. The argument **prev** is the previously returned value, which should be used to derive the next value; **prev** is set to NULL on the initial generator call. When no more values are available, the generator must return NULL. Optionally write a string into **desc** (size of KUNIT_PARAM_DESC_SIZE) describing the parameter.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh](j)}(h3``test_name`` a reference to a test case function. h](j)}(h ``test_name``h]j)}(hj/ h]h test_name}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj- ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj) ubj)}(hhh]h)}(h$a reference to a test case function.h]h$a reference to a test case function.}(hjH hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjD hKhjE ubah}(h]h ]h"]h$]h&]uh1jhj) ubeh}(h]h ]h"]h$]h&]uh1jhjD hKhj& ubj)}(h>``gen_params`` a reference to a parameter generator function. h](j)}(h``gen_params``h]j)}(hjh h]h gen_params}(hjj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjf ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjb ubj)}(hhh]h)}(h.a reference to a parameter generator function.h]h.a reference to a parameter generator function.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj} hKhj~ ubah}(h]h ]h"]h$]h&]uh1jhjb ubeh}(h]h ]h"]h$]h&]uh1jhj} hKhj& ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubh)}(hThe generator function::h]hThe generator function:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(h4const void* gen_params(const void *prev, char *desc)h]h4const void* gen_params(const void *prev, char *desc)}hj sbah}(h]h ]h"]h$]h&]hhuh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubh)}(hXis used to lazily generate a series of arbitrarily typed values that fit into a void*. The argument **prev** is the previously returned value, which should be used to derive the next value; **prev** is set to NULL on the initial generator call. When no more values are available, the generator must return NULL. Optionally write a string into **desc** (size of KUNIT_PARAM_DESC_SIZE) describing the parameter.h](hdis used to lazily generate a series of arbitrarily typed values that fit into a void*. The argument }(hj hhhNhNubj)}(h**prev**h]hprev}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhR is the previously returned value, which should be used to derive the next value; }(hj hhhNhNubj)}(h**prev**h]hprev}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh is set to NULL on the initial generator call. When no more values are available, the generator must return NULL. Optionally write a string into }(hj hhhNhNubj)}(h**desc**h]hdesc}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh: (size of KUNIT_PARAM_DESC_SIZE) describing the parameter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_CASE_PARAM_ATTR (C macro)c.KUNIT_CASE_PARAM_ATTRhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_CASE_PARAM_ATTRh]h)}(hKUNIT_CASE_PARAM_ATTRh]j)}(hKUNIT_CASE_PARAM_ATTRh]j%)}(hj6 h]hKUNIT_CASE_PARAM_ATTR}(hj@ hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj< ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj8 hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj4 hhhjS hKubah}(h]j/ ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjS hKhj1 hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj1 hhhjS hKubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjl jtjl jujvjwuh1hhhhhhNhNubh)}(h=``KUNIT_CASE_PARAM_ATTR (test_name, gen_params, attributes)``h]j)}(hjr h]h9KUNIT_CASE_PARAM_ATTR (test_name, gen_params, attributes)}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubj)}(h_A helper for creating a parameterized :c:type:`struct kunit_case ` with attributes h]h)}(h^A helper for creating a parameterized :c:type:`struct kunit_case ` with attributesh](h&A helper for creating a parameterized }(hj hhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hj h]hstruct kunit_case}(hj hhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubh with attributes}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj hKhhhhubjy)}(h**Parameters** ``test_name`` a reference to a test case function. ``gen_params`` a reference to a parameter generator function. ``attributes`` a reference to a struct kunit_attributes object containing test attributesh](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh](j)}(h3``test_name`` a reference to a test case function. h](j)}(h ``test_name``h]j)}(hj h]h test_name}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h$a reference to a test case function.h]h$a reference to a test case function.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h>``gen_params`` a reference to a parameter generator function. h](j)}(h``gen_params``h]j)}(hj" h]h gen_params}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h.a reference to a parameter generator function.h]h.a reference to a parameter generator function.}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7 hKhj8 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj7 hKhj ubj)}(hY``attributes`` a reference to a struct kunit_attributes object containing test attributesh](j)}(h``attributes``h]j)}(hj[ h]h attributes}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjU ubj)}(hhh]h)}(hJa reference to a struct kunit_attributes object containing test attributesh]hJa reference to a struct kunit_attributes object containing test attributes}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp hKhjq ubah}(h]h ]h"]h$]h&]uh1jhjU ubeh}(h]h ]h"]h$]h&]uh1jhjp hKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_suite (C struct) c.kunit_suitehNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_suiteh]h)}(hstruct kunit_suiteh](h)}(hjyh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj hhhj hKubj)}(h kunit_suiteh]j%)}(hj h]h kunit_suite}(hj hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj hhhj hKubah}(h]j ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj hKhj hhubjQ)}(hhh]h)}(hJdescribes a related collection of :c:type:`struct kunit_case `h](h"describes a related collection of }(hj hhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hj h]hstruct kunit_case}(hj hhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjj)}jm]jh ASTIdentifier)} identifierj sb c.kunit_suiteasbjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj hhubah}(h]h ]h"]h$]h&]uh1jPhj hhhj hKubeh}(h]h ](jmstructeh"]h$]h&]jrjmjsj8 jtj8 jujvjwuh1hhhhhhNhNubjy)}(hX**Definition**:: struct kunit_suite { const char name[256]; int (*suite_init)(struct kunit_suite *suite); void (*suite_exit)(struct kunit_suite *suite); int (*init)(struct kunit *test); void (*exit)(struct kunit *test); struct kunit_case *test_cases; struct kunit_attributes attr; }; **Members** ``name`` the name of the test. Purely informational. ``suite_init`` called once per test suite before the test cases. ``suite_exit`` called once per test suite after all test cases. ``init`` called before every test case. ``exit`` called after every test case. ``test_cases`` a null terminated array of test cases. ``attr`` the attributes associated with the test suiteh](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ ubh:}(hj@ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj< ubj)}(hX&struct kunit_suite { const char name[256]; int (*suite_init)(struct kunit_suite *suite); void (*suite_exit)(struct kunit_suite *suite); int (*init)(struct kunit *test); void (*exit)(struct kunit *test); struct kunit_case *test_cases; struct kunit_attributes attr; };h]hX&struct kunit_suite { const char name[256]; int (*suite_init)(struct kunit_suite *suite); void (*suite_exit)(struct kunit_suite *suite); int (*init)(struct kunit *test); void (*exit)(struct kunit *test); struct kunit_case *test_cases; struct kunit_attributes attr; };}hj] sbah}(h]h ]h"]h$]h&]hhuh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj< ubh)}(h **Members**h]j)}(hjn h]hMembers}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjl ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj< ubj)}(hhh](j)}(h5``name`` the name of the test. Purely informational. h](j)}(h``name``h]j)}(hj h]hname}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h+the name of the test. Purely informational.h]h+the name of the test. Purely informational.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(hA``suite_init`` called once per test suite before the test cases. h](j)}(h``suite_init``h]j)}(hj h]h suite_init}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h1called once per test suite before the test cases.h]h1called once per test suite before the test cases.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h@``suite_exit`` called once per test suite after all test cases. h](j)}(h``suite_exit``h]j)}(hj h]h suite_exit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h0called once per test suite after all test cases.h]h0called once per test suite after all test cases.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h(``init`` called before every test case. h](j)}(h``init``h]j)}(hj8 h]hinit}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6 ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj2 ubj)}(hhh]h)}(hcalled before every test case.h]hcalled before every test case.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM hKhjN ubah}(h]h ]h"]h$]h&]uh1jhj2 ubeh}(h]h ]h"]h$]h&]uh1jhjM hKhj ubj)}(h'``exit`` called after every test case. h](j)}(h``exit``h]j)}(hjq h]hexit}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjo ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjk ubj)}(hhh]h)}(hcalled after every test case.h]hcalled after every test case.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjk ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h6``test_cases`` a null terminated array of test cases. h](j)}(h``test_cases``h]j)}(hj h]h test_cases}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h&a null terminated array of test cases.h]h&a null terminated array of test cases.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h6``attr`` the attributes associated with the test suiteh](j)}(h``attr``h]j)}(hj h]hattr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubj)}(hhh]h)}(h-the attributes associated with the test suiteh]h-the attributes associated with the test suite}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubeh}(h]h ]h"]h$]h&]uh1jhj< ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(h**Description**h]j)}(hj&h]h Description}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubh)}(hX-A kunit_suite is a collection of related :c:type:`struct kunit_case ` s, such that **init** is called before every test case and **exit** is called after every test case, similar to the notion of a *test fixture* or a *test class* in other unit testing frameworks like JUnit or Googletest.h](h)A kunit_suite is a collection of related }(hj<hhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjFh]hstruct kunit_case}(hjHhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj<ubh s, such that }(hj<hhhNhNubj)}(h**init**h]hinit}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh& is called before every test case and }(hj<hhhNhNubj)}(h**exit**h]hexit}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh= is called after every test case, similar to the notion of a }(hj<hhhNhNubhemphasis)}(h*test fixture*h]h test fixture}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh or a }(hj<hhhNhNubj)}(h *test class*h]h test class}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh; in other unit testing frameworks like JUnit or Googletest.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjchKhhhhubh)}(hNote that **exit** and **suite_exit** will run even if **init** or **suite_init** fail: make sure they can handle any inconsistent state which may result.h](h Note that }(hjhhhNhNubj)}(h**exit**h]hexit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h**suite_exit**h]h suite_exit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh will run even if }(hjhhhNhNubj)}(h**init**h]hinit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj)}(h**suite_init**h]h suite_init}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhI fail: make sure they can handle any inconsistent state which may result.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhhhhubh)}(hiEvery :c:type:`struct kunit_case ` must be associated with a kunit_suite for KUnit to run it.h](hEvery }(hjhhhNhNubh)}(h(:c:type:`struct kunit_case `h]j)}(hjh]hstruct kunit_case}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_caseuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjubh; must be associated with a kunit_suite for KUnit to run it.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj6hKhhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit (C struct)c.kunithNtauh1hhhhhhNhNubh)}(hhh](h)}(hkunith]h)}(h struct kunith](h)}(hjyh]hstruct}(hjZhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjVhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKubj)}(h h]h }(hjhhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjVhhhjghKubj)}(hkunith]j%)}(hjTh]hkunit}(hjzhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjvubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjVhhhjghKubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjRhhhjghKubah}(h]jMah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjghKhjOhhubjQ)}(hhh]h)}(h(represents a running instance of a test.h]h(represents a running instance of a test.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hjhhubah}(h]h ]h"]h$]h&]uh1jPhjOhhhjghKubeh}(h]h ](jmstructeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubjy)}(h**Definition**:: struct kunit { void *priv; }; **Members** ``priv`` for user to store arbitrary data. Commonly used to pass data created in the init function (see :c:type:`struct kunit_suite `).h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(h!struct kunit { void *priv; };h]h!struct kunit { void *priv; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]j)}(h``priv`` for user to store arbitrary data. Commonly used to pass data created in the init function (see :c:type:`struct kunit_suite `).h](j)}(h``priv``h]j)}(hj h]hpriv}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(hfor user to store arbitrary data. Commonly used to pass data created in the init function (see :c:type:`struct kunit_suite `).h](h_for user to store arbitrary data. Commonly used to pass data created in the init function (see }(hj"hhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hj,h]hstruct kunit_suite}(hj.hhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_suiteuh1hhjhMhj"ubh).}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(h**Description**h]j)}(hjnh]h Description}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjlubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubh)}(hX Used to store information about the current context under which the test is running. Most of this data is private and should only be accessed indirectly via public functions; the one exception is **priv** which can be used by the test writer to store arbitrary data.h](hUsed to store information about the current context under which the test is running. Most of this data is private and should only be accessed indirectly via public functions; the one exception is }(hjhhhNhNubj)}(h**priv**h]hpriv}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh> which can be used by the test writer to store arbitrary data.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_test_suites (C macro)c.kunit_test_suiteshNtauh1hhhhhhNhNubh)}(hhh](h)}(hkunit_test_suitesh]h)}(hkunit_test_suitesh]j)}(hkunit_test_suitesh]j%)}(hjh]hkunit_test_suites}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMlubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjhhhjhMlubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhMlhjhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjhhhjhMlubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubh)}(h#``kunit_test_suites (__suites...)``h]j)}(hjh]hkunit_test_suites (__suites...)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMnhhhhubj)}(hTused to register one or more :c:type:`struct kunit_suite ` with KUnit. h]h)}(hSused to register one or more :c:type:`struct kunit_suite ` with KUnit.h](hused to register one or more }(hjhhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hjh]hstruct kunit_suite}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_suiteuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMlhjubh with KUnit.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj5hMlhj ubah}(h]h ]h"]h$]h&]uh1jhj5hMlhhhhubjy)}(hX**Parameters** ``__suites...`` a statically allocated list of :c:type:`struct kunit_suite `. **Description** Registers **suites** with the test framework. This is done by placing the array of struct kunit_suite * in the .kunit_test_suites ELF section. When builtin, KUnit tests are all run via the executor at boot, and when built as a module, they run on module load.h](h)}(h**Parameters**h]j)}(hjLh]h Parameters}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMphjFubj)}(hhh]j)}(h[``__suites...`` a statically allocated list of :c:type:`struct kunit_suite `. h](j)}(h``__suites...``h]j)}(hjkh]h __suites...}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMohjeubj)}(hhh]h)}(hJa statically allocated list of :c:type:`struct kunit_suite `.h](ha statically allocated list of }(hjhhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hjh]hstruct kunit_suite}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_suiteuh1hhjhMohjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMohjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjhMohjbubah}(h]h ]h"]h$]h&]uh1jhjFubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMqhjFubh)}(hRegisters **suites** with the test framework. This is done by placing the array of struct kunit_suite * in the .kunit_test_suites ELF section.h](h Registers }(hjhhhNhNubj)}(h **suites**h]hsuites}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhz with the test framework. This is done by placing the array of struct kunit_suite * in the .kunit_test_suites ELF section.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMqhjFubh)}(htWhen builtin, KUnit tests are all run via the executor at boot, and when built as a module, they run on module load.h]htWhen builtin, KUnit tests are all run via the executor at boot, and when built as a module, they run on module load.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMuhjFubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h(kunit_test_init_section_suites (C macro) c.kunit_test_init_section_suiteshNtauh1hhhhhhNhNubh)}(hhh](h)}(hkunit_test_init_section_suitesh]h)}(hkunit_test_init_section_suitesh]j)}(hkunit_test_init_section_suitesh]j%)}(hj)h]hkunit_test_init_section_suites}(hj3hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj/ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj+hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj'hhhjFhMubah}(h]j"ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjFhMhj$hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj$hhhjFhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj_jtj_jujvjwuh1hhhhhhNhNubh)}(h0``kunit_test_init_section_suites (__suites...)``h]j)}(hjeh]h,kunit_test_init_section_suites (__suites...)}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(hpused to register one or more :c:type:`struct kunit_suite ` containing init functions or init data. h]h)}(housed to register one or more :c:type:`struct kunit_suite ` containing init functions or init data.h](hused to register one or more }(hjhhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hjh]hstruct kunit_suite}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_suiteuh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh( containing init functions or init data.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjhMhhhhubjy)}(hX**Parameters** ``__suites...`` a statically allocated list of :c:type:`struct kunit_suite `. **Description** This functions similar to kunit_test_suites() except that it compiles the list of suites during init phase. This macro also suffixes the array and suite declarations it makes with _probe; so that modpost suppresses warnings about referencing init data for symbols named in this manner. Also, do not mark the suite or test case structs with __initdata because they will be used after the init phase with debugfs. **Note** these init tests are not able to be run after boot so there is no "run" debugfs file generated for these tests.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]j)}(h[``__suites...`` a statically allocated list of :c:type:`struct kunit_suite `. h](j)}(h``__suites...``h]j)}(hjh]h __suites...}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(hJa statically allocated list of :c:type:`struct kunit_suite `.h](ha statically allocated list of }(hjhhhNhNubh)}(h*:c:type:`struct kunit_suite `h]j)}(hjh]hstruct kunit_suite}(hjhhhNhNubah}(h]h ](jUjmc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocja refdomainjmreftypetype refexplicitrefwarnjgjkjo kunit_suiteuh1hhjhMhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj:h]h Description}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hkThis functions similar to kunit_test_suites() except that it compiles the list of suites during init phase.h]hkThis functions similar to kunit_test_suites() except that it compiles the list of suites during init phase.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hThis macro also suffixes the array and suite declarations it makes with _probe; so that modpost suppresses warnings about referencing init data for symbols named in this manner.h]hThis macro also suffixes the array and suite declarations it makes with _probe; so that modpost suppresses warnings about referencing init data for symbols named in this manner.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(h}Also, do not mark the suite or test case structs with __initdata because they will be used after the init phase with debugfs.h]h}Also, do not mark the suite or test case structs with __initdata because they will be used after the init phase with debugfs.}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(h**Note**h]j)}(hjh]hNote}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hothese init tests are not able to be run after boot so there is no "run" debugfs file generated for these tests.h]hsthese init tests are not able to be run after boot so there is no “run” debugfs file generated for these tests.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h kunit_kmalloc_array (C function)c.kunit_kmalloc_arrayhNtauh1hhhhhhNhNubh)}(hhh](h)}(hQvoid * kunit_kmalloc_array (struct kunit *test, size_t n, size_t size, gfp_t gfp)h]h)}(hOvoid *kunit_kmalloc_array(struct kunit *test, size_t n, size_t size, gfp_t gfp)h](hdesc_sig_keyword_type)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjhhhjhMubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjhhhjhMubj)}(hkunit_kmalloc_arrayh]j%)}(hkunit_kmalloc_arrayh]hkunit_kmalloc_array}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhhjhMubhdesc_parameterlist)}(h6(struct kunit *test, size_t n, size_t size, gfp_t gfp)h](hdesc_parameter)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubh)}(hhh]j%)}(hkunith]hkunit}(hj7hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj4ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj9modnameN classnameNjgjj)}jm]j )}j# jsbc.kunit_kmalloc_arrayasbuh1hhjubj)}(h h]h }(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj)}(hjh]h*}(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj%)}(htesth]htest}(hjrhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hsize_t nh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jSc.kunit_kmalloc_arrayasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hj0h]hn}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h size_t sizeh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jSc.kunit_kmalloc_arrayasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hsizeh]hsize}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jSc.kunit_kmalloc_arrayasbuh1hhjubj)}(h h]h }(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hgfph]hgfp}(hjIhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjhhhjhMubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhMhjhhubjQ)}(hhh]h)}(h=Like kmalloc_array() except the allocation is *test managed*.h](h.Like kmalloc_array() except the allocation is }(hjshhhNhNubj)}(h*test managed*h]h test managed}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjphhubah}(h]h ]h"]h$]h&]uh1jPhjhhhjhMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubjy)}(hX**Parameters** ``struct kunit *test`` The test context object. ``size_t n`` number of elements. ``size_t size`` The size in bytes of the desired memory. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** Just like `kmalloc_array(...)`, except the allocation is managed by the test case and is automatically cleaned up after the test case concludes. See kunit_add_action() for more information. Note that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h!``size_t n`` number of elements. h](j)}(h ``size_t n``h]j)}(hjh]hsize_t n}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(hnumber of elements.h]hnumber of elements.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h9``size_t size`` The size in bytes of the desired memory. h](j)}(h``size_t size``h]j)}(hj8h]h size_t size}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj2ubj)}(hhh]h)}(h(The size in bytes of the desired memory.h]h(The size in bytes of the desired memory.}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhMhjNubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjMhMhjubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hjqh]h gfp_t gfp}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjkubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hJust like `kmalloc_array(...)`, except the allocation is managed by the test case and is automatically cleaned up after the test case concludes. See kunit_add_action() for more information.h](h Just like }(hjhhhNhNubhtitle_reference)}(h`kmalloc_array(...)`h]hkmalloc_array(...)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, except the allocation is managed by the test case and is automatically cleaned up after the test case concludes. See kunit_add_action() for more information.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hhNote that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.h]hhNote that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kmalloc (C function)c.kunit_kmallochNtauh1hhhhhhNhNubh)}(hhh](h)}(hAvoid * kunit_kmalloc (struct kunit *test, size_t size, gfp_t gfp)h]h)}(h?void *kunit_kmalloc(struct kunit *test, size_t size, gfp_t gfp)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjhhhj"hMubj)}(hjh]h*}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj"hMubj)}(h kunit_kmalloch]j%)}(h kunit_kmalloch]h kunit_kmalloc}(hjBhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj>ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhhj"hMubj)}(h,(struct kunit *test, size_t size, gfp_t gfp)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjZubj)}(h h]h }(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjZubh)}(hhh]j%)}(hkunith]hkunit}(hj|hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjyubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj~modnameN classnameNjgjj)}jm]j )}j# jDsbc.kunit_kmallocasbuh1hhjZubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjZubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZubj%)}(htesth]htest}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjZubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubj)}(h size_t sizeh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jc.kunit_kmallocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hsizeh]hsize}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jc.kunit_kmallocasbuh1hhjubj)}(h h]h }(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hgfph]hgfp}(hjGhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjVubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhj"hMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj hhhj"hMubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj"hMhj hhubjQ)}(hhh]h)}(h7Like kmalloc() except the allocation is *test managed*.h](h(Like kmalloc() except the allocation is }(hjqhhhNhNubj)}(h*test managed*h]h test managed}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubh.}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjnhhubah}(h]h ]h"]h$]h&]uh1jPhj hhhj"hMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubjy)}(hXn**Parameters** ``struct kunit *test`` The test context object. ``size_t size`` The size in bytes of the desired memory. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** See kmalloc() and kunit_kmalloc_array() for more information. Note that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h9``size_t size`` The size in bytes of the desired memory. h](j)}(h``size_t size``h]j)}(hjh]h size_t size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(h(The size in bytes of the desired memory.h]h(The size in bytes of the desired memory.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hj6h]h gfp_t gfp}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj0ubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhMhjLubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjKhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjqh]h Description}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(h=See kmalloc() and kunit_kmalloc_array() for more information.h]h=See kmalloc() and kunit_kmalloc_array() for more information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubh)}(hhNote that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.h]hhNote that some internal context data is also allocated with GFP_KERNEL, regardless of the gfp passed in.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kfree (C function) c.kunit_kfreehNtauh1hhhhhhNhNubh)}(hhh](h)}(h6void kunit_kfree (struct kunit *test, const void *ptr)h]h)}(h5void kunit_kfree(struct kunit *test, const void *ptr)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjhhhjhMubj)}(h kunit_kfreeh]j%)}(h kunit_kfreeh]h kunit_kfree}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhhjhMubj)}(h%(struct kunit *test, const void *ptr)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubh)}(hhh]j%)}(hkunith]hkunit}(hj hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj"modnameN classnameNjgjj)}jm]j )}j# jsb c.kunit_kfreeasbuh1hhjubj)}(h h]h }(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj)}(hjh]h*}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj%)}(htesth]htest}(hj[hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hconst void *ptrh](h)}(hconsth]hconst}(hjthhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjpubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjpubj)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjpubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjpubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjpubj%)}(hptrh]hptr}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjpubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjhhhjhMubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhMhjhhubjQ)}(hhh]h)}(h3Like kfree except for allocations managed by KUnit.h]h3Like kfree except for allocations managed by KUnit.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jPhjhhhjhMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsjjtjjujvjwuh1hhhhhhNhNubjy)}(h**Parameters** ``struct kunit *test`` The test case to which the resource belongs. ``const void *ptr`` The memory allocation to free.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh](j)}(hD``struct kunit *test`` The test case to which the resource belongs. h](j)}(h``struct kunit *test``h]j)}(hj$h]hstruct kunit *test}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(h,The test case to which the resource belongs.h]h,The test case to which the resource belongs.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjubj)}(h2``const void *ptr`` The memory allocation to free.h](j)}(h``const void *ptr``h]j)}(hj]h]hconst void *ptr}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjWubj)}(hhh]h)}(hThe memory allocation to free.h]hThe memory allocation to free.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kzalloc (C function)c.kunit_kzallochNtauh1hhhhhhNhNubh)}(hhh](h)}(hAvoid * kunit_kzalloc (struct kunit *test, size_t size, gfp_t gfp)h]h)}(h?void *kunit_kzalloc(struct kunit *test, size_t size, gfp_t gfp)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjhhhjhMubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj)}(h kunit_kzalloch]j%)}(h kunit_kzalloch]h kunit_kzalloc}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjhhhjhMubj)}(h,(struct kunit *test, size_t size, gfp_t gfp)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubh)}(hhh]j%)}(hkunith]hkunit}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj!modnameN classnameNjgjj)}jm]j )}j# jsbc.kunit_kzallocasbuh1hhjubj)}(h h]h }(hj?hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj)}(hjh]h*}(hjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj%)}(htesth]htest}(hjZhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h size_t sizeh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjvhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjsubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjxmodnameN classnameNjgjj)}jm]j;c.kunit_kzallocasbuh1hhjoubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjoubj%)}(hsizeh]hsize}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjoubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]j;c.kunit_kzallocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hgfph]hgfp}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjhhhjhMubah}(h]jah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjhMhjhhubjQ)}(hhh]h)}(h5Just like kunit_kmalloc(), but zeroes the allocation.h]h5Just like kunit_kmalloc(), but zeroes the allocation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jPhjhhhjhMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj,jtj,jujvjwuh1hhhhhhNhNubjy)}(hX**Parameters** ``struct kunit *test`` The test context object. ``size_t size`` The size in bytes of the desired memory. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** See kzalloc() and kunit_kmalloc_array() for more information.h](h)}(h**Parameters**h]j)}(hj6h]h Parameters}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj0ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hjUh]hstruct kunit *test}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjhMhjkubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjjhMhjLubj)}(h9``size_t size`` The size in bytes of the desired memory. h](j)}(h``size_t size``h]j)}(hjh]h size_t size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(h(The size in bytes of the desired memory.h]h(The size in bytes of the desired memory.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjLubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hjh]h gfp_t gfp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjLubeh}(h]h ]h"]h$]h&]uh1jhj0ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj0ubh)}(h=See kzalloc() and kunit_kmalloc_array() for more information.h]h=See kzalloc() and kunit_kmalloc_array() for more information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kcalloc (C function)c.kunit_kcallochNtauh1hhhhhhNhNubh)}(hhh](h)}(hKvoid * kunit_kcalloc (struct kunit *test, size_t n, size_t size, gfp_t gfp)h]h)}(hIvoid *kunit_kcalloc(struct kunit *test, size_t n, size_t size, gfp_t gfp)h](j)}(hvoidh]hvoid}(hjGhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjChhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hjVhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjChhhjUhMubj)}(hjh]h*}(hjdhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjChhhjUhMubj)}(h kunit_kcalloch]j%)}(h kunit_kcalloch]h kunit_kcalloc}(hjuhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjqubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjChhhjUhMubj)}(h6(struct kunit *test, size_t n, size_t size, gfp_t gfp)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubh)}(hhh]j%)}(hkunith]hkunit}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]j )}j# jwsbc.kunit_kcallocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj%)}(htesth]htest}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hsize_t nh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jc.kunit_kcallocasbuh1hhjubj)}(h h]h }(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hj0h]hn}(hj2hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h size_t sizeh](h)}(hhh]j%)}(hsize_th]hsize_t}(hjMhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjJubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjOmodnameN classnameNjgjj)}jm]jc.kunit_kcallocasbuh1hhjFubj)}(h h]h }(hjkhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjFubj%)}(hsizeh]hsize}(hjyhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjFubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjmodnameN classnameNjgjj)}jm]jc.kunit_kcallocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjubj%)}(hgfph]hgfp}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1j hjChhhjUhMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj?hhhjUhMubah}(h]j:ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjUhMhj<hhubjQ)}(hhh]h)}(h;Just like kunit_kmalloc_array(), but zeroes the allocation.h]h;Just like kunit_kmalloc_array(), but zeroes the allocation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jPhj<hhhjUhMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj jtj jujvjwuh1hhhhhhNhNubjy)}(hX(**Parameters** ``struct kunit *test`` The test context object. ``size_t n`` number of elements. ``size_t size`` The size in bytes of the desired memory. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** See kcalloc() and kunit_kmalloc_array() for more information.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hj, h]hstruct kunit *test}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj* ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj& ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjA hMhjB ubah}(h]h ]h"]h$]h&]uh1jhj& ubeh}(h]h ]h"]h$]h&]uh1jhjA hMhj# ubj)}(h!``size_t n`` number of elements. h](j)}(h ``size_t n``h]j)}(hje h]hsize_t n}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjc ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj_ ubj)}(hhh]h)}(hnumber of elements.h]hnumber of elements.}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjz hMhj{ ubah}(h]h ]h"]h$]h&]uh1jhj_ ubeh}(h]h ]h"]h$]h&]uh1jhjz hMhj# ubj)}(h9``size_t size`` The size in bytes of the desired memory. h](j)}(h``size_t size``h]j)}(hj h]h size_t size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj ubj)}(hhh]h)}(h(The size in bytes of the desired memory.h]h(The size in bytes of the desired memory.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj# ubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hj h]h gfp_t gfp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj ubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj# ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj!h]h Description}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj ubh)}(h=See kcalloc() and kunit_kmalloc_array() for more information.h]h=See kcalloc() and kunit_kmalloc_array() for more information.}(hj(!hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kfree_const (C function)c.kunit_kfree_consthNtauh1hhhhhhNhNubh)}(hhh](h)}(h:void kunit_kfree_const (struct kunit *test, const void *x)h]h)}(h9void kunit_kfree_const(struct kunit *test, const void *x)h](j)}(hvoidh]hvoid}(hjW!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjS!hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hjf!hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjS!hhhje!hMubj)}(hkunit_kfree_consth]j%)}(hkunit_kfree_consth]hkunit_kfree_const}(hjx!hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjt!ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjS!hhhje!hMubj)}(h#(struct kunit *test, const void *x)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj!ubj)}(h h]h }(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!ubh)}(hhh]j%)}(hkunith]hkunit}(hj!hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj!ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj!modnameN classnameNjgjj)}jm]j )}j# jz!sbc.kunit_kfree_constasbuh1hhj!ubj)}(h h]h }(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!ubj)}(hjh]h*}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubj%)}(htesth]htest}(hj!hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj!ubj)}(h const void *xh](h)}(hjvh]hconst}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj"ubj)}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj"ubj)}(hvoidh]hvoid}(hj!"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubj)}(h h]h }(hj/"hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj"ubj)}(hjh]h*}(hj="hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubj%)}(hxh]hx}(hjJ"hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj"ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj!ubeh}(h]h ]h"]h$]h&]hhuh1j hjS!hhhje!hMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjO!hhhje!hMubah}(h]jJ!ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhje!hMhjL!hhubjQ)}(hhh]h)}(h&conditionally free test managed memoryh]h&conditionally free test managed memory}(hjt"hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjq"hhubah}(h]h ]h"]h$]h&]uh1jPhjL!hhhje!hMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj"jtj"jujvjwuh1hhhhhhNhNubjy)}(h**Parameters** ``struct kunit *test`` The test context object. ``const void *x`` pointer to the memory **Description** Calls kunit_kfree() only if **x** is not in .rodata section. See kunit_kstrdup_const() for more information.h](h)}(h**Parameters**h]j)}(hj"h]h Parameters}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hj"h]hstruct kunit *test}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"hMhj"ubj)}(h(``const void *x`` pointer to the memory h](j)}(h``const void *x``h]j)}(hj"h]h const void *x}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"ubj)}(hhh]h)}(hpointer to the memoryh]hpointer to the memory}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj#hMhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"ubh)}(h**Description**h]j)}(hj)#h]h Description}(hj+#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'#ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"ubh)}(hlCalls kunit_kfree() only if **x** is not in .rodata section. See kunit_kstrdup_const() for more information.h](hCalls kunit_kfree() only if }(hj?#hhhNhNubj)}(h**x**h]hx}(hjG#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?#ubhK is not in .rodata section. See kunit_kstrdup_const() for more information.}(hj?#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_kstrdup (C function)c.kunit_kstrduphNtauh1hhhhhhNhNubh)}(hhh](h)}(hEchar * kunit_kstrdup (struct kunit *test, const char *str, gfp_t gfp)h]h)}(hCchar *kunit_kstrdup(struct kunit *test, const char *str, gfp_t gfp)h](j)}(hcharh]hchar}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj|#hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj|#hhhj#hMubj)}(hjh]h*}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj|#hhhj#hMubj)}(h kunit_kstrduph]j%)}(h kunit_kstrduph]h kunit_kstrdup}(hj#hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj#ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj|#hhhj#hMubj)}(h0(struct kunit *test, const char *str, gfp_t gfp)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj#ubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj#ubh)}(hhh]j%)}(hkunith]hkunit}(hj#hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj#ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj#modnameN classnameNjgjj)}jm]j )}j# j#sbc.kunit_kstrdupasbuh1hhj#ubj)}(h h]h }(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj#ubj)}(hjh]h*}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#ubj%)}(htesth]htest}(hj#$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj#ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj#ubj)}(hconst char *strh](h)}(hjvh]hconst}(hj<$hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj8$ubj)}(h h]h }(hjI$hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj8$ubj)}(hcharh]hchar}(hjW$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8$ubj)}(h h]h }(hje$hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj8$ubj)}(hjh]h*}(hjs$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8$ubj%)}(hstrh]hstr}(hj$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj8$ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj#ubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hj$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj$ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj$modnameN classnameNjgjj)}jm]j$c.kunit_kstrdupasbuh1hhj$ubj)}(h h]h }(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj$ubj%)}(hgfph]hgfp}(hj$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj$ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj#ubeh}(h]h ]h"]h$]h&]hhuh1j hj|#hhhj#hMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjx#hhhj#hMubah}(h]js#ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj#hMhju#hhubjQ)}(hhh]h)}(h3Duplicates a string into a test managed allocation.h]h3Duplicates a string into a test managed allocation.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj$hhubah}(h]h ]h"]h$]h&]uh1jPhju#hhhj#hMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj %jtj %jujvjwuh1hhhhhhNhNubjy)}(hX**Parameters** ``struct kunit *test`` The test context object. ``const char *str`` The NULL-terminated string to duplicate. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** See kstrdup() and kunit_kmalloc_array() for more information.h](h)}(h**Parameters**h]j)}(hj%h]h Parameters}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj%ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hj3%h]hstruct kunit *test}(hj5%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1%ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj-%ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjL%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjH%hMhjI%ubah}(h]h ]h"]h$]h&]uh1jhj-%ubeh}(h]h ]h"]h$]h&]uh1jhjH%hMhj*%ubj)}(h=``const char *str`` The NULL-terminated string to duplicate. h](j)}(h``const char *str``h]j)}(hjl%h]hconst char *str}(hjn%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjj%ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjf%ubj)}(hhh]h)}(h(The NULL-terminated string to duplicate.h]h(The NULL-terminated string to duplicate.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hMhj%ubah}(h]h ]h"]h$]h&]uh1jhjf%ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhj*%ubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hj%h]h gfp_t gfp}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj%ubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hMhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhj*%ubeh}(h]h ]h"]h$]h&]uh1jhj%ubh)}(h**Description**h]j)}(hj%h]h Description}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj%ubh)}(h=See kstrdup() and kunit_kmalloc_array() for more information.h]h=See kstrdup() and kunit_kmalloc_array() for more information.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h kunit_kstrdup_const (C function)c.kunit_kstrdup_consthNtauh1hhhhhhNhNubh)}(hhh](h)}(hQconst char * kunit_kstrdup_const (struct kunit *test, const char *str, gfp_t gfp)h]h)}(hOconst char *kunit_kstrdup_const(struct kunit *test, const char *str, gfp_t gfp)h](h)}(hjvh]hconst}(hj%&hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj!&hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM ubj)}(h h]h }(hj3&hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!&hhhj2&hM ubj)}(hcharh]hchar}(hjA&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!&hhhj2&hM ubj)}(h h]h }(hjO&hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!&hhhj2&hM ubj)}(hjh]h*}(hj]&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!&hhhj2&hM ubj)}(hkunit_kstrdup_consth]j%)}(hkunit_kstrdup_consth]hkunit_kstrdup_const}(hjn&hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjj&ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj!&hhhj2&hM ubj)}(h0(struct kunit *test, const char *str, gfp_t gfp)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj&ubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj&ubh)}(hhh]j%)}(hkunith]hkunit}(hj&hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj&ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj&modnameN classnameNjgjj)}jm]j )}j# jp&sbc.kunit_kstrdup_constasbuh1hhj&ubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj&ubj)}(hjh]h*}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj%)}(htesth]htest}(hj&hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj&ubj)}(hconst char *strh](h)}(hjvh]hconst}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj&ubj)}(h h]h }(hj 'hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj&ubj)}(hcharh]hchar}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj)}(h h]h }(hj%'hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj&ubj)}(hjh]h*}(hj3'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj&ubj%)}(hstrh]hstr}(hj@'hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj&ubj)}(h gfp_t gfph](h)}(hhh]j%)}(hgfp_th]hgfp_t}(hj\'hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjY'ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj^'modnameN classnameNjgjj)}jm]j&c.kunit_kstrdup_constasbuh1hhjU'ubj)}(h h]h }(hjz'hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjU'ubj%)}(hgfph]hgfp}(hj'hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjU'ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhj&ubeh}(h]h ]h"]h$]h&]hhuh1j hj!&hhhj2&hM ubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj&hhhj2&hM ubah}(h]j&ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj2&hM hj&hhubjQ)}(hhh]h)}(hAConditionally duplicates a string into a test managed allocation.h]hAConditionally duplicates a string into a test managed allocation.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hj'hhubah}(h]h ]h"]h$]h&]uh1jPhj&hhhj2&hM ubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj'jtj'jujvjwuh1hhhhhhNhNubjy)}(hX**Parameters** ``struct kunit *test`` The test context object. ``const char *str`` The NULL-terminated string to duplicate. ``gfp_t gfp`` flags passed to underlying kmalloc(). **Description** Calls kunit_kstrdup() only if **str** is not in the rodata section. Must be freed with kunit_kfree_const() -- not kunit_kfree(). See kstrdup_const() and kunit_kmalloc_array() for more information.h](h)}(h**Parameters**h]j)}(hj'h]h Parameters}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj'ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hj'h]hstruct kunit *test}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hj'ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj (hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hM hj (ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj(hM hj'ubj)}(h=``const char *str`` The NULL-terminated string to duplicate. h](j)}(h``const char *str``h]j)}(hj,(h]hconst char *str}(hj.(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*(ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hj&(ubj)}(hhh]h)}(h(The NULL-terminated string to duplicate.h]h(The NULL-terminated string to duplicate.}(hjE(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjA(hM hjB(ubah}(h]h ]h"]h$]h&]uh1jhj&(ubeh}(h]h ]h"]h$]h&]uh1jhjA(hM hj'ubj)}(h4``gfp_t gfp`` flags passed to underlying kmalloc(). h](j)}(h ``gfp_t gfp``h]j)}(hje(h]h gfp_t gfp}(hjg(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjc(ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj_(ubj)}(hhh]h)}(h%flags passed to underlying kmalloc().h]h%flags passed to underlying kmalloc().}(hj~(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjz(hMhj{(ubah}(h]h ]h"]h$]h&]uh1jhj_(ubeh}(h]h ]h"]h$]h&]uh1jhjz(hMhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubh)}(h**Description**h]j)}(hj(h]h Description}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj'ubh)}(hCalls kunit_kstrdup() only if **str** is not in the rodata section. Must be freed with kunit_kfree_const() -- not kunit_kfree(). See kstrdup_const() and kunit_kmalloc_array() for more information.h](hCalls kunit_kstrdup() only if }(hj(hhhNhNubj)}(h**str**h]hstr}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh is not in the rodata section. Must be freed with kunit_kfree_const() -- not kunit_kfree(). See kstrdup_const() and kunit_kmalloc_array() for more information.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_vm_mmap (C function)c.kunit_vm_mmaphNtauh1hhhhhhNhNubh)}(hhh](h)}(hunsigned long kunit_vm_mmap (struct kunit *test, struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long offset)h]h)}(hunsigned long kunit_vm_mmap(struct kunit *test, struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long offset)h](j)}(hunsignedh]hunsigned}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj(hhhj)hMubj)}(hlongh]hlong}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(hhhj)hMubj)}(h h]h }(hj")hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj(hhhj)hMubj)}(h kunit_vm_mmaph]j%)}(h kunit_vm_mmaph]h kunit_vm_mmap}(hj4)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj0)ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj(hhhj)hMubj)}(h(struct kunit *test, struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long offset)h](j)}(hstruct kunit *testh](h)}(hjyh]hstruct}(hjP)hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhjL)ubj)}(h h]h }(hj])hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjL)ubh)}(hhh]j%)}(hkunith]hkunit}(hjn)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjk)ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetjp)modnameN classnameNjgjj)}jm]j )}j# j6)sbc.kunit_vm_mmapasbuh1hhjL)ubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjL)ubj)}(hjh]h*}(hj)hhhNhNubah}(h] h ]jah"]h$]h&]uh1jhjL)ubj%)}(htesth]htest}(hj)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjL)ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hstruct file *fileh](h)}(hjyh]hstruct}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1hhj)ubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj)ubh)}(hhh]j%)}(hfileh]hfile}(hj)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj)ubah}(h]h ]h"]h$]h&] refdomainjmreftypej# reftargetj)modnameN classnameNjgjj)}jm]j)c.kunit_vm_mmapasbuh1hhj)ubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj)ubj)}(hjh]h*}(hj *hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)ubj%)}(hfileh]hfile}(hj*hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj)ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hunsigned long addrh](j)}(hunsignedh]hunsigned}(hj2*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.*ubj)}(h h]h }(hj@*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj.*ubj)}(hlongh]hlong}(hjN*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.*ubj)}(h h]h }(hj\*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj.*ubj%)}(haddrh]haddr}(hjj*hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj.*ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hunsigned long lenh](j)}(hunsignedh]hunsigned}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj*ubj)}(hlongh]hlong}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj*ubj%)}(hlenh]hlen}(hj*hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj*ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hunsigned long proth](j)}(hunsignedh]hunsigned}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj*ubj)}(hlongh]hlong}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj*ubj%)}(hproth]hprot}(hj +hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj*ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hunsigned long flagh](j)}(hunsignedh]hunsigned}(hj%+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!+ubj)}(h h]h }(hj3+hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!+ubj)}(hlongh]hlong}(hjA+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!+ubj)}(h h]h }(hjO+hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hj!+ubj%)}(hflagh]hflag}(hj]+hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj!+ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubj)}(hunsigned long offseth](j)}(hunsignedh]hunsigned}(hjv+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjr+ubj)}(h h]h }(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjr+ubj)}(hlongh]hlong}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjr+ubj)}(h h]h }(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1j hjr+ubj%)}(hoffseth]hoffset}(hj+hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjr+ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjH)ubeh}(h]h ]h"]h$]h&]hhuh1j hj(hhhj)hMubeh}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj(hhhj)hMubah}(h]j(ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj)hMhj(hhubjQ)}(hhh]h)}(h%Allocate KUnit-tracked vm_mmap() areah]h%Allocate KUnit-tracked vm_mmap() area}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj+hhubah}(h]h ]h"]h$]h&]uh1jPhj(hhhj)hMubeh}(h]h ](jmfunctioneh"]h$]h&]jrjmjsj+jtj+jujvjwuh1hhhhhhNhNubjy)}(hX**Parameters** ``struct kunit *test`` The test context object. ``struct file *file`` struct file pointer to map from, if any ``unsigned long addr`` desired address, if any ``unsigned long len`` how many bytes to allocate ``unsigned long prot`` mmap PROT_* bits ``unsigned long flag`` mmap flags ``unsigned long offset`` offset into **file** to start mapping from. **Description** See vm_mmap() for more information.h](h)}(h**Parameters**h]j)}(hj+h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj+ubj)}(hhh](j)}(h0``struct kunit *test`` The test context object. h](j)}(h``struct kunit *test``h]j)}(hj,h]hstruct kunit *test}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj,ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj2,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.,hMhj/,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj.,hMhj,ubj)}(h>``struct file *file`` struct file pointer to map from, if any h](j)}(h``struct file *file``h]j)}(hjR,h]hstruct file *file}(hjT,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP,ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjL,ubj)}(hhh]h)}(h'struct file pointer to map from, if anyh]h'struct file pointer to map from, if any}(hjk,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjg,hMhjh,ubah}(h]h ]h"]h$]h&]uh1jhjL,ubeh}(h]h ]h"]h$]h&]uh1jhjg,hMhj,ubj)}(h/``unsigned long addr`` desired address, if any h](j)}(h``unsigned long addr``h]j)}(hj,h]hunsigned long addr}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj,ubj)}(hhh]h)}(hdesired address, if anyh]hdesired address, if any}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hMhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMhj,ubj)}(h1``unsigned long len`` how many bytes to allocate h](j)}(h``unsigned long len``h]j)}(hj,h]hunsigned long len}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj,ubj)}(hhh]h)}(hhow many bytes to allocateh]hhow many bytes to allocate}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hMhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMhj,ubj)}(h(``unsigned long prot`` mmap PROT_* bits h](j)}(h``unsigned long prot``h]j)}(hj,h]hunsigned long prot}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj,ubj)}(hhh]h)}(hmmap PROT_* bitsh]hmmap PROT_* bits}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hMhj-ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj-hMhj,ubj)}(h"``unsigned long flag`` mmap flags h](j)}(h``unsigned long flag``h]j)}(hj6-h]hunsigned long flag}(hj8-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4-ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj0-ubj)}(hhh]h)}(h mmap flagsh]h mmap flags}(hjO-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjK-hMhjL-ubah}(h]h ]h"]h$]h&]uh1jhj0-ubeh}(h]h ]h"]h$]h&]uh1jhjK-hMhj,ubj)}(hE``unsigned long offset`` offset into **file** to start mapping from. h](j)}(h``unsigned long offset``h]j)}(hjo-h]hunsigned long offset}(hjq-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjm-ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhji-ubj)}(hhh]h)}(h+offset into **file** to start mapping from.h](h offset into }(hj-hhhNhNubj)}(h**file**h]hfile}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubh to start mapping from.}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj-hMhj-ubah}(h]h ]h"]h$]h&]uh1jhji-ubeh}(h]h ]h"]h$]h&]uh1jhj-hMhj,ubeh}(h]h ]h"]h$]h&]uh1jhj+ubh)}(h**Description**h]j)}(hj-h]h Description}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hj+ubh)}(h#See vm_mmap() for more information.h]h#See vm_mmap() for more information.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM hj+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_mark_skipped (C macro)c.kunit_mark_skippedhNtauh1hhhhhhNhNubh)}(hhh](h)}(hkunit_mark_skippedh]h)}(hkunit_mark_skippedh]j)}(hkunit_mark_skippedh]j%)}(hj-h]hkunit_mark_skipped}(hj.hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj.ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj-hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM,ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj-hhhj.hM,ubah}(h]j-ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj.hM,hj-hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj-hhhj.hM,ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj1.jtj1.jujvjwuh1hhhhhhNhNubh)}(h'``kunit_mark_skipped (test, fmt, ...)``h]j)}(hj7.h]h#kunit_mark_skipped (test, fmt, ...)}(hj9.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5.ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM.hhhhubj)}(hMarks **test** as skipped h]h)}(hMarks **test** as skippedh](hMarks }(hjQ.hhhNhNubj)}(h**test**h]htest}(hjY.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQ.ubh as skipped}(hjQ.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM,hjM.ubah}(h]h ]h"]h$]h&]uh1jhjq.hM,hhhhubjy)}(hXH**Parameters** ``test`` The test context object. ``fmt`` A printk() style format string. ``...`` variable arguments **Description** Marks the test as skipped. **fmt** is given output as the test status comment, typically the reason the test was skipped. Test execution continues after kunit_mark_skipped() is called.h](h)}(h**Parameters**h]j)}(hj~.h]h Parameters}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|.ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM0hjx.ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj.h]htest}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM.hj.ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hM.hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hM.hj.ubj)}(h(``fmt`` A printk() style format string. h](j)}(h``fmt``h]j)}(hj.h]hfmt}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM/hj.ubj)}(hhh]h)}(hA printk() style format string.h]hA printk() style format string.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hM/hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hM/hj.ubj)}(h``...`` variable arguments h](j)}(h``...``h]j)}(hj/h]h...}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj /ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj /ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hj(/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$/hKhj%/ubah}(h]h ]h"]h$]h&]uh1jhj /ubeh}(h]h ]h"]h$]h&]uh1jhj$/hKhj.ubeh}(h]h ]h"]h$]h&]uh1jhjx.ubh)}(h**Description**h]j)}(hjJ/h]h Description}(hjL/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjH/ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjx.ubh)}(hyMarks the test as skipped. **fmt** is given output as the test status comment, typically the reason the test was skipped.h](hMarks the test as skipped. }(hj`/hhhNhNubj)}(h**fmt**h]hfmt}(hjh/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`/ubhW is given output as the test status comment, typically the reason the test was skipped.}(hj`/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM1hjx.ubh)}(h>Test execution continues after kunit_mark_skipped() is called.h]h>Test execution continues after kunit_mark_skipped() is called.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM4hjx.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_skip (C macro) c.kunit_skiphNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_skiph]h)}(h kunit_skiph]j)}(h kunit_skiph]j%)}(hj/h]h kunit_skip}(hj/hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj/ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj/hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM?ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj/hhhj/hM?ubah}(h]j/ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj/hM?hj/hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj/hhhj/hM?ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj/jtj/jujvjwuh1hhhhhhNhNubh)}(h``kunit_skip (test, fmt, ...)``h]j)}(hj/h]hkunit_skip (test, fmt, ...)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMAhhhhubj)}(hMarks **test** as skipped h]h)}(hMarks **test** as skippedh](hMarks }(hj0hhhNhNubj)}(h**test**h]htest}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubh as skipped}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM?hj/ubah}(h]h ]h"]h$]h&]uh1jhj 0hM?hhhhubjy)}(hX5**Parameters** ``test`` The test context object. ``fmt`` A printk() style format string. ``...`` variable arguments **Description** Skips the test. **fmt** is given output as the test status comment, typically the reason the test was skipped. Test execution is halted after kunit_skip() is called.h](h)}(h**Parameters**h]j)}(hj-0h]h Parameters}(hj/0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+0ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMChj'0ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjL0h]htest}(hjN0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ0ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMAhjF0ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hje0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja0hMAhjb0ubah}(h]h ]h"]h$]h&]uh1jhjF0ubeh}(h]h ]h"]h$]h&]uh1jhja0hMAhjC0ubj)}(h(``fmt`` A printk() style format string. h](j)}(h``fmt``h]j)}(hj0h]hfmt}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMBhj0ubj)}(hhh]h)}(hA printk() style format string.h]hA printk() style format string.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hMBhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0hMBhjC0ubj)}(h``...`` variable arguments h](j)}(h``...``h]j)}(hj0h]h...}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj0ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hKhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0hKhjC0ubeh}(h]h ]h"]h$]h&]uh1jhj'0ubh)}(h**Description**h]j)}(hj0h]h Description}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj'0ubh)}(hnSkips the test. **fmt** is given output as the test status comment, typically the reason the test was skipped.h](hSkips the test. }(hj1hhhNhNubj)}(h**fmt**h]hfmt}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubhW is given output as the test status comment, typically the reason the test was skipped.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMDhj'0ubh)}(h6Test execution is halted after kunit_skip() is called.h]h6Test execution is halted after kunit_skip() is called.}(hj01hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMGhj'0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_info (C macro) c.kunit_infohNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_infoh]h)}(h kunit_infoh]j)}(h kunit_infoh]j%)}(hjY1h]h kunit_info}(hjc1hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj_1ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj[1hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM_ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjW1hhhjv1hM_ubah}(h]jR1ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjv1hM_hjT1hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjT1hhhjv1hM_ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj1jtj1jujvjwuh1hhhhhhNhNubh)}(h``kunit_info (test, fmt, ...)``h]j)}(hj1h]hkunit_info (test, fmt, ...)}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMahhhhubj)}(h7Prints an INFO level message associated with **test**. h]h)}(h6Prints an INFO level message associated with **test**.h](h-Prints an INFO level message associated with }(hj1hhhNhNubj)}(h**test**h]htest}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM_hj1ubah}(h]h ]h"]h$]h&]uh1jhj1hM_hhhhubjy)}(hX**Parameters** ``test`` The test context object. ``fmt`` A printk() style format string. ``...`` variable arguments **Description** Prints an info level message associated with the test suite being run. Takes a variable number of format parameters just like printk().h](h)}(h**Parameters**h]j)}(hj1h]h Parameters}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMchj1ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj1h]htest}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMahj1ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hMahj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj2hMahj1ubj)}(h(``fmt`` A printk() style format string. h](j)}(h``fmt``h]j)}(hj42h]hfmt}(hj62hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj22ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMbhj.2ubj)}(hhh]h)}(hA printk() style format string.h]hA printk() style format string.}(hjM2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI2hMbhjJ2ubah}(h]h ]h"]h$]h&]uh1jhj.2ubeh}(h]h ]h"]h$]h&]uh1jhjI2hMbhj1ubj)}(h``...`` variable arguments h](j)}(h``...``h]j)}(hjm2h]h...}(hjo2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjk2ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjg2ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hKhj2ubah}(h]h ]h"]h$]h&]uh1jhjg2ubeh}(h]h ]h"]h$]h&]uh1jhj2hKhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubh)}(h**Description**h]j)}(hj2h]h Description}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj1ubh)}(hPrints an info level message associated with the test suite being run. Takes a variable number of format parameters just like printk().h]hPrints an info level message associated with the test suite being run. Takes a variable number of format parameters just like printk().}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMdhj1ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_warn (C macro) c.kunit_warnhNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_warnh]h)}(h kunit_warnh]j)}(h kunit_warnh]j%)}(hj2h]h kunit_warn}(hj2hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj2ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj2hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMkubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj2hhhj3hMkubah}(h]j2ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj3hMkhj2hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj2hhhj3hMkubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj3jtj3jujvjwuh1hhhhhhNhNubh)}(h``kunit_warn (test, fmt, ...)``h]j)}(hj#3h]hkunit_warn (test, fmt, ...)}(hj%3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!3ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMmhhhhubj)}(h6Prints a WARN level message associated with **test**. h]h)}(h5Prints a WARN level message associated with **test**.h](h,Prints a WARN level message associated with }(hj=3hhhNhNubj)}(h**test**h]htest}(hjE3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=3ubh.}(hj=3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMkhj93ubah}(h]h ]h"]h$]h&]uh1jhj]3hMkhhhhubjy)}(h**Parameters** ``test`` The test context object. ``fmt`` A printk() style format string. ``...`` variable arguments **Description** Prints a warning level message.h](h)}(h**Parameters**h]j)}(hjj3h]h Parameters}(hjl3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjh3ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMohjd3ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj3h]htest}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMmhj3ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMmhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMmhj3ubj)}(h(``fmt`` A printk() style format string. h](j)}(h``fmt``h]j)}(hj3h]hfmt}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMnhj3ubj)}(hhh]h)}(hA printk() style format string.h]hA printk() style format string.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMnhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMnhj3ubj)}(h``...`` variable arguments h](j)}(h``...``h]j)}(hj3h]h...}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj3ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hKhj4ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj4hKhj3ubeh}(h]h ]h"]h$]h&]uh1jhjd3ubh)}(h**Description**h]j)}(hj64h]h Description}(hj84hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj44ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhjd3ubh)}(hPrints a warning level message.h]hPrints a warning level message.}(hjL4hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMphjd3ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hkunit_err (C macro) c.kunit_errhNtauh1hhhhhhNhNubh)}(hhh](h)}(h kunit_errh]h)}(h kunit_errh]j)}(h kunit_errh]j%)}(hju4h]h kunit_err}(hj4hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj{4ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjw4hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMvubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjs4hhhj4hMvubah}(h]jn4ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj4hMvhjp4hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjp4hhhj4hMvubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj4jtj4jujvjwuh1hhhhhhNhNubh)}(h``kunit_err (test, fmt, ...)``h]j)}(hj4h]hkunit_err (test, fmt, ...)}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMxhhhhubj)}(h8Prints an ERROR level message associated with **test**. h]h)}(h7Prints an ERROR level message associated with **test**.h](h.Prints an ERROR level message associated with }(hj4hhhNhNubj)}(h**test**h]htest}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubh.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMvhj4ubah}(h]h ]h"]h$]h&]uh1jhj4hMvhhhhubjy)}(h**Parameters** ``test`` The test context object. ``fmt`` A printk() style format string. ``...`` variable arguments **Description** Prints an error level message.h](h)}(h**Parameters**h]j)}(hj4h]h Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMzhj4ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj5h]htest}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMxhj5ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj05hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,5hMxhj-5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj,5hMxhj5ubj)}(h(``fmt`` A printk() style format string. h](j)}(h``fmt``h]j)}(hjP5h]hfmt}(hjR5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN5ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMyhjJ5ubj)}(hhh]h)}(hA printk() style format string.h]hA printk() style format string.}(hji5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje5hMyhjf5ubah}(h]h ]h"]h$]h&]uh1jhjJ5ubeh}(h]h ]h"]h$]h&]uh1jhje5hMyhj5ubj)}(h``...`` variable arguments h](j)}(h``...``h]j)}(hj5h]h...}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj5ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hKhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5hKhj5ubeh}(h]h ]h"]h$]h&]uh1jhj4ubh)}(h**Description**h]j)}(hj5h]h Description}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhKhj4ubh)}(hPrints an error level message.h]hPrints an error level message.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM{hj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_SUCCEED (C macro)c.KUNIT_SUCCEEDhNtauh1hhhhhhNhNubh)}(hhh](h)}(h KUNIT_SUCCEEDh]h)}(h KUNIT_SUCCEEDh]j)}(h KUNIT_SUCCEEDh]j%)}(hj6h]h KUNIT_SUCCEED}(hj 6hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj 6ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj6hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj6hhhj 6hMubah}(h]j5ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj 6hMhj5hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj5hhhj 6hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj96jtj96jujvjwuh1hhhhhhNhNubh)}(h``KUNIT_SUCCEED (test)``h]j)}(hj?6h]hKUNIT_SUCCEED (test)}(hjA6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=6ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h3A no-op expectation. Only exists for code clarity. h]h)}(h2A no-op expectation. Only exists for code clarity.h]h2A no-op expectation. Only exists for code clarity.}(hjY6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjU6ubah}(h]h ]h"]h$]h&]uh1jhjg6hMhhhhubjy)}(h**Parameters** ``test`` The test context object. **Description** The opposite of KUNIT_FAIL(), it is an expectation that cannot fail. In other words, it does nothing and only exists for code clarity. See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjt6h]h Parameters}(hjv6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjr6ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjn6ubj)}(hhh]j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj6h]htest}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj6ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6hMhj6ubah}(h]h ]h"]h$]h&]uh1jhjn6ubh)}(h**Description**h]j)}(hj6h]h Description}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjn6ubh)}(hThe opposite of KUNIT_FAIL(), it is an expectation that cannot fail. In other words, it does nothing and only exists for code clarity. See KUNIT_EXPECT_TRUE() for more information.h]hThe opposite of KUNIT_FAIL(), it is an expectation that cannot fail. In other words, it does nothing and only exists for code clarity. See KUNIT_EXPECT_TRUE() for more information.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjn6ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_FAIL (C macro) c.KUNIT_FAILhNtauh1hhhhhhNhNubh)}(hhh](h)}(h KUNIT_FAILh]h)}(h KUNIT_FAILh]j)}(h KUNIT_FAILh]j%)}(hj 7h]h KUNIT_FAIL}(hj7hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj7ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj7hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj 7hhhj*7hMubah}(h]j7ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj*7hMhj7hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj7hhhj*7hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjC7jtjC7jujvjwuh1hhhhhhNhNubh)}(h``KUNIT_FAIL (test, fmt, ...)``h]j)}(hjI7h]hKUNIT_FAIL (test, fmt, ...)}(hjK7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjG7ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h-Always causes a test to fail when evaluated. h]h)}(h,Always causes a test to fail when evaluated.h]h,Always causes a test to fail when evaluated.}(hjc7hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj_7ubah}(h]h ]h"]h$]h&]uh1jhjq7hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``fmt`` an informational message to be printed when the assertion is made. ``...`` string format arguments. **Description** The opposite of KUNIT_SUCCEED(), it is an expectation that always fails. In other words, it always results in a failed expectation, and consequently always causes the test case to fail when evaluated. See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hj~7h]h Parameters}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|7ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjx7ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj7h]htest}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj7ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hMhj7ubj)}(hK``fmt`` an informational message to be printed when the assertion is made. h](j)}(h``fmt``h]j)}(hj7h]hfmt}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj7ubj)}(hhh]h)}(hBan informational message to be printed when the assertion is made.h]hBan informational message to be printed when the assertion is made.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7hMhj7ubj)}(h!``...`` string format arguments. h](j)}(h``...``h]j)}(hj8h]h...}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 8ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj 8ubj)}(hhh]h)}(hstring format arguments.h]hstring format arguments.}(hj(8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$8hMhj%8ubah}(h]h ]h"]h$]h&]uh1jhj 8ubeh}(h]h ]h"]h$]h&]uh1jhj$8hMhj7ubeh}(h]h ]h"]h$]h&]uh1jhjx7ubh)}(h**Description**h]j)}(hjJ8h]h Description}(hjL8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjH8ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjx7ubh)}(hThe opposite of KUNIT_SUCCEED(), it is an expectation that always fails. In other words, it always results in a failed expectation, and consequently always causes the test case to fail when evaluated. See KUNIT_EXPECT_TRUE() for more information.h]hThe opposite of KUNIT_SUCCEED(), it is an expectation that always fails. In other words, it always results in a failed expectation, and consequently always causes the test case to fail when evaluated. See KUNIT_EXPECT_TRUE() for more information.}(hj`8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjx7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_TRUE (C macro)c.KUNIT_EXPECT_TRUEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_TRUEh]h)}(hKUNIT_EXPECT_TRUEh]j)}(hKUNIT_EXPECT_TRUEh]j%)}(hj8h]hKUNIT_EXPECT_TRUE}(hj8hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj8ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj8hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj8hhhj8hMubah}(h]j8ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj8hMhj8hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj8hhhj8hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj8jtj8jujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_TRUE (test, condition)``h]j)}(hj8h]h#KUNIT_EXPECT_TRUE (test, condition)}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h7Causes a test failure when the expression is not true. h]h)}(h6Causes a test failure when the expression is not true.h]h6Causes a test failure when the expression is not true.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``condition`` an arbitrary boolean expression. The test fails when this does not evaluate to true. **Description** This and expectations of the form `KUNIT_EXPECT_*` will cause the test case to fail when the specified condition is not met; however, it will not prevent the test case from continuing to run; this is otherwise known as an *expectation failure*.h](h)}(h**Parameters**h]j)}(hj8h]h Parameters}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj8ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj9h]htest}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj9ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj29hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.9hMhj/9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj.9hMhj9ubj)}(hc``condition`` an arbitrary boolean expression. The test fails when this does not evaluate to true. h](j)}(h ``condition``h]j)}(hjR9h]h condition}(hjT9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP9ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjL9ubj)}(hhh]h)}(hTan arbitrary boolean expression. The test fails when this does not evaluate to true.h]hTan arbitrary boolean expression. The test fails when this does not evaluate to true.}(hjk9hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjh9ubah}(h]h ]h"]h$]h&]uh1jhjL9ubeh}(h]h ]h"]h$]h&]uh1jhjg9hMhj9ubeh}(h]h ]h"]h$]h&]uh1jhj8ubh)}(h**Description**h]j)}(hj9h]h Description}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj8ubh)}(hThis and expectations of the form `KUNIT_EXPECT_*` will cause the test case to fail when the specified condition is not met; however, it will not prevent the test case from continuing to run; this is otherwise known as an *expectation failure*.h](h"This and expectations of the form }(hj9hhhNhNubj)}(h`KUNIT_EXPECT_*`h]hKUNIT_EXPECT_*}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubh will cause the test case to fail when the specified condition is not met; however, it will not prevent the test case from continuing to run; this is otherwise known as an }(hj9hhhNhNubj)}(h*expectation failure*h]hexpectation failure}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubh.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj8ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_FALSE (C macro)c.KUNIT_EXPECT_FALSEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_FALSEh]h)}(hKUNIT_EXPECT_FALSEh]j)}(hKUNIT_EXPECT_FALSEh]j%)}(hj9h]hKUNIT_EXPECT_FALSE}(hj9hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj9ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj9hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj9hhhj:hMubah}(h]j9ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj:hMhj9hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj9hhhj:hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj':jtj':jujvjwuh1hhhhhhNhNubh)}(h(``KUNIT_EXPECT_FALSE (test, condition)``h]j)}(hj-:h]h$KUNIT_EXPECT_FALSE (test, condition)}(hj/:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+:ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h7Makes a test failure when the expression is not false. h]h)}(h6Makes a test failure when the expression is not false.h]h6Makes a test failure when the expression is not false.}(hjG:hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjC:ubah}(h]h ]h"]h$]h&]uh1jhjU:hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``condition`` an arbitrary boolean expression. The test fails when this does not evaluate to false. **Description** Sets an expectation that **condition** evaluates to false. See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjb:h]h Parameters}(hjd:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`:ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj\:ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj:h]htest}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj{:ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:hMhj:ubah}(h]h ]h"]h$]h&]uh1jhj{:ubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjx:ubj)}(hd``condition`` an arbitrary boolean expression. The test fails when this does not evaluate to false. h](j)}(h ``condition``h]j)}(hj:h]h condition}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj:ubj)}(hhh]h)}(hUan arbitrary boolean expression. The test fails when this does not evaluate to false.h]hUan arbitrary boolean expression. The test fails when this does not evaluate to false.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjx:ubeh}(h]h ]h"]h$]h&]uh1jhj\:ubh)}(h**Description**h]j)}(hj:h]h Description}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj\:ubh)}(hhSets an expectation that **condition** evaluates to false. See KUNIT_EXPECT_TRUE() for more information.h](hSets an expectation that }(hj ;hhhNhNubj)}(h **condition**h]h condition}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ;ubhB evaluates to false. See KUNIT_EXPECT_TRUE() for more information.}(hj ;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj\:ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_EQ (C macro)c.KUNIT_EXPECT_EQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_EQh]h)}(hKUNIT_EXPECT_EQh]j)}(hKUNIT_EXPECT_EQh]j%)}(hjG;h]hKUNIT_EXPECT_EQ}(hjQ;hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjM;ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjI;hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjE;hhhjd;hMubah}(h]j@;ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjd;hMhjB;hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjB;hhhjd;hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj};jtj};jujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_EQ (test, left, right)``h]j)}(hj;h]h#KUNIT_EXPECT_EQ (test, left, right)}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h;Sets an expectation that **left** and **right** are equal. h]h)}(h:Sets an expectation that **left** and **right** are equal.h](hSets an expectation that }(hj;hhhNhNubj)}(h**left**h]hleft}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubh and }(hj;hhhNhNubj)}(h **right**h]hright}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubh are equal.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) == (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hj;h]h Parameters}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj;ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj;h]htest}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj;ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hMhj<ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj<hMhj;ubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj4<h]hleft}(hj6<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2<ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj.<ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjM<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI<hMhjJ<ubah}(h]h ]h"]h$]h&]uh1jhj.<ubeh}(h]h ]h"]h$]h&]uh1jhjI<hMhj;ubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjm<h]hright}(hjo<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjk<ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjg<ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hMhj<ubah}(h]h ]h"]h$]h&]uh1jhjg<ubeh}(h]h ]h"]h$]h&]uh1jhj<hMhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubh)}(h**Description**h]j)}(hj<h]h Description}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj;ubh)}(hSets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) == (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hj<hhhNhNubj)}(h**left**h]hleft}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh and }(hj<hhhNhNubj)}(h **right**h]hright}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubhM evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hj<hhhNhNubj)}(h**test**h]htest}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh, (}(hj<hhhNhNubj)}(h**left**h]hleft}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh) == (}(hj<hhhNhNubj)}(h **right**h]hright}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj;ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_PTR_EQ (C macro)c.KUNIT_EXPECT_PTR_EQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_PTR_EQh]h)}(hKUNIT_EXPECT_PTR_EQh]j)}(hKUNIT_EXPECT_PTR_EQh]j%)}(hjA=h]hKUNIT_EXPECT_PTR_EQ}(hjK=hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjG=ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjC=hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj?=hhhj^=hMubah}(h]j:=ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj^=hMhj<=hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj<=hhhj^=hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjw=jtjw=jujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_EXPECT_PTR_EQ (test, left, right)``h]j)}(hj}=h]h'KUNIT_EXPECT_PTR_EQ (test, left, right)}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj{=ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h8Expects that pointers **left** and **right** are equal. h]h)}(h7Expects that pointers **left** and **right** are equal.h](hExpects that pointers }(hj=hhhNhNubj)}(h**left**h]hleft}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubh and }(hj=hhhNhNubj)}(h **right**h]hright}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubh are equal.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a pointer. ``right`` an arbitrary expression that evaluates to a pointer. **Description** Sets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) == (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hj=h]h Parameters}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj=h]htest}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj >hMhj >ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj >hMhj=ubj)}(h>``left`` an arbitrary expression that evaluates to a pointer. h](j)}(h``left``h]j)}(hj.>h]hleft}(hj0>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,>ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj(>ubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hjG>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC>hMhjD>ubah}(h]h ]h"]h$]h&]uh1jhj(>ubeh}(h]h ]h"]h$]h&]uh1jhjC>hMhj=ubj)}(h?``right`` an arbitrary expression that evaluates to a pointer. h](j)}(h ``right``h]j)}(hjg>h]hright}(hji>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhje>ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhja>ubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|>hMhj}>ubah}(h]h ]h"]h$]h&]uh1jhja>ubeh}(h]h ]h"]h$]h&]uh1jhj|>hMhj=ubeh}(h]h ]h"]h$]h&]uh1jhj=ubh)}(h**Description**h]j)}(hj>h]h Description}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=ubh)}(hSets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) == (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hj>hhhNhNubj)}(h**left**h]hleft}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubh and }(hj>hhhNhNubj)}(h **right**h]hright}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubhM evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hj>hhhNhNubj)}(h**test**h]htest}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubh, (}(hj>hhhNhNubj)}(h**left**h]hleft}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubh) == (}(hj>hhhNhNubj)}(h **right**h]hright}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_NE (C macro)c.KUNIT_EXPECT_NEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_NEh]h)}(hKUNIT_EXPECT_NEh]j)}(hKUNIT_EXPECT_NEh]j%)}(hj;?h]hKUNIT_EXPECT_NE}(hjE?hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjA?ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj=?hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj9?hhhjX?hMubah}(h]j4?ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjX?hMhj6?hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj6?hhhjX?hMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjq?jtjq?jujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_NE (test, left, right)``h]j)}(hjw?h]h#KUNIT_EXPECT_NE (test, left, right)}(hjy?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju?ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h:An expectation that **left** and **right** are not equal. h]h)}(h9An expectation that **left** and **right** are not equal.h](hAn expectation that }(hj?hhhNhNubj)}(h**left**h]hleft}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubh and }(hj?hhhNhNubj)}(h **right**h]hright}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubh are not equal.}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj?ubah}(h]h ]h"]h$]h&]uh1jhj?hMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) != (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hj?h]h Parameters}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj?ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj?h]htest}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj?ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hMhj@ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj@hMhj?ubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj(@h]hleft}(hj*@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&@ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"@ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjA@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=@hMhj>@ubah}(h]h ]h"]h$]h&]uh1jhj"@ubeh}(h]h ]h"]h$]h&]uh1jhj=@hMhj?ubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hja@h]hright}(hjc@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_@ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj[@ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjz@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv@hMhjw@ubah}(h]h ]h"]h$]h&]uh1jhj[@ubeh}(h]h ]h"]h$]h&]uh1jhjv@hMhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubh)}(h**Description**h]j)}(hj@h]h Description}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj?ubh)}(hSets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) != (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hj@hhhNhNubj)}(h**left**h]hleft}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh and }(hj@hhhNhNubj)}(h **right**h]hright}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubhQ evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hj@hhhNhNubj)}(h**test**h]htest}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh, (}(hj@hhhNhNubj)}(h**left**h]hleft}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh) != (}(hj@hhhNhNubj)}(h **right**h]hright}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_PTR_NE (C macro)c.KUNIT_EXPECT_PTR_NEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_PTR_NEh]h)}(hKUNIT_EXPECT_PTR_NEh]j)}(hKUNIT_EXPECT_PTR_NEh]j%)}(hj5Ah]hKUNIT_EXPECT_PTR_NE}(hj?AhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj;Aubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj7Ahhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj3AhhhjRAhMubah}(h]j.Aah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjRAhMhj0AhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj0AhhhjRAhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjkAjtjkAjujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_EXPECT_PTR_NE (test, left, right)``h]j)}(hjqAh]h'KUNIT_EXPECT_PTR_NE (test, left, right)}(hjsAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoAubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h``left`` an arbitrary expression that evaluates to a pointer. h](j)}(h``left``h]j)}(hj"Bh]hleft}(hj$BhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj Bubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjBubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hj;BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7BhMhj8Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj7BhMhjAubj)}(h?``right`` an arbitrary expression that evaluates to a pointer. h](j)}(h ``right``h]j)}(hj[Bh]hright}(hj]BhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYBubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUBubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hjtBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpBhMhjqBubah}(h]h ]h"]h$]h&]uh1jhjUBubeh}(h]h ]h"]h$]h&]uh1jhjpBhMhjAubeh}(h]h ]h"]h$]h&]uh1jhjAubh)}(h**Description**h]j)}(hjBh]h Description}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjAubh)}(hSets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) != (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hjBhhhNhNubj)}(h**left**h]hleft}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh and }(hjBhhhNhNubj)}(h **right**h]hright}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubhQ evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjBhhhNhNubj)}(h**test**h]htest}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh, (}(hjBhhhNhNubj)}(h**left**h]hleft}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh) != (}(hjBhhhNhNubj)}(h **right**h]hright}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjAubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_LT (C macro)c.KUNIT_EXPECT_LThNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_LTh]h)}(hKUNIT_EXPECT_LTh]j)}(hKUNIT_EXPECT_LTh]j%)}(hj/Ch]hKUNIT_EXPECT_LT}(hj9ChhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj5Cubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj1Chhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj-ChhhjLChMubah}(h]j(Cah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjLChMhj*ChhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj*ChhhjLChMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjeCjtjeCjujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_LT (test, left, right)``h]j)}(hjkCh]h#KUNIT_EXPECT_LT (test, left, right)}(hjmChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiCubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h5An expectation that **left** is less than **right**. h]h)}(h4An expectation that **left** is less than **right**.h](hAn expectation that }(hjChhhNhNubj)}(h**left**h]hleft}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubh is less than }(hjChhhNhNubj)}(h **right**h]hright}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubh.}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjCubah}(h]h ]h"]h$]h&]uh1jhjChMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an expectation that the value that **left** evaluates to is less than the value that **right** evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) < (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjCh]h Parameters}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjCubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjCh]htest}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjCubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChMhjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjChMhjCubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjDh]hleft}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjDubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj5DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1DhMhj2Dubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj1DhMhjCubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjUDh]hright}(hjWDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSDubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjODubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjnDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjDhMhjkDubah}(h]h ]h"]h$]h&]uh1jhjODubeh}(h]h ]h"]h$]h&]uh1jhjjDhMhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubh)}(h**Description**h]j)}(hjDh]h Description}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjCubh)}(hSets an expectation that the value that **left** evaluates to is less than the value that **right** evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) < (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjDhhhNhNubj)}(h**left**h]hleft}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubh* evaluates to is less than the value that }(hjDhhhNhNubj)}(h **right**h]hright}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubhD evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjDhhhNhNubj)}(h**test**h]htest}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubh, (}(hjDhhhNhNubj)}(h**left**h]hleft}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubh) < (}(hjDhhhNhNubj)}(h **right**h]hright}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjCubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_LE (C macro)c.KUNIT_EXPECT_LEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_LEh]h)}(hKUNIT_EXPECT_LEh]j)}(hKUNIT_EXPECT_LEh]j%)}(hj)Eh]hKUNIT_EXPECT_LE}(hj3EhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj/Eubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj+Ehhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM&ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj'EhhhjFEhM&ubah}(h]j"Eah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjFEhM&hj$EhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj$EhhhjFEhM&ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj_Ejtj_Ejujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_LE (test, left, right)``h]j)}(hjeEh]h#KUNIT_EXPECT_LE (test, left, right)}(hjgEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcEubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM(hhhhubj)}(h:Expects that **left** is less than or equal to **right**. h]h)}(h9Expects that **left** is less than or equal to **right**.h](h Expects that }(hjEhhhNhNubj)}(h**left**h]hleft}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubh is less than or equal to }(hjEhhhNhNubj)}(h **right**h]hright}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubh.}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM&hj{Eubah}(h]h ]h"]h$]h&]uh1jhjEhM&hhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an expectation that the value that **left** evaluates to is less than or equal to the value that **right** evaluates to. Semantically this is equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) <= (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjEh]h Parameters}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM*hjEubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjEh]htest}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM'hjEubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhM'hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjEhM'hjEubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjFh]hleft}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM(hjFubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj/FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+FhM(hj,Fubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj+FhM(hjEubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjOFh]hright}(hjQFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMFubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM)hjIFubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjhFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdFhM)hjeFubah}(h]h ]h"]h$]h&]uh1jhjIFubeh}(h]h ]h"]h$]h&]uh1jhjdFhM)hjEubeh}(h]h ]h"]h$]h&]uh1jhjEubh)}(h**Description**h]j)}(hjFh]h Description}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM+hjEubh)}(hXSets an expectation that the value that **left** evaluates to is less than or equal to the value that **right** evaluates to. Semantically this is equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) <= (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjFhhhNhNubj)}(h**left**h]hleft}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubh6 evaluates to is less than or equal to the value that }(hjFhhhNhNubj)}(h **right**h]hright}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubhD evaluates to. Semantically this is equivalent to KUNIT_EXPECT_TRUE(}(hjFhhhNhNubj)}(h**test**h]htest}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubh, (}(hjFhhhNhNubj)}(h**left**h]hleft}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubh) <= (}(hjFhhhNhNubj)}(h **right**h]hright}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM+hjEubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_GT (C macro)c.KUNIT_EXPECT_GThNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_GTh]h)}(hKUNIT_EXPECT_GTh]j)}(hKUNIT_EXPECT_GTh]j%)}(hj#Gh]hKUNIT_EXPECT_GT}(hj-GhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj)Gubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj%Ghhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM;ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj!Ghhhj@GhM;ubah}(h]jGah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj@GhM;hjGhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjGhhhj@GhM;ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjYGjtjYGjujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_GT (test, left, right)``h]j)}(hj_Gh]h#KUNIT_EXPECT_GT (test, left, right)}(hjaGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]Gubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM=hhhhubj)}(h8An expectation that **left** is greater than **right**. h]h)}(h7An expectation that **left** is greater than **right**.h](hAn expectation that }(hjyGhhhNhNubj)}(h**left**h]hleft}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyGubh is greater than }(hjyGhhhNhNubj)}(h **right**h]hright}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyGubh.}(hjyGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM;hjuGubah}(h]h ]h"]h$]h&]uh1jhjGhM;hhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an expectation that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) > (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjGh]h Parameters}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM?hjGubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjGh]htest}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM<hjGubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhM<hjGubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjGhM<hjGubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjHh]hleft}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM=hj Hubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj)HhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%HhM=hj&Hubah}(h]h ]h"]h$]h&]uh1jhj Hubeh}(h]h ]h"]h$]h&]uh1jhj%HhM=hjGubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjIHh]hright}(hjKHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGHubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM>hjCHubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjbHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^HhM>hj_Hubah}(h]h ]h"]h$]h&]uh1jhjCHubeh}(h]h ]h"]h$]h&]uh1jhj^HhM>hjGubeh}(h]h ]h"]h$]h&]uh1jhjGubh)}(h**Description**h]j)}(hjHh]h Description}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM@hjGubh)}(hSets an expectation that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) > (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjHhhhNhNubj)}(h**left**h]hleft}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubh- evaluates to is greater than the value that }(hjHhhhNhNubj)}(h **right**h]hright}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubhD evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjHhhhNhNubj)}(h**test**h]htest}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubh, (}(hjHhhhNhNubj)}(h**left**h]hleft}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubh) > (}(hjHhhhNhNubj)}(h **right**h]hright}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM@hjGubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_GE (C macro)c.KUNIT_EXPECT_GEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_GEh]h)}(hKUNIT_EXPECT_GEh]j)}(hKUNIT_EXPECT_GEh]j%)}(hjIh]hKUNIT_EXPECT_GE}(hj'IhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj#Iubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjIhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMPubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjIhhhj:IhMPubah}(h]jIah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj:IhMPhjIhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjIhhhj:IhMPubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjSIjtjSIjujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_EXPECT_GE (test, left, right)``h]j)}(hjYIh]h#KUNIT_EXPECT_GE (test, left, right)}(hj[IhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWIubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMRhhhhubj)}(h=Expects that **left** is greater than or equal to **right**. h]h)}(h= (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjIh]h Parameters}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMThjIubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjIh]htest}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMQhjIubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhMQhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIhMQhjIubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj Jh]hleft}(hj JhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMRhjJubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj#JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJhMRhj Jubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJhMRhjIubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjCJh]hright}(hjEJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAJubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMShj=Jubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj\JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXJhMShjYJubah}(h]h ]h"]h$]h&]uh1jhj=Jubeh}(h]h ]h"]h$]h&]uh1jhjXJhMShjIubeh}(h]h ]h"]h$]h&]uh1jhjIubh)}(h**Description**h]j)}(hj~Jh]h Description}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|Jubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMUhjIubh)}(hSets an expectation that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, (**left**) >= (**right**)). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjJhhhNhNubj)}(h**left**h]hleft}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubh- evaluates to is greater than the value that }(hjJhhhNhNubj)}(h **right**h]hright}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubhD evaluates to. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjJhhhNhNubj)}(h**test**h]htest}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubh, (}(hjJhhhNhNubj)}(h**left**h]hleft}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubh) >= (}(hjJhhhNhNubj)}(h **right**h]hright}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMUhjIubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_STREQ (C macro)c.KUNIT_EXPECT_STREQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_STREQh]h)}(hKUNIT_EXPECT_STREQh]j)}(hKUNIT_EXPECT_STREQh]j%)}(hjKh]hKUNIT_EXPECT_STREQ}(hj!KhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjKubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjKhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMeubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjKhhhj4KhMeubah}(h]jKah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj4KhMehjKhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjKhhhj4KhMeubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjMKjtjMKjujvjwuh1hhhhhhNhNubh)}(h*``KUNIT_EXPECT_STREQ (test, left, right)``h]j)}(hjSKh]h&KUNIT_EXPECT_STREQ (test, left, right)}(hjUKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQKubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMghhhhubj)}(h7Expects that strings **left** and **right** are equal. h]h)}(h6Expects that strings **left** and **right** are equal.h](hExpects that strings }(hjmKhhhNhNubj)}(h**left**h]hleft}(hjuKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmKubh and }(hjmKhhhNhNubj)}(h **right**h]hright}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmKubh are equal.}(hjmKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMehjiKubah}(h]h ]h"]h$]h&]uh1jhjKhMehhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a null terminated string. ``right`` an arbitrary expression that evaluates to a null terminated string. **Description** Sets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !strcmp((**left**), (**right**))). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjKh]h Parameters}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMihjKubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjKh]htest}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMfhjKubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhMfhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKhMfhjKubj)}(hM``left`` an arbitrary expression that evaluates to a null terminated string. h](j)}(h``left``h]j)}(hjLh]hleft}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMghjKubj)}(hhh]h)}(hCan arbitrary expression that evaluates to a null terminated string.h]hCan arbitrary expression that evaluates to a null terminated string.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhMghjLubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjLhMghjKubj)}(hN``right`` an arbitrary expression that evaluates to a null terminated string. h](j)}(h ``right``h]j)}(hj=Lh]hright}(hj?LhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;Lubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhj7Lubj)}(hhh]h)}(hCan arbitrary expression that evaluates to a null terminated string.h]hCan arbitrary expression that evaluates to a null terminated string.}(hjVLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRLhMhhjSLubah}(h]h ]h"]h$]h&]uh1jhj7Lubeh}(h]h ]h"]h$]h&]uh1jhjRLhMhhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubh)}(h**Description**h]j)}(hjxLh]h Description}(hjzLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjvLubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMjhjKubh)}(hSets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !strcmp((**left**), (**right**))). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hjLhhhNhNubj)}(h**left**h]hleft}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh and }(hjLhhhNhNubj)}(h **right**h]hright}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubhM evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjLhhhNhNubj)}(h**test**h]htest}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh , !strcmp((}(hjLhhhNhNubj)}(h**left**h]hleft}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh), (}(hjLhhhNhNubj)}(h **right**h]hright}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh2))). See KUNIT_EXPECT_TRUE() for more information.}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMjhjKubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_STRNEQ (C macro)c.KUNIT_EXPECT_STRNEQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_STRNEQh]h)}(hKUNIT_EXPECT_STRNEQh]j)}(hKUNIT_EXPECT_STRNEQh]j%)}(hjMh]hKUNIT_EXPECT_STRNEQ}(hjMhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjMubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjMhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMzubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjMhhhj.MhMzubah}(h]j Mah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj.MhMzhj MhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj Mhhhj.MhMzubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjGMjtjGMjujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_EXPECT_STRNEQ (test, left, right)``h]j)}(hjMMh]h'KUNIT_EXPECT_STRNEQ (test, left, right)}(hjOMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKMubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM|hhhhubj)}(h;Expects that strings **left** and **right** are not equal. h]h)}(h:Expects that strings **left** and **right** are not equal.h](hExpects that strings }(hjgMhhhNhNubj)}(h**left**h]hleft}(hjoMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgMubh and }(hjgMhhhNhNubj)}(h **right**h]hright}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgMubh are not equal.}(hjgMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMzhjcMubah}(h]h ]h"]h$]h&]uh1jhjMhMzhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a null terminated string. ``right`` an arbitrary expression that evaluates to a null terminated string. **Description** Sets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, strcmp((**left**), (**right**))). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjMh]h Parameters}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM~hjMubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjMh]htest}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM{hjMubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhM{hjMubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjMhM{hjMubj)}(hM``left`` an arbitrary expression that evaluates to a null terminated string. h](j)}(h``left``h]j)}(hjMh]hleft}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM|hjMubj)}(hhh]h)}(hCan arbitrary expression that evaluates to a null terminated string.h]hCan arbitrary expression that evaluates to a null terminated string.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhM|hjNubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjNhM|hjMubj)}(hN``right`` an arbitrary expression that evaluates to a null terminated string. h](j)}(h ``right``h]j)}(hj7Nh]hright}(hj9NhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5Nubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM}hj1Nubj)}(hhh]h)}(hCan arbitrary expression that evaluates to a null terminated string.h]hCan arbitrary expression that evaluates to a null terminated string.}(hjPNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLNhM}hjMNubah}(h]h ]h"]h$]h&]uh1jhj1Nubeh}(h]h ]h"]h$]h&]uh1jhjLNhM}hjMubeh}(h]h ]h"]h$]h&]uh1jhjMubh)}(h**Description**h]j)}(hjrNh]h Description}(hjtNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjMubh)}(hSets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, strcmp((**left**), (**right**))). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hjNhhhNhNubj)}(h**left**h]hleft}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubh and }(hjNhhhNhNubj)}(h **right**h]hright}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubhQ evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjNhhhNhNubj)}(h**test**h]htest}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubh , strcmp((}(hjNhhhNhNubj)}(h**left**h]hleft}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubh), (}(hjNhhhNhNubj)}(h **right**h]hright}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubh2))). See KUNIT_EXPECT_TRUE() for more information.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjMubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_MEMEQ (C macro)c.KUNIT_EXPECT_MEMEQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_MEMEQh]h)}(hKUNIT_EXPECT_MEMEQh]j)}(hKUNIT_EXPECT_MEMEQh]j%)}(hj Oh]hKUNIT_EXPECT_MEMEQ}(hjOhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjOubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj Ohhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj Ohhhj(OhMubah}(h]jOah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj(OhMhjOhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjOhhhj(OhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjAOjtjAOjujvjwuh1hhhhhhNhNubh)}(h0``KUNIT_EXPECT_MEMEQ (test, left, right, size)``h]j)}(hjGOh]h,KUNIT_EXPECT_MEMEQ (test, left, right, size)}(hjIOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEOubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(hKExpects that the first **size** bytes of **left** and **right** are equal. h]h)}(hJExpects that the first **size** bytes of **left** and **right** are equal.h](hExpects that the first }(hjaOhhhNhNubj)}(h**size**h]hsize}(hjiOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaOubh bytes of }(hjaOhhhNhNubj)}(h**left**h]hleft}(hj{OhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaOubh and }(hjaOhhhNhNubj)}(h **right**h]hright}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaOubh are equal.}(hjaOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj]Oubah}(h]h ]h"]h$]h&]uh1jhjOhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` An arbitrary expression that evaluates to the specified size. ``right`` An arbitrary expression that evaluates to the specified size. ``size`` Number of bytes compared. **Description** Sets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !memcmp((**left**), (**right**), (**size**))). See KUNIT_EXPECT_TRUE() for more information. Although this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.h](h)}(h**Parameters**h]j)}(hjOh]h Parameters}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjOh]htest}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOhMhjOubj)}(hG``left`` An arbitrary expression that evaluates to the specified size. h](j)}(h``left``h]j)}(hj Ph]hleft}(hj PhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjPubj)}(hhh]h)}(h=An arbitrary expression that evaluates to the specified size.h]h=An arbitrary expression that evaluates to the specified size.}(hj#PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhMhj Pubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjPhMhjOubj)}(hH``right`` An arbitrary expression that evaluates to the specified size. h](j)}(h ``right``h]j)}(hjCPh]hright}(hjEPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAPubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj=Pubj)}(hhh]h)}(h=An arbitrary expression that evaluates to the specified size.h]h=An arbitrary expression that evaluates to the specified size.}(hj\PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXPhMhjYPubah}(h]h ]h"]h$]h&]uh1jhj=Pubeh}(h]h ]h"]h$]h&]uh1jhjXPhMhjOubj)}(h#``size`` Number of bytes compared. h](j)}(h``size``h]j)}(hj|Ph]hsize}(hj~PhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzPubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjvPubj)}(hhh]h)}(hNumber of bytes compared.h]hNumber of bytes compared.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhMhjPubah}(h]h ]h"]h$]h&]uh1jhjvPubeh}(h]h ]h"]h$]h&]uh1jhjPhMhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubh)}(h**Description**h]j)}(hjPh]h Description}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubh)}(hSets an expectation that the values that **left** and **right** evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !memcmp((**left**), (**right**), (**size**))). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hjPhhhNhNubj)}(h**left**h]hleft}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh and }(hjPhhhNhNubj)}(h **right**h]hright}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubhM evaluate to are equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjPhhhNhNubj)}(h**test**h]htest}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh , !memcmp((}(hjPhhhNhNubj)}(h**left**h]hleft}(hj QhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh), (}(hjPhhhNhNubj)}(h **right**h]hright}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh), (}hjPsbj)}(h**size**h]hsize}(hj/QhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh2))). See KUNIT_EXPECT_TRUE() for more information.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubh)}(hAlthough this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.h]hAlthough this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.}(hjHQhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjOubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_MEMNEQ (C macro)c.KUNIT_EXPECT_MEMNEQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_MEMNEQh]h)}(hKUNIT_EXPECT_MEMNEQh]j)}(hKUNIT_EXPECT_MEMNEQh]j%)}(hjqQh]hKUNIT_EXPECT_MEMNEQ}(hj{QhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjwQubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjsQhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjoQhhhjQhMubah}(h]jjQah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjQhMhjlQhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjlQhhhjQhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjQjtjQjujvjwuh1hhhhhhNhNubh)}(h1``KUNIT_EXPECT_MEMNEQ (test, left, right, size)``h]j)}(hjQh]h-KUNIT_EXPECT_MEMNEQ (test, left, right, size)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(hOExpects that the first **size** bytes of **left** and **right** are not equal. h]h)}(hNExpects that the first **size** bytes of **left** and **right** are not equal.h](hExpects that the first }(hjQhhhNhNubj)}(h**size**h]hsize}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh bytes of }(hjQhhhNhNubj)}(h**left**h]hleft}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh and }(hjQhhhNhNubj)}(h **right**h]hright}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh are not equal.}(hjQhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjQubah}(h]h ]h"]h$]h&]uh1jhj RhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` An arbitrary expression that evaluates to the specified size. ``right`` An arbitrary expression that evaluates to the specified size. ``size`` Number of bytes compared. **Description** Sets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, memcmp((**left**), (**right**), (**size**))). See KUNIT_EXPECT_TRUE() for more information. Although this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.h](h)}(h**Parameters**h]j)}(hjRh]h Parameters}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj7Rh]htest}(hj9RhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5Rubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj1Rubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjPRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLRhMhjMRubah}(h]h ]h"]h$]h&]uh1jhj1Rubeh}(h]h ]h"]h$]h&]uh1jhjLRhMhj.Rubj)}(hG``left`` An arbitrary expression that evaluates to the specified size. h](j)}(h``left``h]j)}(hjpRh]hleft}(hjrRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnRubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjjRubj)}(hhh]h)}(h=An arbitrary expression that evaluates to the specified size.h]h=An arbitrary expression that evaluates to the specified size.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMhjRubah}(h]h ]h"]h$]h&]uh1jhjjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMhj.Rubj)}(hH``right`` An arbitrary expression that evaluates to the specified size. h](j)}(h ``right``h]j)}(hjRh]hright}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubj)}(hhh]h)}(h=An arbitrary expression that evaluates to the specified size.h]h=An arbitrary expression that evaluates to the specified size.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMhj.Rubj)}(h#``size`` Number of bytes compared. h](j)}(h``size``h]j)}(hjRh]hsize}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubj)}(hhh]h)}(hNumber of bytes compared.h]hNumber of bytes compared.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRhMhj.Rubeh}(h]h ]h"]h$]h&]uh1jhjRubh)}(h**Description**h]j)}(hjSh]h Description}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubh)}(hSets an expectation that the values that **left** and **right** evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, memcmp((**left**), (**right**), (**size**))). See KUNIT_EXPECT_TRUE() for more information.h](h)Sets an expectation that the values that }(hj3ShhhNhNubj)}(h**left**h]hleft}(hj;ShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3Subh and }(hj3ShhhNhNubj)}(h **right**h]hright}(hjMShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3SubhQ evaluate to are not equal. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hj3ShhhNhNubj)}(h**test**h]htest}(hj_ShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3Subh , memcmp((}(hj3ShhhNhNubj)}(h**left**h]hleft}(hjqShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3Subh), (}(hj3ShhhNhNubj)}(h **right**h]hright}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3Subh), (}hj3Ssbj)}(h**size**h]hsize}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3Subh2))). See KUNIT_EXPECT_TRUE() for more information.}(hj3ShhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubh)}(hAlthough this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.h]hAlthough this expectation works for any memory block, it is not recommended for comparing more structured data, such as structs. This expectation is recommended for comparing, for example, data arrays.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjRubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_NULL (C macro)c.KUNIT_EXPECT_NULLhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_NULLh]h)}(hKUNIT_EXPECT_NULLh]j)}(hKUNIT_EXPECT_NULLh]j%)}(hjSh]hKUNIT_EXPECT_NULL}(hjShhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjSubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjShhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjShhhjShMubah}(h]jSah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjShMhjShhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjShhhjShMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj Tjtj Tjujvjwuh1hhhhhhNhNubh)}(h!``KUNIT_EXPECT_NULL (test, ptr)``h]j)}(hjTh]hKUNIT_EXPECT_NULL (test, ptr)}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(hExpects that **ptr** is null. h]h)}(hExpects that **ptr** is null.h](h Expects that }(hj-ThhhNhNubj)}(h**ptr**h]hptr}(hj5ThhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-Tubh is null.}(hj-ThhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj)Tubah}(h]h ]h"]h$]h&]uh1jhjMThMhhhhubjy)}(hX'**Parameters** ``test`` The test context object. ``ptr`` an arbitrary pointer. **Description** Sets an expectation that the value that **ptr** evaluates to is null. This is semantically equivalent to KUNIT_EXPECT_PTR_EQ(**test**, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjZTh]h Parameters}(hj\ThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXTubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjTTubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjyTh]htest}(hj{ThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwTubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjsTubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMhjTubah}(h]h ]h"]h$]h&]uh1jhjsTubeh}(h]h ]h"]h$]h&]uh1jhjThMhjpTubj)}(h``ptr`` an arbitrary pointer. h](j)}(h``ptr``h]j)}(hjTh]hptr}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjTubj)}(hhh]h)}(han arbitrary pointer.h]han arbitrary pointer.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjThMhjpTubeh}(h]h ]h"]h$]h&]uh1jhjTTubh)}(h**Description**h]j)}(hjTh]h Description}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjTTubh)}(hSets an expectation that the value that **ptr** evaluates to is null. This is semantically equivalent to KUNIT_EXPECT_PTR_EQ(**test**, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjUhhhNhNubj)}(h**ptr**h]hptr}(hj UhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubhN evaluates to is null. This is semantically equivalent to KUNIT_EXPECT_PTR_EQ(}(hjUhhhNhNubj)}(h**test**h]htest}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubh;, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjTTubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_EXPECT_NOT_NULL (C macro)c.KUNIT_EXPECT_NOT_NULLhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_NOT_NULLh]h)}(hKUNIT_EXPECT_NOT_NULLh]j)}(hKUNIT_EXPECT_NOT_NULLh]j%)}(hjPUh]hKUNIT_EXPECT_NOT_NULL}(hjZUhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjVUubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjRUhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjNUhhhjmUhMubah}(h]jIUah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjmUhMhjKUhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjKUhhhjmUhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjUjtjUjujvjwuh1hhhhhhNhNubh)}(h%``KUNIT_EXPECT_NOT_NULL (test, ptr)``h]j)}(hjUh]h!KUNIT_EXPECT_NOT_NULL (test, ptr)}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h"Expects that **ptr** is not null. h]h)}(h!Expects that **ptr** is not null.h](h Expects that }(hjUhhhNhNubj)}(h**ptr**h]hptr}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubh is not null.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUhMhhhhubjy)}(hX+**Parameters** ``test`` The test context object. ``ptr`` an arbitrary pointer. **Description** Sets an expectation that the value that **ptr** evaluates to is not null. This is semantically equivalent to KUNIT_EXPECT_PTR_NE(**test**, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjUh]h Parameters}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjUh]htest}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhMhjVubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjVhMhjUubj)}(h``ptr`` an arbitrary pointer. h](j)}(h``ptr``h]j)}(hj+Vh]hptr}(hj-VhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)Vubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj%Vubj)}(hhh]h)}(han arbitrary pointer.h]han arbitrary pointer.}(hjDVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@VhMhjAVubah}(h]h ]h"]h$]h&]uh1jhj%Vubeh}(h]h ]h"]h$]h&]uh1jhj@VhMhjUubeh}(h]h ]h"]h$]h&]uh1jhjUubh)}(h**Description**h]j)}(hjfVh]h Description}(hjhVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdVubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUubh)}(hSets an expectation that the value that **ptr** evaluates to is not null. This is semantically equivalent to KUNIT_EXPECT_PTR_NE(**test**, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hj|VhhhNhNubj)}(h**ptr**h]hptr}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|VubhR evaluates to is not null. This is semantically equivalent to KUNIT_EXPECT_PTR_NE(}(hj|VhhhNhNubj)}(h**test**h]htest}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|Vubh;, ptr, NULL). See KUNIT_EXPECT_TRUE() for more information.}(hj|VhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjUubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h&KUNIT_EXPECT_NOT_ERR_OR_NULL (C macro)c.KUNIT_EXPECT_NOT_ERR_OR_NULLhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_EXPECT_NOT_ERR_OR_NULLh]h)}(hKUNIT_EXPECT_NOT_ERR_OR_NULLh]j)}(hKUNIT_EXPECT_NOT_ERR_OR_NULLh]j%)}(hjVh]hKUNIT_EXPECT_NOT_ERR_OR_NULL}(hjVhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjVubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjVhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjVhhhjVhMubah}(h]jVah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjVhMhjVhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjVhhhjVhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjVjtjVjujvjwuh1hhhhhhNhNubh)}(h,``KUNIT_EXPECT_NOT_ERR_OR_NULL (test, ptr)``h]j)}(hjWh]h(KUNIT_EXPECT_NOT_ERR_OR_NULL (test, ptr)}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h.Expects that **ptr** is not null and not err. h]h)}(h-Expects that **ptr** is not null and not err.h](h Expects that }(hjWhhhNhNubj)}(h**ptr**h]hptr}(hj'WhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubh is not null and not err.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjWubah}(h]h ]h"]h$]h&]uh1jhj?WhMhhhhubjy)}(hX]**Parameters** ``test`` The test context object. ``ptr`` an arbitrary pointer. **Description** Sets an expectation that the value that **ptr** evaluates to is not null and not an errno stored in a pointer. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !IS_ERR_OR_NULL(**ptr**)). See KUNIT_EXPECT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjLWh]h Parameters}(hjNWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJWubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjFWubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjkWh]htest}(hjmWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiWubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjeWubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhMhjWubah}(h]h ]h"]h$]h&]uh1jhjeWubeh}(h]h ]h"]h$]h&]uh1jhjWhMhjbWubj)}(h``ptr`` an arbitrary pointer. h](j)}(h``ptr``h]j)}(hjWh]hptr}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjWubj)}(hhh]h)}(han arbitrary pointer.h]han arbitrary pointer.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhMhjWubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjWhMhjbWubeh}(h]h ]h"]h$]h&]uh1jhjFWubh)}(h**Description**h]j)}(hjWh]h Description}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjFWubh)}(hSets an expectation that the value that **ptr** evaluates to is not null and not an errno stored in a pointer. This is semantically equivalent to KUNIT_EXPECT_TRUE(**test**, !IS_ERR_OR_NULL(**ptr**)). See KUNIT_EXPECT_TRUE() for more information.h](h(Sets an expectation that the value that }(hjWhhhNhNubj)}(h**ptr**h]hptr}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubhu evaluates to is not null and not an errno stored in a pointer. This is semantically equivalent to KUNIT_EXPECT_TRUE(}(hjWhhhNhNubj)}(h**test**h]htest}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubh, !IS_ERR_OR_NULL(}(hjWhhhNhNubj)}(h**ptr**h]hptr}(hj!XhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubh1)). See KUNIT_EXPECT_TRUE() for more information.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjFWubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_FAIL_AND_ABORT (C macro)c.KUNIT_FAIL_AND_ABORThNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_FAIL_AND_ABORTh]h)}(hKUNIT_FAIL_AND_ABORTh]j)}(hKUNIT_FAIL_AND_ABORTh]j%)}(hjTXh]hKUNIT_FAIL_AND_ABORT}(hj^XhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjZXubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjVXhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjRXhhhjqXhMubah}(h]jMXah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjqXhMhjOXhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjOXhhhjqXhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjXjtjXjujvjwuh1hhhhhhNhNubh)}(h)``KUNIT_FAIL_AND_ABORT (test, fmt, ...)``h]j)}(hjXh]h%KUNIT_FAIL_AND_ABORT (test, fmt, ...)}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h7Always causes a test to fail and abort when evaluated. h]h)}(h6Always causes a test to fail and abort when evaluated.h]h6Always causes a test to fail and abort when evaluated.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjXubah}(h]h ]h"]h$]h&]uh1jhjXhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``fmt`` an informational message to be printed when the assertion is made. ``...`` string format arguments. **Description** The opposite of KUNIT_SUCCEED(), it is an assertion that always fails. In other words, it always results in a failed assertion, and consequently always causes the test case to fail and abort when evaluated. See KUNIT_ASSERT_TRUE() for more information.h](h)}(h**Parameters**h]j)}(hjXh]h Parameters}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjXubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjXh]htest}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjXubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXhMhjXubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjXhMhjXubj)}(hK``fmt`` an informational message to be printed when the assertion is made. h](j)}(h``fmt``h]j)}(hjYh]hfmt}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjYubj)}(hhh]h)}(hBan informational message to be printed when the assertion is made.h]hBan informational message to be printed when the assertion is made.}(hj6YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2YhMhj3Yubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhj2YhMhjXubj)}(h!``...`` string format arguments. h](j)}(h``...``h]j)}(hjVYh]h...}(hjXYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTYubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjPYubj)}(hhh]h)}(hstring format arguments.h]hstring format arguments.}(hjoYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkYhMhjlYubah}(h]h ]h"]h$]h&]uh1jhjPYubeh}(h]h ]h"]h$]h&]uh1jhjkYhMhjXubeh}(h]h ]h"]h$]h&]uh1jhjXubh)}(h**Description**h]j)}(hjYh]h Description}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjXubh)}(hThe opposite of KUNIT_SUCCEED(), it is an assertion that always fails. In other words, it always results in a failed assertion, and consequently always causes the test case to fail and abort when evaluated. See KUNIT_ASSERT_TRUE() for more information.h]hThe opposite of KUNIT_SUCCEED(), it is an assertion that always fails. In other words, it always results in a failed assertion, and consequently always causes the test case to fail and abort when evaluated. See KUNIT_ASSERT_TRUE() for more information.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjXubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_TRUE (C macro)c.KUNIT_ASSERT_TRUEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_TRUEh]h)}(hKUNIT_ASSERT_TRUEh]j)}(hKUNIT_ASSERT_TRUEh]j%)}(hjYh]hKUNIT_ASSERT_TRUE}(hjYhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjYubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjYhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjYhhhjYhMubah}(h]jYah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjYhMhjYhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjYhhhjYhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjZjtjZjujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_TRUE (test, condition)``h]j)}(hj Zh]h#KUNIT_ASSERT_TRUE (test, condition)}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj Zubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h.Sets an assertion that **condition** is true. h]h)}(h-Sets an assertion that **condition** is true.h](hSets an assertion that }(hj&ZhhhNhNubj)}(h **condition**h]h condition}(hj.ZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&Zubh is true.}(hj&ZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj"Zubah}(h]h ]h"]h$]h&]uh1jhjFZhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``condition`` an arbitrary boolean expression. The test fails and aborts when this does not evaluate to true. **Description** This and assertions of the form `KUNIT_ASSERT_*` will cause the test case to fail *and immediately abort* when the specified condition is not met. Unlike an expectation failure, it will prevent the test case from continuing to run; this is otherwise known as an *assertion failure*.h](h)}(h**Parameters**h]j)}(hjSZh]h Parameters}(hjUZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQZubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjMZubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjrZh]htest}(hjtZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpZubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjlZubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMhjZubah}(h]h ]h"]h$]h&]uh1jhjlZubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjiZubj)}(hn``condition`` an arbitrary boolean expression. The test fails and aborts when this does not evaluate to true. h](j)}(h ``condition``h]j)}(hjZh]h condition}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjZubj)}(hhh]h)}(h_an arbitrary boolean expression. The test fails and aborts when this does not evaluate to true.h]h_an arbitrary boolean expression. The test fails and aborts when this does not evaluate to true.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjiZubeh}(h]h ]h"]h$]h&]uh1jhjMZubh)}(h**Description**h]j)}(hjZh]h Description}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjMZubh)}(hXThis and assertions of the form `KUNIT_ASSERT_*` will cause the test case to fail *and immediately abort* when the specified condition is not met. Unlike an expectation failure, it will prevent the test case from continuing to run; this is otherwise known as an *assertion failure*.h](h This and assertions of the form }(hjZhhhNhNubj)}(h`KUNIT_ASSERT_*`h]hKUNIT_ASSERT_*}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh" will cause the test case to fail }(hjZhhhNhNubj)}(h*and immediately abort*h]hand immediately abort}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh when the specified condition is not met. Unlike an expectation failure, it will prevent the test case from continuing to run; this is otherwise known as an }(hjZhhhNhNubj)}(h*assertion failure*h]hassertion failure}(hj)[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjMZubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_FALSE (C macro)c.KUNIT_ASSERT_FALSEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_FALSEh]h)}(hKUNIT_ASSERT_FALSEh]j)}(hKUNIT_ASSERT_FALSEh]j%)}(hj\[h]hKUNIT_ASSERT_FALSE}(hjf[hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjb[ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj^[hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM&ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjZ[hhhjy[hM&ubah}(h]jU[ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjy[hM&hjW[hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjW[hhhjy[hM&ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj[jtj[jujvjwuh1hhhhhhNhNubh)}(h(``KUNIT_ASSERT_FALSE (test, condition)``h]j)}(hj[h]h$KUNIT_ASSERT_FALSE (test, condition)}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM(hhhhubj)}(h/Sets an assertion that **condition** is false. h]h)}(h.Sets an assertion that **condition** is false.h](hSets an assertion that }(hj[hhhNhNubj)}(h **condition**h]h condition}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubh is false.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM&hj[ubah}(h]h ]h"]h$]h&]uh1jhj[hM&hhhhubjy)}(hXK**Parameters** ``test`` The test context object. ``condition`` an arbitrary boolean expression. **Description** Sets an assertion that the value that **condition** evaluates to is false. This is the same as KUNIT_EXPECT_FALSE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hj[h]h Parameters}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM*hj[ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj[h]htest}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM'hj[ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hM'hj\ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj\hM'hj[ubj)}(h/``condition`` an arbitrary boolean expression. h](j)}(h ``condition``h]j)}(hj7\h]h condition}(hj9\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5\ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM(hj1\ubj)}(hhh]h)}(h an arbitrary boolean expression.h]h an arbitrary boolean expression.}(hjP\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjL\hM(hjM\ubah}(h]h ]h"]h$]h&]uh1jhj1\ubeh}(h]h ]h"]h$]h&]uh1jhjL\hM(hj[ubeh}(h]h ]h"]h$]h&]uh1jhj[ubh)}(h**Description**h]j)}(hjr\h]h Description}(hjt\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp\ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM*hj[ubh)}(hSets an assertion that the value that **condition** evaluates to is false. This is the same as KUNIT_EXPECT_FALSE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h&Sets an assertion that the value that }(hj\hhhNhNubj)}(h **condition**h]h condition}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ubh evaluates to is false. This is the same as KUNIT_EXPECT_FALSE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM*hj[ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_EQ (C macro)c.KUNIT_ASSERT_EQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_EQh]h)}(hKUNIT_ASSERT_EQh]j)}(hKUNIT_ASSERT_EQh]j%)}(hj\h]hKUNIT_ASSERT_EQ}(hj\hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj\ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj\hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM9ubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj\hhhj\hM9ubah}(h]j\ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj\hM9hj\hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj\hhhj\hM9ubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj\jtj\jujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_EQ (test, left, right)``h]j)}(hj\h]h#KUNIT_ASSERT_EQ (test, left, right)}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM;hhhhubj)}(h9Sets an assertion that **left** and **right** are equal. h]h)}(h8Sets an assertion that **left** and **right** are equal.h](hSets an assertion that }(hj]hhhNhNubj)}(h**left**h]hleft}(hj!]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh and }(hj]hhhNhNubj)}(h **right**h]hright}(hj3]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh are equal.}(hj]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM9hj]ubah}(h]h ]h"]h$]h&]uh1jhjK]hM9hhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the values that **left** and **right** evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjX]h]h Parameters}(hjZ]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjV]ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM=hjR]ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjw]h]htest}(hjy]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju]ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM:hjq]ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hM:hj]ubah}(h]h ]h"]h$]h&]uh1jhjq]ubeh}(h]h ]h"]h$]h&]uh1jhj]hM:hjn]ubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj]h]hleft}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM;hj]ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hM;hj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]hM;hjn]ubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hj]h]hright}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM<hj]ubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hM<hj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]hM<hjn]ubeh}(h]h ]h"]h$]h&]uh1jhjR]ubh)}(h**Description**h]j)}(hj$^h]h Description}(hj&^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"^ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM>hjR]ubh)}(hSets an assertion that the values that **left** and **right** evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h'Sets an assertion that the values that }(hj:^hhhNhNubj)}(h**left**h]hleft}(hjB^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:^ubh and }(hj:^hhhNhNubj)}(h **right**h]hright}(hjT^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:^ubh evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hj:^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM>hjR]ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_PTR_EQ (C macro)c.KUNIT_ASSERT_PTR_EQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_PTR_EQh]h)}(hKUNIT_ASSERT_PTR_EQh]j)}(hKUNIT_ASSERT_PTR_EQh]j%)}(hj^h]hKUNIT_ASSERT_PTR_EQ}(hj^hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj^ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj^hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj^hhhj^hMMubah}(h]j^ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj^hMMhj^hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj^hhhj^hMMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj^jtj^jujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_ASSERT_PTR_EQ (test, left, right)``h]j)}(hj^h]h'KUNIT_ASSERT_PTR_EQ (test, left, right)}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMOhhhhubj)}(h8Asserts that pointers **left** and **right** are equal. h]h)}(h7Asserts that pointers **left** and **right** are equal.h](hAsserts that pointers }(hj^hhhNhNubj)}(h**left**h]hleft}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh and }(hj^hhhNhNubj)}(h **right**h]hright}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh are equal.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMMhj^ubah}(h]h ]h"]h$]h&]uh1jhj_hMMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a pointer. ``right`` an arbitrary expression that evaluates to a pointer. **Description** Sets an assertion that the values that **left** and **right** evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hj_h]h Parameters}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMQhj_ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj;_h]htest}(hj=_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9_ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMNhj5_ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjT_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP_hMNhjQ_ubah}(h]h ]h"]h$]h&]uh1jhj5_ubeh}(h]h ]h"]h$]h&]uh1jhjP_hMNhj2_ubj)}(h>``left`` an arbitrary expression that evaluates to a pointer. h](j)}(h``left``h]j)}(hjt_h]hleft}(hjv_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjr_ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMOhjn_ubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMOhj_ubah}(h]h ]h"]h$]h&]uh1jhjn_ubeh}(h]h ]h"]h$]h&]uh1jhj_hMOhj2_ubj)}(h?``right`` an arbitrary expression that evaluates to a pointer. h](j)}(h ``right``h]j)}(hj_h]hright}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMPhj_ubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hMPhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_hMPhj2_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubh)}(h**Description**h]j)}(hj_h]h Description}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMRhj_ubh)}(hSets an assertion that the values that **left** and **right** evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h'Sets an assertion that the values that }(hj_hhhNhNubj)}(h**left**h]hleft}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubh and }(hj_hhhNhNubj)}(h **right**h]hright}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubh evaluate to are equal. This is the same as KUNIT_EXPECT_EQ(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hj_hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMRhj_ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_NE (C macro)c.KUNIT_ASSERT_NEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_NEh]h)}(hKUNIT_ASSERT_NEh]j)}(hKUNIT_ASSERT_NEh]j%)}(hjK`h]hKUNIT_ASSERT_NE}(hjU`hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjQ`ubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjM`hhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMaubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjI`hhhjh`hMaubah}(h]jD`ah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjh`hMahjF`hhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjF`hhhjh`hMaubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj`jtj`jujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_NE (test, left, right)``h]j)}(hj`h]h#KUNIT_ASSERT_NE (test, left, right)}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMchhhhubj)}(h8An assertion that **left** and **right** are not equal. h]h)}(h7An assertion that **left** and **right** are not equal.h](hAn assertion that }(hj`hhhNhNubj)}(h**left**h]hleft}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubh and }(hj`hhhNhNubj)}(h **right**h]hright}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubh are not equal.}(hj`hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMahj`ubah}(h]h ]h"]h$]h&]uh1jhj`hMahhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the values that **left** and **right** evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hj`h]h Parameters}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMehj`ubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj`h]htest}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMbhj`ubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahMbhjaubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhjahMbhj`ubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj8ah]hleft}(hj:ahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6aubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMchj2aubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjQahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMahMchjNaubah}(h]h ]h"]h$]h&]uh1jhj2aubeh}(h]h ]h"]h$]h&]uh1jhjMahMchj`ubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjqah]hright}(hjsahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoaubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMdhjkaubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahMdhjaubah}(h]h ]h"]h$]h&]uh1jhjkaubeh}(h]h ]h"]h$]h&]uh1jhjahMdhj`ubeh}(h]h ]h"]h$]h&]uh1jhj`ubh)}(h**Description**h]j)}(hjah]h Description}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMfhj`ubh)}(hSets an assertion that the values that **left** and **right** evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h'Sets an assertion that the values that }(hjahhhNhNubj)}(h**left**h]hleft}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubh and }(hjahhhNhNubj)}(h **right**h]hright}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubh evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMfhj`ubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_PTR_NE (C macro)c.KUNIT_ASSERT_PTR_NEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_PTR_NEh]h)}(hKUNIT_ASSERT_PTR_NEh]j)}(hKUNIT_ASSERT_PTR_NEh]j%)}(hjbh]hKUNIT_ASSERT_PTR_NE}(hjbhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjbubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjbhhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMuubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj bhhhj,bhMuubah}(h]jbah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj,bhMuhj bhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj bhhhj,bhMuubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjEbjtjEbjujvjwuh1hhhhhhNhNubh)}(h+``KUNIT_ASSERT_PTR_NE (test, left, right)``h]j)}(hjKbh]h'KUNIT_ASSERT_PTR_NE (test, left, right)}(hjMbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIbubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMwhhhhubj)}(hAsserts that pointers **left** and **right** are not equal. KUNIT_ASSERT_PTR_EQ() - Asserts that pointers **left** and **right** are equal. h]h)}(hAsserts that pointers **left** and **right** are not equal. KUNIT_ASSERT_PTR_EQ() - Asserts that pointers **left** and **right** are equal.h](hAsserts that pointers }(hjebhhhNhNubj)}(h**left**h]hleft}(hjmbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjebubh and }(hjebhhhNhNubj)}(h **right**h]hright}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjebubh> are not equal. KUNIT_ASSERT_PTR_EQ() - Asserts that pointers }(hjebhhhNhNubj)}(h**left**h]hleft}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjebubh and }hjebsbj)}(h **right**h]hright}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjebubh are equal.}(hjebhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMuhjabubah}(h]h ]h"]h$]h&]uh1jhjbhMuhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a pointer. ``right`` an arbitrary expression that evaluates to a pointer. **Description** Sets an assertion that the values that **left** and **right** evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjbh]h Parameters}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMyhjbubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjbh]htest}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMwhjbubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhMwhjbubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjbhMwhjbubj)}(h>``left`` an arbitrary expression that evaluates to a pointer. h](j)}(h``left``h]j)}(hj ch]hleft}(hj"chhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMxhjcubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hj9chhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5chMxhj6cubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj5chMxhjbubj)}(h?``right`` an arbitrary expression that evaluates to a pointer. h](j)}(h ``right``h]j)}(hjYch]hright}(hj[chhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWcubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMyhjScubj)}(hhh]h)}(h4an arbitrary expression that evaluates to a pointer.h]h4an arbitrary expression that evaluates to a pointer.}(hjrchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnchMyhjocubah}(h]h ]h"]h$]h&]uh1jhjScubeh}(h]h ]h"]h$]h&]uh1jhjnchMyhjbubeh}(h]h ]h"]h$]h&]uh1jhjbubh)}(h**Description**h]j)}(hjch]h Description}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM{hjbubh)}(hSets an assertion that the values that **left** and **right** evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h'Sets an assertion that the values that }(hjchhhNhNubj)}(h**left**h]hleft}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubh and }(hjchhhNhNubj)}(h **right**h]hright}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubh evaluate to are not equal. This is the same as KUNIT_EXPECT_NE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhM{hjbubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_LT (C macro)c.KUNIT_ASSERT_LThNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_LTh]h)}(hKUNIT_ASSERT_LTh]j)}(hKUNIT_ASSERT_LTh]j%)}(hjch]hKUNIT_ASSERT_LT}(hjdhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjcubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjchhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjchhhjdhMubah}(h]jcah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjdhMhjchhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjchhhjdhMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj-djtj-djujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_LT (test, left, right)``h]j)}(hj3dh]h#KUNIT_ASSERT_LT (test, left, right)}(hj5dhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1dubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h3An assertion that **left** is less than **right**. h]h)}(h2An assertion that **left** is less than **right**.h](hAn assertion that }(hjMdhhhNhNubj)}(h**left**h]hleft}(hjUdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMdubh is less than }(hjMdhhhNhNubj)}(h **right**h]hright}(hjgdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMdubh.}(hjMdhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjIdubah}(h]h ]h"]h$]h&]uh1jhjdhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the value that **left** evaluates to is less than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_LT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjdh]h Parameters}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjdubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjdh]htest}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjdubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjdhMhjdubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjdh]hleft}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjdubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjdhMhjdubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjeh]hright}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjeubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjeubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hj6ehhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ehMhj3eubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhj2ehMhjdubeh}(h]h ]h"]h$]h&]uh1jhjdubh)}(h**Description**h]j)}(hjXeh]h Description}(hjZehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVeubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjdubh)}(hSets an assertion that the value that **left** evaluates to is less than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_LT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h&Sets an assertion that the value that }(hjnehhhNhNubj)}(h**left**h]hleft}(hjvehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjneubh* evaluates to is less than the value that }(hjnehhhNhNubj)}(h **right**h]hright}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjneubh evaluates to. This is the same as KUNIT_EXPECT_LT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hjnehhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_LE (C macro)c.KUNIT_ASSERT_LEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_LEh]h)}(hKUNIT_ASSERT_LEh]j)}(hKUNIT_ASSERT_LEh]j%)}(hjeh]hKUNIT_ASSERT_LE}(hjehhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjeubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjehhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjehhhjehMubah}(h]jeah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjehMhjehhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjehhhjehMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjejtjejujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_LE (test, left, right)``h]j)}(hjeh]h#KUNIT_ASSERT_LE (test, left, right)}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjeubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h?An assertion that **left** is less than or equal to **right**. h]h)}(h>An assertion that **left** is less than or equal to **right**.h](hAn assertion that }(hjfhhhNhNubj)}(h**left**h]hleft}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh is less than or equal to }(hjfhhhNhNubj)}(h **right**h]hright}(hj+fhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj fubah}(h]h ]h"]h$]h&]uh1jhjCfhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the value that **left** evaluates to is less than or equal to the value that **right** evaluates to. This is the same as KUNIT_EXPECT_LE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjPfh]h Parameters}(hjRfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNfubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjJfubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjofh]htest}(hjqfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmfubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjifubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhMhjfubah}(h]h ]h"]h$]h&]uh1jhjifubeh}(h]h ]h"]h$]h&]uh1jhjfhMhjffubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjfh]hleft}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjfubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjfhMhjffubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjfh]hright}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjfubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjfhMhjffubeh}(h]h ]h"]h$]h&]uh1jhjJfubh)}(h**Description**h]j)}(hjgh]h Description}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjJfubh)}(hXSets an assertion that the value that **left** evaluates to is less than or equal to the value that **right** evaluates to. This is the same as KUNIT_EXPECT_LE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h&Sets an assertion that the value that }(hj2ghhhNhNubj)}(h**left**h]hleft}(hj:ghhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2gubh6 evaluates to is less than or equal to the value that }(hj2ghhhNhNubj)}(h **right**h]hright}(hjLghhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2gubh evaluates to. This is the same as KUNIT_EXPECT_LE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hj2ghhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjJfubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_GT (C macro)c.KUNIT_ASSERT_GThNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_GTh]h)}(hKUNIT_ASSERT_GTh]j)}(hKUNIT_ASSERT_GTh]j%)}(hjgh]hKUNIT_ASSERT_GT}(hjghhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjgubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjghhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhj}ghhhjghMubah}(h]jxgah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhjghMhjzghhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjzghhhjghMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjgjtjgjujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_GT (test, left, right)``h]j)}(hjgh]h#KUNIT_ASSERT_GT (test, left, right)}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h6An assertion that **left** is greater than **right**. h]h)}(h5An assertion that **left** is greater than **right**.h](hAn assertion that }(hjghhhNhNubj)}(h**left**h]hleft}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubh is greater than }(hjghhhNhNubj)}(h **right**h]hright}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubh.}(hjghhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjgubah}(h]h ]h"]h$]h&]uh1jhjhhMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_GT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjhh]h Parameters}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hj3hh]htest}(hj5hhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1hubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj-hubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjLhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhhMhjIhubah}(h]h ]h"]h$]h&]uh1jhj-hubeh}(h]h ]h"]h$]h&]uh1jhjHhhMhj*hubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hjlhh]hleft}(hjnhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjhubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjfhubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjfhubeh}(h]h ]h"]h$]h&]uh1jhjhhMhj*hubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjhh]hright}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhjhhMhj*hubeh}(h]h ]h"]h$]h&]uh1jhjhubh)}(h**Description**h]j)}(hjhh]h Description}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhubh)}(hSets an assertion that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_GT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h&Sets an assertion that the value that }(hjhhhhNhNubj)}(h**left**h]hleft}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh- evaluates to is greater than the value that }(hjhhhhNhNubj)}(h **right**h]hright}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhubh evaluates to. This is the same as KUNIT_EXPECT_GT(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hjhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjhubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_GE (C macro)c.KUNIT_ASSERT_GEhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_GEh]h)}(hKUNIT_ASSERT_GEh]j)}(hKUNIT_ASSERT_GEh]j%)}(hjCih]hKUNIT_ASSERT_GE}(hjMihhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hjIiubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhjEihhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjAihhhj`ihMubah}(h]jihhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhj>ihhhj`ihMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsjyijtjyijujvjwuh1hhhhhhNhNubh)}(h'``KUNIT_ASSERT_GE (test, left, right)``h]j)}(hjih]h#KUNIT_ASSERT_GE (test, left, right)}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}iubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h?Assertion that **left** is greater than or equal to **right**. h]h)}(h>Assertion that **left** is greater than or equal to **right**.h](hAssertion that }(hjihhhNhNubj)}(h**left**h]hleft}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubh is greater than or equal to }(hjihhhNhNubj)}(h **right**h]hright}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubh.}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjiubah}(h]h ]h"]h$]h&]uh1jhjihMhhhhubjy)}(hX**Parameters** ``test`` The test context object. ``left`` an arbitrary expression that evaluates to a primitive C type. ``right`` an arbitrary expression that evaluates to a primitive C type. **Description** Sets an assertion that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_GE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h)}(h**Parameters**h]j)}(hjih]h Parameters}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjiubj)}(hhh](j)}(h"``test`` The test context object. h](j)}(h``test``h]j)}(hjih]htest}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjiubj)}(hhh]h)}(hThe test context object.h]hThe test context object.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj jhMhj jubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhj jhMhjiubj)}(hG``left`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h``left``h]j)}(hj0jh]hleft}(hj2jhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.jubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhj*jubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjIjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEjhMhjFjubah}(h]h ]h"]h$]h&]uh1jhj*jubeh}(h]h ]h"]h$]h&]uh1jhjEjhMhjiubj)}(hH``right`` an arbitrary expression that evaluates to a primitive C type. h](j)}(h ``right``h]j)}(hjijh]hright}(hjkjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgjubah}(h]h ]h"]h$]h&]uh1jh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjcjubj)}(hhh]h)}(h=an arbitrary expression that evaluates to a primitive C type.h]h=an arbitrary expression that evaluates to a primitive C type.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~jhMhjjubah}(h]h ]h"]h$]h&]uh1jhjcjubeh}(h]h ]h"]h$]h&]uh1jhj~jhMhjiubeh}(h]h ]h"]h$]h&]uh1jhjiubh)}(h**Description**h]j)}(hjjh]h Description}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjiubh)}(hSets an assertion that the value that **left** evaluates to is greater than the value that **right** evaluates to. This is the same as KUNIT_EXPECT_GE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.h](h&Sets an assertion that the value that }(hjjhhhNhNubj)}(h**left**h]hleft}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh- evaluates to is greater than the value that }(hjjhhhNhNubj)}(h **right**h]hright}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubh evaluates to. This is the same as KUNIT_EXPECT_GE(), except it causes an assertion failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhjiubeh}(h]h ] kernelindentah"]h$]h&]uh1jxhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hKUNIT_ASSERT_STREQ (C macro)c.KUNIT_ASSERT_STREQhNtauh1hhhhhhNhNubh)}(hhh](h)}(hKUNIT_ASSERT_STREQh]h)}(hKUNIT_ASSERT_STREQh]j)}(hKUNIT_ASSERT_STREQh]j%)}(hjkh]hKUNIT_ASSERT_STREQ}(hjkhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j$hj kubah}(h]h ](j7j8eh"]h$]h&]hhuh1jhj khhh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMubah}(h]h ]h"]h$]h&]hhjBuh1hjCjDhjkhhhj$khMubah}(h]jkah ](jHjIeh"]h$]h&]jMjN)jOhuh1hhj$khMhjkhhubjQ)}(hhh]h}(h]h ]h"]h$]h&]uh1jPhjkhhhj$khMubeh}(h]h ](jmmacroeh"]h$]h&]jrjmjsj=kjtj=kjujvjwuh1hhhhhhNhNubh)}(h*``KUNIT_ASSERT_STREQ (test, left, right)``h]j)}(hjCkh]h&KUNIT_ASSERT_STREQ (test, left, right)}(hjEkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAkubah}(h]h ]h"]h$]h&]uh1hh\/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/test:9: ./include/kunit/test.hhMhhhhubj)}(h