mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
kunit: log numbers in decimal and hex
When KUNIT_EXPECT_EQ() or KUNIT_ASSERT_EQ() log a failure, they log the two values being compared, with numerical values logged in decimal. In some cases, decimal output is painful to consume, and hexadecimal output would be more helpful. For example, this is the case for tests I'm currently developing for the arm64 insn encoding/decoding code, where comparing two 32-bit instruction opcodes results in output such as: | # test_insn_add_shifted_reg: EXPECTATION FAILED at arch/arm64/lib/test_insn.c:2791 | Expected obj_insn == gen_insn, but | obj_insn == 2332164128 | gen_insn == 1258422304 To make this easier to consume, this patch logs the values in both decimal and hexadecimal: | # test_insn_add_shifted_reg: EXPECTATION FAILED at arch/arm64/lib/test_insn.c:2791 | Expected obj_insn == gen_insn, but | obj_insn == 2332164128 (0x8b020020) | gen_insn == 1258422304 (0x4b020020) As can be seen from the example, having hexadecimal makes it significantly easier for a human to spot which specific bits are incorrect. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Brendan Higgins <brendan.higgins@linux.dev> Cc: David Gow <davidgow@google.com> Cc: linux-kselftest@vger.kernel.org Cc: kunit-dev@googlegroups.com Acked-by: Daniel Latypov <dlatypov@google.com> Reviewed-by: David Gow <davidgow@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
247f34f7b8
commit
7b1dd2cf06
@ -127,13 +127,15 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
|
||||
binary_assert->text->right_text);
|
||||
if (!is_literal(stream->test, binary_assert->text->left_text,
|
||||
binary_assert->left_value, stream->gfp))
|
||||
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld\n",
|
||||
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)\n",
|
||||
binary_assert->text->left_text,
|
||||
binary_assert->left_value,
|
||||
binary_assert->left_value);
|
||||
if (!is_literal(stream->test, binary_assert->text->right_text,
|
||||
binary_assert->right_value, stream->gfp))
|
||||
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld",
|
||||
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)",
|
||||
binary_assert->text->right_text,
|
||||
binary_assert->right_value,
|
||||
binary_assert->right_value);
|
||||
kunit_assert_print_msg(message, stream);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user