From: Vincent Mailhol Date: Tue, 25 Mar 2025 16:00:01 +0000 (+0900) Subject: test_bits: add tests for BIT_U*() X-Git-Tag: v6.16-rc1~70^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e289b488256107425591d8e6a402de8fcf6d088c;p=thirdparty%2Fkernel%2Flinux.git test_bits: add tests for BIT_U*() Add some additional tests in lib/tests/test_bits.c to cover the expected results of the fixed type BIT_U*() macros. Signed-off-by: Vincent Mailhol Reviewed-by: Lucas De Marchi Reviewed-by: Andy Shevchenko Signed-off-by: Yury Norov --- diff --git a/lib/tests/test_bits.c b/lib/tests/test_bits.c index f443476f3265c..47325b41515fd 100644 --- a/lib/tests/test_bits.c +++ b/lib/tests/test_bits.c @@ -9,6 +9,16 @@ #define assert_type(t, x) _Generic(x, t: x, default: 0) +static_assert(assert_type(u8, BIT_U8(0)) == 1u); +static_assert(assert_type(u16, BIT_U16(0)) == 1u); +static_assert(assert_type(u32, BIT_U32(0)) == 1u); +static_assert(assert_type(u64, BIT_U64(0)) == 1ull); + +static_assert(assert_type(u8, BIT_U8(7)) == 0x80u); +static_assert(assert_type(u16, BIT_U16(15)) == 0x8000u); +static_assert(assert_type(u32, BIT_U32(31)) == 0x80000000u); +static_assert(assert_type(u64, BIT_U64(63)) == 0x8000000000000000ull); + static_assert(assert_type(unsigned long, GENMASK(31, 0)) == U32_MAX); static_assert(assert_type(unsigned long long, GENMASK_ULL(63, 0)) == U64_MAX); static_assert(assert_type(u8, GENMASK_U8(7, 0)) == U8_MAX);