KUNIT_EXPECT_STRNEQ(9)
π KUNIT_EXPECT_STRNEQ(9) β like, the whole page, bestie
okay so you're reading the Kernel API Manual β¨ (that's the manual name, yes, we're fancy now) and honestly? good choice. this one is a cutie. let's get into it π
πΈ NAME
KUNIT_EXPECT_STRNEQ β expects that strings @left and @right are not equal. that's it, that's the whole vibe. they are simply not the same string, and we are expecting that. π
β¨ SYNOPSIS
KUNIT_EXPECT_STRNEQ (test , left , right );
look at that. three little arguments. so clean. so iconic. π«Ά
π§ ARGUMENTS
testβ the test context object. like, the main character of the test. everything goes through it πleftβ an arbitrary expression that evaluates to a null terminated string. yes, null terminated. don't forget the null terminator bestie, that's the whole point π₯rightβ an arbitrary expression that evaluates to a null terminated string. same deal. also null terminated. they're matching that way, even if the strings themselves are SO not matching π
π¦ DESCRIPTION
so what this actually does: it sets an expectation that the values left and right evaluate to are not equal. that's the whole thing. that's the assignment.
and ngl, it's semantically equivalent to this:
KUNIT_EXPECT_TRUE(test, strcmp((left), (right)))
like, literally the exact same energy. strcmp comes back nonzero, that means "different", that means we pass. slay. π
if you want more info on how that expectation machinery works, go read KUNIT_EXPECT_TRUE β it's the parent vibe, this one's just a glow-up π
π SEE ALSO
okay this section is long but that's because there's a whole friend group here, and we're gonna list every single one of them because nobody gets left out in this house π
kernel file ./include/kunit/test.h, 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_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 the whole crew. every single one. no cap.
and that's the page, bestie π«Ά this little icon lives at ./include/kunit, and the version of this doc is dated October 2026 β so whenever you're reading it, just know the docs were stamped with that date and it's giving very time-capsule β¨ periodt.
π¦ 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