KUNIT_EXPECT_EQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– KUNIT_EXPECT_EQ(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual page for KUNIT_EXPECT_EQ β€” yes that's the whole name, it's giving "shouty macro" energy and honestly? iconic.


✨ NAME ✨

KUNIT_EXPECT_EQ β€” sets an expectation that @left and @right are equal. that's it, that's the whole vibe check 🫢


🌸 SYNOPSIS 🌸

KUNIT_EXPECT_EQ (test , left , right );

look at her. three args. so tidy. we love a signature that doesn't play games πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • test β€” the test context object. the main character, basically. everything happens inside her.
  • left β€” an arbitrary expression that evaluates to a primitive C type. literally whatever you want, as long as it lands on a primitive type.
  • right β€” an arbitrary expression that evaluates to a primitive C type. the other half of the duo. the comparison partner. the one left gets matched against πŸ¦‹

πŸ¦‹ DESCRIPTION πŸ¦‹

so the whole point of this macro: it sets an expectation that the values left and right evaluate to are equal. if they match, slay. that's the expectation, bestie.

and here's the part where it gets cute β€” this is semantically equivalent to:

KUNIT_EXPECT_TRUE(test, (left) == (right))

like, literally the same thing, just wearing a different outfit. no cap. πŸ”₯

heads up: if you want the full tea on how the expectation actually behaves, go read KUNIT_EXPECT_TRUE β€” the manpage says "See KUNIT_EXPECT_TRUE for more information" and we are NOT gatekeeping that, go look πŸ‘€

🌈 SEE ALSO 🌈

okay this list is LONG and I am obsessed with her. every single one, no skipping, that's the rule πŸ’œ

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_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) πŸ’€


that's the whole page bestie, go write some tests and make them equal ✨

this gem lives in ./include/kunit, dated October 2026, and she answers to the name KUNIT_EXPECT_EQ(9) β€” mwah, ily, bye πŸŽ€πŸ’–

πŸ“¦ where this page comes from