From e3ce1ff01b5ca0fdda427caa6e9dd2e0f717d89d Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Fri, 18 Jun 2010 17:27:28 -0400 Subject: [PATCH] lib/wind/test-normalize.c: Dump failing vectors If a Unicode string fails a normalization test, dump it so we can figure out why its failing. --- lib/wind/test-normalize.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/wind/test-normalize.c b/lib/wind/test-normalize.c index 3c8f70fdd..df3438593 100644 --- a/lib/wind/test-normalize.c +++ b/lib/wind/test-normalize.c @@ -67,6 +67,18 @@ parse_vector(char *buf, uint32_t *v) return ret; } +static void +dump_vector(const char * msg, uint32_t * v, size_t len) +{ + size_t i; + + printf("%s: (%d) ", msg, len); + for (i=0; i < len; i++) { + printf("%s%x", (i > 0? " ":""), v[i]); + } + printf("\n"); +} + static int test(char *buf, unsigned lineno) { @@ -109,11 +121,15 @@ test(char *buf, unsigned lineno) } if (out_len != norm_len) { printf("%u: wrong out len (%s)\n", lineno, c); + dump_vector("Expected", out, out_len); + dump_vector("Received", tmp, norm_len); free(tmp); return 1; } if (memcmp(out, tmp, out_len * sizeof(uint32_t)) != 0) { printf("%u: wrong out data (%s)\n", lineno, c); + dump_vector("Expected", out, out_len); + dump_vector("Received", tmp, norm_len); free(tmp); return 1; }