diff options
author | Nick Mathewson <nickm@torproject.org> | 2014-03-06 12:12:13 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-03-06 12:12:13 -0500 |
commit | 065097b81bad3326a9bd536fbdf646f408638a94 (patch) | |
tree | f4601fb374fa2750f68268e6481b3337bea3d38f /src/test | |
parent | a50690e68f8a332321e88f0ac8c3046186bc1c1f (diff) | |
download | tor-065097b81bad3326a9bd536fbdf646f408638a94.tar.gz tor-065097b81bad3326a9bd536fbdf646f408638a94.zip |
tinytest tt_{mem,str}_op now handle NULLs better
Now a NULL argument to either makes it fail, not crash.
Fies bug 9004; bugfix on 0.2.2.4-alpha.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/test.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/test/test.h b/src/test/test.h index a89b558e5a..b902c6e478 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -38,12 +38,17 @@ #define test_mem_op(expr1, op, expr2, len) \ tt_assert_test_fmt_type(expr1,expr2,#expr1" "#op" "#expr2, \ const char *, \ - (memcmp(val1_, val2_, len) op 0), \ + (val1_ && val2_ && memcmp(val1_, val2_, len) op 0), \ char *, "%s", \ { size_t printlen = (len)*2+1; \ - print_ = tor_malloc(printlen); \ - base16_encode(print_, printlen, value_, \ - (len)); }, \ + if (value_) { \ + print_ = tor_malloc(printlen); \ + base16_encode(print_, printlen, value_, \ + (len)); \ + } else { \ + print_ = tor_strdup("null"); \ + } \ + }, \ { tor_free(print_); }, \ TT_EXIT_TEST_FUNCTION \ ); |