KUNIT_ASSERT_MEMNEQ(9)
π KUNIT_ASSERT_MEMNEQ π
okay so this is a page from the Kernel API Manual (that's the manual name, bestie, we're folding it in right here at the top so you're oriented β¨). Buckle up, it's a good one.
πΈ NAME πΈ
KUNIT_ASSERT_MEMNEQ β the assert that goes "these two chunks of the first @size bytes of @left and @right are not equal." Like, verified not equal. No cap. π
π SYNOPSIS π
KUNIT_ASSERT_MEMNEQ (test , left , right , size );
β¨ ARGUMENTS β¨
testβ the test context object π«Ά (the whole vibe you're asserting inside of)leftβ an arbitrary expression that evaluates to the specified sizerightβ an arbitrary expression that evaluates to the specified sizesizeβ number of bytes compared π’
π DESCRIPTION π
So what it does: it sets an assertion that the values left and right evaluate to are not equal. Semantically it's literally equivalent to KUNIT_ASSERT_TRUE(test, memcmp((left), (right), (size))) β that's word for word the equivalence, iykyk. Wanna know more? Go see KUNIT_ASSERT_TRUE π
Now the nuance, bestie, listen π§ β although this assertion works for any memory block, it is not recommended for comparing more structured data, such as structs π. Where it is recommended? Comparing, for example, data arrays. That's its moment. That's its main character energy. β
π¦ SEE ALSO π¦
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_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_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)
That's the whole squad, no one left out, periodt. π
and that's the page, bestie!! this cutie lives in ./include/kunit, it's the October 2026 edition, and it's filed under KUNIT_ASSERT_MEMNEQ(9) π go forth and compare your arrays, not your structs π π§ββοΈ
π¦ 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