diff options
author | Aleksandar Markovic <amarkovic@wavecomp.com> | 2019-08-19 14:08:15 +0200 |
---|---|---|
committer | Aleksandar Markovic <amarkovic@wavecomp.com> | 2019-08-19 19:53:37 +0200 |
commit | d7059fd7375be449aed2f3cd6adf7ae14dbfefbd (patch) | |
tree | dae83275e4a35fae87ece4c8f8cf72699a4c326c /tests/tcg/mips | |
parent | 33dd6f442d8880c0bab025014b947633292b0fb9 (diff) | |
download | qemu-d7059fd7375be449aed2f3cd6adf7ae14dbfefbd.zip |
target/mips: tests/tcg: Add optional printing of more detailed failure info
There is a need for printing input and output data for failure cases,
for debugging purpose. This is achieved by this patch, and only if a
preprocessor constant is manually set to 1. (Assumption is that the
need for such printout is relatively rare.)
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com>
Message-Id: <1566216496-17375-37-git-send-email-aleksandar.markovic@rt-rk.com>
Diffstat (limited to 'tests/tcg/mips')
-rw-r--r-- | tests/tcg/mips/include/test_utils_128.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h index 2fea6102d1..0dd38684cf 100644 --- a/tests/tcg/mips/include/test_utils_128.h +++ b/tests/tcg/mips/include/test_utils_128.h @@ -27,7 +27,8 @@ #include <inttypes.h> #include <string.h> -#define PRINT_RESULTS 0 +#define PRINT_RESULTS 0 +#define PRINT_FAILURES 0 static inline int32_t check_results_128(const char *isa_ase_name, @@ -65,6 +66,26 @@ static inline int32_t check_results_128(const char *isa_ase_name, (b128_result[2 * i + 1] == b128_expect[2 * i + 1])) { pass_count++; } else { +#if PRINT_FAILURES + uint32_t ii; + uint64_t a, b; + + printf("\n"); + + printf("FAILURE for test case %d!\n", i); + + memcpy(&a, (b128_expect + 2 * i), 8); + memcpy(&b, (b128_expect + 2 * i + 1), 8); + printf("Expected result : { 0x%016llxULL, 0x%016llxULL, },\n", + a, b); + + memcpy(&a, (b128_result + 2 * i), 8); + memcpy(&b, (b128_result + 2 * i + 1), 8); + printf("Actual result : { 0x%016llxULL, 0x%016llxULL, },\n", + a, b); + + printf("\n"); +#endif fail_count++; } } |