linux/fs/smb/client/smb2maperror_test.c
ChenXiaoSong 7d0bf050a5 smb/client: make SMB2 maperror KUnit tests a separate module
Build the SMB2 maperror KUnit tests as `smb2maperror_test.ko`.

Link: https://lore.kernel.org/linux-cifs/20260210081040.4156383-1-geert@linux-m68k.org/
Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.org>
Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: Steve French <stfrench@microsoft.com>
2026-03-01 17:59:52 -06:00

51 lines
1.4 KiB
C

// SPDX-License-Identifier: LGPL-2.1
/*
*
* KUnit tests of SMB2 maperror
*
* Copyright (C) 2025 KylinSoft Co., Ltd. All rights reserved.
* Author(s): ChenXiaoSong <chenxiaosong@kylinos.cn>
*
*/
#include <kunit/test.h>
#include "smb2glob.h"
const struct status_to_posix_error *smb2_get_err_map_test(__u32 smb2_status);
extern const struct status_to_posix_error *smb2_error_map_table_test;
extern unsigned int smb2_error_map_num;
static void
test_cmp_map(struct kunit *test, const struct status_to_posix_error *expect)
{
const struct status_to_posix_error *result;
result = smb2_get_err_map_test(expect->smb2_status);
KUNIT_EXPECT_PTR_NE(test, NULL, result);
KUNIT_EXPECT_EQ(test, expect->smb2_status, result->smb2_status);
KUNIT_EXPECT_EQ(test, expect->posix_error, result->posix_error);
KUNIT_EXPECT_STREQ(test, expect->status_string, result->status_string);
}
static void maperror_test_check_search(struct kunit *test)
{
unsigned int i;
for (i = 0; i < smb2_error_map_num; i++)
test_cmp_map(test, &smb2_error_map_table_test[i]);
}
static struct kunit_case maperror_test_cases[] = {
KUNIT_CASE(maperror_test_check_search),
{}
};
static struct kunit_suite maperror_suite = {
.name = "smb2_maperror",
.test_cases = maperror_test_cases,
};
kunit_test_suite(maperror_suite);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("KUnit tests of SMB2 maperror");