From: Pauli Date: Wed, 10 May 2017 22:40:12 +0000 (+1000) Subject: Add a descriptive header to diff output from failed tests. X-Git-Tag: OpenSSL_1_1_1-pre1~1546 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=bb616fabd4a82d5daa3ca701abbe30e6d1415341;hp=05004f366ecd6b4fcc968739648be9b7fd87df3f Add a descriptive header to diff output from failed tests. Reviewed-by: Andy Polyakov Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/3433) --- diff --git a/test/testutil/tests.c b/test/testutil/tests.c index 7816df3336..9bd6cdeb24 100644 --- a/test/testutil/tests.c +++ b/test/testutil/tests.c @@ -40,6 +40,13 @@ static void test_fail_message_prefix(const char *prefix, const char *file, test_printf_stderr("\n"); } +/* Output a diff header */ +static void test_diff_header(const char *left, const char *right) +{ + test_printf_stderr("%*s# --- %s\n", subtest_level(), "", left); + test_printf_stderr("%*s# +++ %s\n", subtest_level(), "", right); +} + /* * A common routine to output test failure messages. Generally this should not * be called directly, rather it should be called by the following functions. @@ -107,6 +114,7 @@ static void test_fail_string_message(const char *prefix, const char *file, test_printf_stderr("%*s# % 4s %s\n", indent, "", "", m1 == NULL ? "NULL" : "''"); } else { + test_diff_header(left, right); test_printf_stderr("%*s# % 4s - %s\n", indent, "", "", m1 == NULL ? "NULL" : "''"); test_printf_stderr("%*s# % 4s + %s\n", indent, "", "", @@ -115,6 +123,9 @@ static void test_fail_string_message(const char *prefix, const char *file, goto fin; } + if (l1 != l2 || strcmp(m1, m2) != 0) + test_diff_header(left, right); + while (l1 > 0 || l2 > 0) { n1 = n2 = 0; if (l1 > 0) { @@ -252,6 +263,7 @@ static void test_fail_memory_message(const char *prefix, const char *file, test_printf_stderr("%*s# %04s %s\n", indent, "", "", m1 == NULL ? "NULL" : "empty"); } else { + test_diff_header(left, right); test_printf_stderr("%*s# %04s -%s\n", indent, "", "", m1 == NULL ? "NULL" : "empty"); test_printf_stderr("%*s# %04s +%s\n", indent, "", "", @@ -260,6 +272,9 @@ static void test_fail_memory_message(const char *prefix, const char *file, goto fin; } + if (l1 != l2 || memcmp(m1, m2, l1) != 0) + test_diff_header(left, right); + while (l1 > 0 || l2 > 0) { n1 = n2 = 0; if (l1 > 0) {