Skip to content

Commit e7368fd

Browse files
committed
Merge tag 'linux-kselftest-kunit-fixes-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull KUnit fixes from Shuah Khan: "Three fixes to bugs that cause kernel crash, link error during build, and a third to fix kunit_test_init_section_suites() extra indirection issue" * tag 'linux-kselftest-kunit-fixes-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: kunit: fix kunit_test_init_section_suites(...) kunit: fix bug in KUNIT_EXPECT_MEMEQ kunit: Export kunit_running()
2 parents 42c78a5 + 254c713 commit e7368fd

File tree

3 files changed

+29
-18
lines changed

3 files changed

+29
-18
lines changed

include/kunit/test.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ static inline int kunit_run_all_tests(void)
303303
*/
304304
#define kunit_test_init_section_suites(__suites...) \
305305
__kunit_test_suites(CONCATENATE(__UNIQUE_ID(array), _probe), \
306-
CONCATENATE(__UNIQUE_ID(suites), _probe), \
307306
##__suites)
308307

309308
#define kunit_test_init_section_suite(suite) \
@@ -683,8 +682,9 @@ do { \
683682
.right_text = #right, \
684683
}; \
685684
\
686-
if (likely(memcmp(__left, __right, __size) op 0)) \
687-
break; \
685+
if (likely(__left && __right)) \
686+
if (likely(memcmp(__left, __right, __size) op 0)) \
687+
break; \
688688
\
689689
_KUNIT_FAILED(test, \
690690
assert_type, \

lib/kunit/assert.c

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -241,24 +241,34 @@ void kunit_mem_assert_format(const struct kunit_assert *assert,
241241
mem_assert = container_of(assert, struct kunit_mem_assert,
242242
assert);
243243

244-
string_stream_add(stream,
245-
KUNIT_SUBTEST_INDENT "Expected %s %s %s, but\n",
246-
mem_assert->text->left_text,
247-
mem_assert->text->operation,
248-
mem_assert->text->right_text);
244+
if (!mem_assert->left_value) {
245+
string_stream_add(stream,
246+
KUNIT_SUBTEST_INDENT "Expected %s is not null, but is\n",
247+
mem_assert->text->left_text);
248+
} else if (!mem_assert->right_value) {
249+
string_stream_add(stream,
250+
KUNIT_SUBTEST_INDENT "Expected %s is not null, but is\n",
251+
mem_assert->text->right_text);
252+
} else {
253+
string_stream_add(stream,
254+
KUNIT_SUBTEST_INDENT "Expected %s %s %s, but\n",
255+
mem_assert->text->left_text,
256+
mem_assert->text->operation,
257+
mem_assert->text->right_text);
249258

250-
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s ==\n",
251-
mem_assert->text->left_text);
252-
kunit_assert_hexdump(stream, mem_assert->left_value,
253-
mem_assert->right_value, mem_assert->size);
259+
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s ==\n",
260+
mem_assert->text->left_text);
261+
kunit_assert_hexdump(stream, mem_assert->left_value,
262+
mem_assert->right_value, mem_assert->size);
254263

255-
string_stream_add(stream, "\n");
264+
string_stream_add(stream, "\n");
256265

257-
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s ==\n",
258-
mem_assert->text->right_text);
259-
kunit_assert_hexdump(stream, mem_assert->right_value,
260-
mem_assert->left_value, mem_assert->size);
266+
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s ==\n",
267+
mem_assert->text->right_text);
268+
kunit_assert_hexdump(stream, mem_assert->right_value,
269+
mem_assert->left_value, mem_assert->size);
261270

262-
kunit_assert_print_msg(message, stream);
271+
kunit_assert_print_msg(message, stream);
272+
}
263273
}
264274
EXPORT_SYMBOL_GPL(kunit_mem_assert_format);

lib/kunit/test.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "try-catch-impl.h"
2222

2323
DEFINE_STATIC_KEY_FALSE(kunit_running);
24+
EXPORT_SYMBOL_GPL(kunit_running);
2425

2526
#if IS_BUILTIN(CONFIG_KUNIT)
2627
/*

0 commit comments

Comments
 (0)