mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-29 05:46:18 -04:00
Replace EXPORT_SYMBOL_FOR_MODULES() with EXPORT_SYMBOL_IF_KUNIT() to mark the symbols as visible only if CONFIG_KUNIT is enabled. Kunit test should import the namespace EXPORTED_FOR_KUNIT_TESTING to use these marked symbols. This is the standard way for all KUnit tests. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: Steve French <stfrench@microsoft.com>
79 lines
2.4 KiB
C
79 lines
2.4 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
*
|
|
* KUnit tests of SMB1 maperror
|
|
*
|
|
* Copyright (C) 2026 KylinSoft Co., Ltd. All rights reserved.
|
|
* Author(s): Youling Tang <tangyouling@kylinos.cn>
|
|
* ChenXiaoSong <chenxiaosong@kylinos.cn>
|
|
*
|
|
*/
|
|
|
|
#include <kunit/test.h>
|
|
#include "smb1proto.h"
|
|
#include "nterr.h"
|
|
#include "smberr.h"
|
|
|
|
#define DEFINE_CHECK_SEARCH_FUNC(__struct_name, __field, \
|
|
__array, __num) \
|
|
static void check_search_ ## __array(struct kunit *test) \
|
|
{ \
|
|
unsigned int i; \
|
|
const struct __struct_name *expect, *result; \
|
|
\
|
|
for (i = 0; i < __num; i++) { \
|
|
expect = &__array ## _test[i]; \
|
|
result = search_ ## __array ## _test(expect->__field); \
|
|
KUNIT_ASSERT_NOT_NULL(test, result); \
|
|
test_cmp_ ## __struct_name(test, expect, result); \
|
|
} \
|
|
}
|
|
|
|
static void
|
|
test_cmp_ntstatus_to_dos_err(struct kunit *test,
|
|
const struct ntstatus_to_dos_err *expect,
|
|
const struct ntstatus_to_dos_err *result)
|
|
{
|
|
KUNIT_EXPECT_EQ(test, expect->dos_class, result->dos_class);
|
|
KUNIT_EXPECT_EQ(test, expect->dos_code, result->dos_code);
|
|
KUNIT_EXPECT_EQ(test, expect->ntstatus, result->ntstatus);
|
|
KUNIT_EXPECT_STREQ(test, expect->nt_errstr, result->nt_errstr);
|
|
}
|
|
|
|
static void
|
|
test_cmp_smb_to_posix_error(struct kunit *test,
|
|
const struct smb_to_posix_error *expect,
|
|
const struct smb_to_posix_error *result)
|
|
{
|
|
KUNIT_EXPECT_EQ(test, expect->smb_err, result->smb_err);
|
|
KUNIT_EXPECT_EQ(test, expect->posix_code, result->posix_code);
|
|
}
|
|
|
|
/* check_search_ntstatus_to_dos_map */
|
|
DEFINE_CHECK_SEARCH_FUNC(ntstatus_to_dos_err, ntstatus, ntstatus_to_dos_map,
|
|
ntstatus_to_dos_num);
|
|
/* check_search_mapping_table_ERRDOS */
|
|
DEFINE_CHECK_SEARCH_FUNC(smb_to_posix_error, smb_err, mapping_table_ERRDOS,
|
|
mapping_table_ERRDOS_num);
|
|
/* check_search_mapping_table_ERRSRV */
|
|
DEFINE_CHECK_SEARCH_FUNC(smb_to_posix_error, smb_err, mapping_table_ERRSRV,
|
|
mapping_table_ERRSRV_num);
|
|
|
|
static struct kunit_case maperror_test_cases[] = {
|
|
KUNIT_CASE(check_search_ntstatus_to_dos_map),
|
|
KUNIT_CASE(check_search_mapping_table_ERRDOS),
|
|
KUNIT_CASE(check_search_mapping_table_ERRSRV),
|
|
{}
|
|
};
|
|
|
|
static struct kunit_suite maperror_suite = {
|
|
.name = "smb1_maperror",
|
|
.test_cases = maperror_test_cases,
|
|
};
|
|
|
|
kunit_test_suite(maperror_suite);
|
|
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_DESCRIPTION("KUnit tests of SMB1 maperror");
|
|
MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING");
|