KUNIT_EXPECT_STRNEQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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