1 | // SPDX-License-Identifier: GPL-2.0 OR MIT |
2 | /* |
3 | * ./tools/testing/kunit/kunit.py run is_signed_type [--raw_output] |
4 | */ |
5 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
6 | |
7 | #include <kunit/test.h> |
8 | #include <linux/compiler.h> |
9 | |
10 | enum unsigned_enum { |
11 | constant_a = 3, |
12 | }; |
13 | |
14 | enum signed_enum { |
15 | constant_b = -1, |
16 | constant_c = 2, |
17 | }; |
18 | |
19 | static void is_signed_type_test(struct kunit *test) |
20 | { |
21 | KUNIT_EXPECT_EQ(test, is_signed_type(bool), false); |
22 | KUNIT_EXPECT_EQ(test, is_signed_type(signed char), true); |
23 | KUNIT_EXPECT_EQ(test, is_signed_type(unsigned char), false); |
24 | KUNIT_EXPECT_EQ(test, is_signed_type(char), false); |
25 | KUNIT_EXPECT_EQ(test, is_signed_type(int), true); |
26 | KUNIT_EXPECT_EQ(test, is_signed_type(unsigned int), false); |
27 | KUNIT_EXPECT_EQ(test, is_signed_type(long), true); |
28 | KUNIT_EXPECT_EQ(test, is_signed_type(unsigned long), false); |
29 | KUNIT_EXPECT_EQ(test, is_signed_type(long long), true); |
30 | KUNIT_EXPECT_EQ(test, is_signed_type(unsigned long long), false); |
31 | KUNIT_EXPECT_EQ(test, is_signed_type(enum unsigned_enum), false); |
32 | KUNIT_EXPECT_EQ(test, is_signed_type(enum signed_enum), true); |
33 | KUNIT_EXPECT_EQ(test, is_signed_type(void *), false); |
34 | KUNIT_EXPECT_EQ(test, is_signed_type(const char *), false); |
35 | } |
36 | |
37 | static struct kunit_case is_signed_type_test_cases[] = { |
38 | KUNIT_CASE(is_signed_type_test), |
39 | {} |
40 | }; |
41 | |
42 | static struct kunit_suite is_signed_type_test_suite = { |
43 | .name = "is_signed_type" , |
44 | .test_cases = is_signed_type_test_cases, |
45 | }; |
46 | |
47 | kunit_test_suite(is_signed_type_test_suite); |
48 | |
49 | MODULE_LICENSE("Dual MIT/GPL" ); |
50 | |