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
This commit is contained in:
parent
6e42aec7c7
commit
98388bda6a
|
@ -5,7 +5,7 @@
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
#include <kunit/test.h>
|
#include <kunit/test.h>
|
||||||
#include <linux/overflow.h>
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
enum unsigned_enum {
|
enum unsigned_enum {
|
||||||
constant_a = 3,
|
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(bool), false);
|
||||||
KUNIT_EXPECT_EQ(test, is_signed_type(signed char), true);
|
KUNIT_EXPECT_EQ(test, is_signed_type(signed char), true);
|
||||||
KUNIT_EXPECT_EQ(test, is_signed_type(unsigned char), false);
|
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(int), true);
|
||||||
KUNIT_EXPECT_EQ(test, is_signed_type(unsigned int), false);
|
KUNIT_EXPECT_EQ(test, is_signed_type(unsigned int), false);
|
||||||
KUNIT_EXPECT_EQ(test, is_signed_type(long), true);
|
KUNIT_EXPECT_EQ(test, is_signed_type(long), true);
|
||||||
|
|
Loading…
Reference in New Issue