KUNIT_EXPECT..._ERR_OR_NULL(9)
π
KUNIT_EXPECT_NOT_ERR_OR_NULL β the KUNIT_EXPECT..._ERR_OR_NULL(9) glow-up β¨
okay so bestie, you found the page for KUNIT_EXPECT_NOT_ERR_OR_NULL, and yes β this is that KUNIT_EXPECT..._ERR_OR_NULL(9) corner of the manual, from the kernel API manual. she's little. she's specific. she's iconic. let's get into it π
β¨ NAME β¨
KUNIT_EXPECT_NOT_ERR_OR_NULL β expects that @ptr is not null and not err. literally her whole job π«Ά
π¦ SYNOPSIS π¦
KUNIT_EXPECT_NOT_ERR_OR_NULL (test , ptr );
no cap, that's the whole invocation. eat it up π
πΈ ARGUMENTS πΈ
testβ the test context object. the main character of your test, lowkey. she holds the vibes and the results.ptrβ an arbitrary pointer. that's it. that's the vibe. any pointer you wanna check β¨
π DESCRIPTION π
so here's the tea, bestie: this sets an expectation that the value ptr evaluates to is not null and not an errno stored in a pointer. both. at once. she's doing the most π
it's semantically equivalent to:
KUNIT_EXPECT_TRUE(test, !IS_ERR_OR_NULL(ptr))
like, fr fr, that's exactly what it means. and if you want more info, go peek at KUNIT_EXPECT_TRUE β she's the one who actually explains the mechanics π
one thing: this is an expectation, not a hard stop. so the test keeps going. very chill of her. π
π SEE ALSO π
the friend group. the whole group chat. she knows everybody and everybody knows her β kernel file ./include/kunit/test.h, plus:
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)struct kunit(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_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)
and that's the whole page bestie, you ate that π β¨
quick sign-off so we keep receipts: this one lives at ./include/kunit, it's dated October 2026, and it's filed under KUNIT_EXPECT..._ERR_OR_NULL(9). mwah ππ§π
π¦ 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