aboutsummaryrefslogtreecommitdiffstats
path: root/test/testutil
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2017-05-11 08:40:12 +1000
committerRichard Levitte <levitte@openssl.org>2017-05-11 10:24:38 +0200
commitbb616fabd4a82d5daa3ca701abbe30e6d1415341 (patch)
tree0cd1eb39b41f37cdb5c2ed56fba47a78caefdf41 /test/testutil
parent05004f366ecd6b4fcc968739648be9b7fd87df3f (diff)
downloadopenssl-bb616fabd4a82d5daa3ca701abbe30e6d1415341.tar.gz
Add a descriptive header to diff output from failed tests.
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3433)
Diffstat (limited to 'test/testutil')
-rw-r--r--test/testutil/tests.c15
1 files changed, 15 insertions, 0 deletions
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) {