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 10enum unsigned_enum { 11 constant_a = 3, 12}; 13 14enum signed_enum { 15 constant_b = -1, 16 constant_c = 2, 17}; 18 19static 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 37static struct kunit_case is_signed_type_test_cases[] = { 38 KUNIT_CASE(is_signed_type_test), 39 {} 40}; 41 42static struct kunit_suite is_signed_type_test_suite = { 43 .name = "is_signed_type", 44 .test_cases = is_signed_type_test_cases, 45}; 46 47kunit_test_suite(is_signed_type_test_suite); 48 49MODULE_LICENSE("Dual MIT/GPL"); 50