KUNIT_EXPECT_GE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… KUNIT_EXPECT_GE(9) πŸ’…

okay so this is a page from the Kernel API Manual and honestly? it's a little icon of a macro. let's get into it 🫢


🌸 NAME 🌸

KUNIT_EXPECT_GE β€” bestie, it expects that @left is greater than or equal to @right. that's the whole vibe check.


✨ SYNOPSIS ✨

KUNIT_EXPECT_GE (test , left , right );

πŸŽ€ ARGUMENTS πŸŽ€

  • test β€” the test context object. it's the main character that holds everything together πŸ’…
  • left β€” an arbitrary expression that evaluates to a primitive C type.
  • right β€” an arbitrary expression that evaluates to a primitive C type.

like yes, arbitrary expression, primitive C type, we see you. both sides, same energy. πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

so what it does: it sets an expectation that the value that left evaluates to is greater than the value that right evaluates to. it's giving "left stays winning" ✨

and the important part β€” this is semantically equivalent to:

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

so if you wanna know the deep lore, go read KUNIT_EXPECT_TRUE for more information. iykyk 😌


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./include/kunit/test.h, and literally the whole friend group:

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_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),

and the whole assert side too: 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, the roster is long but every single one of them showed up πŸ’€πŸ”₯


🌈 that's the page! go forth and expect greater-or-equal things, bestie πŸ’œ

β€” mwah, kisses from ./include/kunit, dated October 2026 πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from