Message ID | 1566216496-17375-37-git-send-email-aleksandar.markovic@rt-rk.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/mips: Misc patches for 4.2 | expand |
> From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com> > Sent: Monday, August 19, 2019 2:08 PM > To: qemu-devel@nongnu.org <qemu-devel@nongnu.org> > Cc: philmd@redhat.com <philmd@redhat.com>; Aleksandar Markovic <amarkovic@wavecomp.com>; Aleksandar Rikalo <arikalo@wavecomp.com> > Subject: [EXTERNAL][PATCH v8 36/37] target/mips: tests/tcg: Add optional printing of more detailed failure info > > From: Aleksandar Markovic <amarkovic@wavecomp.com> > > 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> > --- > tests/tcg/mips/include/test_utils_128.h | 23 ++++++++++++++++++++++- > 1 file changed, 22 insertions(+), 1 deletion(-) > > diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h > index 2fea610..0dd3868 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++; > } > } > -- > 2.7.4 Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com>
diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h index 2fea610..0dd3868 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++; } }