xref: /linux/fs/smb/client/smb2maperror_test.c (revision 9e4e86a604dfd06402933467578c4b79f5412b2c)
1 // SPDX-License-Identifier: LGPL-2.1
2 /*
3  *
4  *   KUnit tests of SMB2 maperror
5  *
6  *   Copyright (C) 2025 KylinSoft Co., Ltd. All rights reserved.
7  *   Author(s): ChenXiaoSong <chenxiaosong@kylinos.cn>
8  *
9  */
10 
11 #include <kunit/test.h>
12 #include "cifsglob.h"
13 #include "smb2glob.h"
14 #include "smb2proto.h"
15 
16 static void
test_cmp_map(struct kunit * test,const struct status_to_posix_error * expect)17 test_cmp_map(struct kunit *test, const struct status_to_posix_error *expect)
18 {
19 	const struct status_to_posix_error *result;
20 
21 	result = smb2_get_err_map_test(expect->smb2_status);
22 	KUNIT_ASSERT_NOT_NULL(test, result);
23 	KUNIT_EXPECT_EQ(test, expect->smb2_status, result->smb2_status);
24 	KUNIT_EXPECT_EQ(test, expect->posix_error, result->posix_error);
25 	KUNIT_EXPECT_STREQ(test, expect->status_string, result->status_string);
26 }
27 
maperror_test_check_search(struct kunit * test)28 static void maperror_test_check_search(struct kunit *test)
29 {
30 	unsigned int i;
31 
32 	for (i = 0; i < smb2_error_map_num; i++)
33 		test_cmp_map(test, &smb2_error_map_table_test[i]);
34 }
35 
36 static struct kunit_case maperror_test_cases[] = {
37 	KUNIT_CASE(maperror_test_check_search),
38 	{}
39 };
40 
41 static struct kunit_suite maperror_suite = {
42 	.name = "smb2_maperror",
43 	.test_cases = maperror_test_cases,
44 };
45 
46 kunit_test_suite(maperror_suite);
47 
48 MODULE_LICENSE("GPL");
49 MODULE_DESCRIPTION("KUnit tests of SMB2 maperror");
50