diff options
author | Bart Van Assche <bvanassche@acm.org> | 2022-09-07 11:03:29 -0700 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2022-09-07 16:37:27 -0700 |
commit | 98388bda6a99d76309f81584f2bc0d773bdf8b35 (patch) | |
tree | c9c9e9e57b54be9bebb6ed98ea4a4845e75569b8 /lib | |
parent | 6e42aec7c75947e0d6b38400628f171364eb8231 (diff) |
lib: Improve the is_signed_type() kunit test
Since the definition of is_signed_type() has been moved from
<linux/overflow.h> to <linux/compiler.h>, include the latter header file
instead of the former. Additionally, add a test for the type 'char'.
Cc: Isabella Basso <isabbasso@riseup.net>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220907180329.3825417-1-bvanassche@acm.org
Diffstat (limited to 'lib')
-rw-r--r-- | lib/is_signed_type_kunit.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/is_signed_type_kunit.c b/lib/is_signed_type_kunit.c index f2eedb1f0935..207207522925 100644 --- a/lib/is_signed_type_kunit.c +++ b/lib/is_signed_type_kunit.c @@ -5,7 +5,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include <kunit/test.h> -#include <linux/overflow.h> +#include <linux/compiler.h> enum unsigned_enum { constant_a = 3, @@ -21,6 +21,11 @@ static void is_signed_type_test(struct kunit *test) KUNIT_EXPECT_EQ(test, is_signed_type(bool), false); KUNIT_EXPECT_EQ(test, is_signed_type(signed char), true); KUNIT_EXPECT_EQ(test, is_signed_type(unsigned char), false); +#ifdef __CHAR_UNSIGNED__ + KUNIT_EXPECT_EQ(test, is_signed_type(char), false); +#else + KUNIT_EXPECT_EQ(test, is_signed_type(char), true); +#endif KUNIT_EXPECT_EQ(test, is_signed_type(int), true); KUNIT_EXPECT_EQ(test, is_signed_type(unsigned int), false); KUNIT_EXPECT_EQ(test, is_signed_type(long), true); |