forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'linux_kselftest-kunit-6.12-rc1' of git://git.kernel.org/pu…
…b/scm/linux/kernel/git/shuah/linux-kselftest Pull kunit updates from Shuah Khan: - a new int_pow test suite - documentation update to clarify filename best practices - kernel-doc fix for EXPORT_SYMBOL_IF_KUNIT - change to build compile_commands.json automatically instead of requiring a manual build * tag 'linux_kselftest-kunit-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: lib/math: Add int_pow test suite kunit: tool: Build compile_commands.json kunit: Fix kernel-doc for EXPORT_SYMBOL_IF_KUNIT Documentation: KUnit: Update filename best practices
- Loading branch information
Showing
7 changed files
with
95 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# SPDX-License-Identifier: GPL-2.0-only | ||
|
||
obj-$(CONFIG_INT_POW_TEST) += int_pow_kunit.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
|
||
#include <kunit/test.h> | ||
#include <linux/math.h> | ||
|
||
struct test_case_params { | ||
u64 base; | ||
unsigned int exponent; | ||
u64 expected_result; | ||
const char *name; | ||
}; | ||
|
||
static const struct test_case_params params[] = { | ||
{ 64, 0, 1, "Power of zero" }, | ||
{ 64, 1, 64, "Power of one"}, | ||
{ 0, 5, 0, "Base zero" }, | ||
{ 1, 64, 1, "Base one" }, | ||
{ 2, 2, 4, "Two squared"}, | ||
{ 2, 3, 8, "Two cubed"}, | ||
{ 5, 5, 3125, "Five raised to the fifth power" }, | ||
{ U64_MAX, 1, U64_MAX, "Max base" }, | ||
{ 2, 63, 9223372036854775808ULL, "Large result"}, | ||
}; | ||
|
||
static void get_desc(const struct test_case_params *tc, char *desc) | ||
{ | ||
strscpy(desc, tc->name, KUNIT_PARAM_DESC_SIZE); | ||
} | ||
|
||
KUNIT_ARRAY_PARAM(int_pow, params, get_desc); | ||
|
||
static void int_pow_test(struct kunit *test) | ||
{ | ||
const struct test_case_params *tc = (const struct test_case_params *)test->param_value; | ||
|
||
KUNIT_EXPECT_EQ(test, tc->expected_result, int_pow(tc->base, tc->exponent)); | ||
} | ||
|
||
static struct kunit_case math_int_pow_test_cases[] = { | ||
KUNIT_CASE_PARAM(int_pow_test, int_pow_gen_params), | ||
{} | ||
}; | ||
|
||
static struct kunit_suite int_pow_test_suite = { | ||
.name = "math-int_pow", | ||
.test_cases = math_int_pow_test_cases, | ||
}; | ||
|
||
kunit_test_suites(&int_pow_test_suite); | ||
|
||
MODULE_DESCRIPTION("math.int_pow KUnit test suite"); | ||
MODULE_LICENSE("GPL"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters