STRUCT KUNIT(9)
π NAME π
struct kunit β bestie, it literally represents a running instance of a test β¨
so like, it's the struct that holds the whole vibe of a test while it's actually running, iykyk.
π SYNOPSIS π
struct kunit {
void *priv;
struct kunit *parent;
struct kunit_params params_array;
};
like, that's the whole shape of it π three little fields, one big job.
π¦ Members π¦
privβ this one's yours, bestie π it's for you to store arbitrary data in. the classic move is passing in data you created in the init function (peepstruct kunit_suitefor that one π«Ά).parentβ a reference to the parent context, and it's of typestruct kunit, so it's the same vibe one level up π« use it for storing shared resources, iconic.params_arrayβ for storing the parameter array. that's it, that's the whole job, no cap π
πΈ Description πΈ
okay so listen π this struct is where all the info about the current context your test is running under lives. most of that data is private β like, not for you, you gotta go through the public functions to touch it, respectfully π
the exceptions (the ones you're actually allowed to play with) are priv, parent, and params_array β¨ and what they do is: store arbitrary data, access the parent context, and store the parameter array β respectively, in that exact order, slay π
so basically: if it's not one of those three, hands off, use the public API, periodt.
β SEE ALSO β
the whole friend group, fr fr π kernel file ./include/kunit/test.h and all of these icons:
enum kunit_status(9)struct kunit_case(9)KUNIT_CASE(9)KUNIT_CASE_ATTR(9)KUNIT_CASE_SLOW(9)KUNIT_CASE_PARAM(9)KUNIT_CASE_PARAM_ATTR(9)KUNIT_CASE_PARAM_WITH_INIT(9)struct kunit_suite(9)kunit_test_suites(9)kunit_test_init_section_suites(9)kunit_kmalloc_array(9)kunit_kmalloc(9)kunit_kfree(9)kunit_kzalloc(9)kunit_kcalloc(9)kunit_kfree_const(9)kunit_kstrdup(9)kunit_kstrdup_const(9)kunit_attach_mm(9)kunit_vm_mmap(9)kunit_mark_skipped(9)kunit_skip(9)kunit_info(9)kunit_warn(9)kunit_err(9)KUNIT_SUCCEED(9)KUNIT_FAIL(9)KUNIT_EXPECT_TRUE(9)KUNIT_EXPECT_FALSE(9)KUNIT_EXPECT_EQ(9)KUNIT_EXPECT_PTR_EQ(9)KUNIT_EXPECT_NE(9)KUNIT_EXPECT_PTR_NE(9)KUNIT_EXPECT_LT(9)KUNIT_EXPECT_LE(9)KUNIT_EXPECT_GT(9)KUNIT_EXPECT_GE(9)KUNIT_EXPECT_STREQ(9)KUNIT_EXPECT_STRNEQ(9)KUNIT_EXPECT_MEMEQ(9)KUNIT_EXPECT_MEMNEQ(9)KUNIT_EXPECT_NULL(9)KUNIT_EXPECT_NOT_NULL(9)KUNIT_EXPECT_NOT_ERR_OR_NULL(9)KUNIT_FAIL_AND_ABORT(9)KUNIT_ASSERT_TRUE(9)KUNIT_ASSERT_FALSE(9)KUNIT_ASSERT_EQ(9)KUNIT_ASSERT_PTR_EQ(9)KUNIT_ASSERT_NE(9)KUNIT_ASSERT_PTR_NE(9)KUNIT_ASSERT_LT(9)KUNIT_ASSERT_LE(9)KUNIT_ASSERT_GT(9)KUNIT_ASSERT_GE(9)KUNIT_ASSERT_STREQ(9)KUNIT_ASSERT_STRNEQ(9)KUNIT_ASSERT_MEMEQ(9)KUNIT_ASSERT_MEMNEQ(9)KUNIT_ASSERT_NULL(9)KUNIT_ASSERT_NOT_NULL(9)KUNIT_ASSERT_NOT_ERR_OR_NULL(9)KUNIT_ARRAY_PARAM(9)KUNIT_ARRAY_PARAM_DESC(9)kunit_register_params_array(9)kunit_warning_suppress(9)KUNIT_SUPPRESSED_WARNING_COUNT(9)KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(9)KUNIT_ASSERT_SUPPRESSED_WARNING_COUNT(9)
like, that's a lot of friends but they're all real, bestie, don't skip any of them π
and that's the page!! mwah π this gem lives at ./include/kunit, dated October 2026, and it's the struct kunit(9) page β go write some tests, you're gonna ate π§β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms