Convert evtag test.

svn:r1085
This commit is contained in:
Nick Mathewson 2009-01-31 18:36:47 +00:00
parent 5831d11a42
commit 12e8db5b23

View File

@ -1978,29 +1978,18 @@ evtag_int_test(void)
oldlen = EVBUFFER_LENGTH(tmp); oldlen = EVBUFFER_LENGTH(tmp);
encode_int(tmp, integers[i]); encode_int(tmp, integers[i]);
newlen = EVBUFFER_LENGTH(tmp); newlen = EVBUFFER_LENGTH(tmp);
fprintf(stdout, "\t\tencoded 0x%08x with %d bytes\n", TT_BLATHER(("encoded 0x%08x with %d bytes",
(unsigned)integers[i], newlen - oldlen); (unsigned)integers[i], newlen - oldlen));
} }
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
if (evtag_decode_int(&integer, tmp) == -1) { tt_assert(evtag_decode_int(&integer, tmp) != -1);
fprintf(stderr, "decode %d failed", i); tt_uint_op(integer, ==, integers[i]);
exit(1);
}
if (integer != integers[i]) {
fprintf(stderr, "got %x, wanted %x",
(unsigned)integer, (unsigned)integers[i]);
exit(1);
}
} }
if (EVBUFFER_LENGTH(tmp) != 0) { tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
fprintf(stderr, "trailing data"); end:
exit(1);
}
evbuffer_free(tmp); evbuffer_free(tmp);
fprintf(stdout, "\t%s: OK\n", __func__);
} }
static void static void
@ -2023,10 +2012,7 @@ evtag_fuzz(void)
} }
/* The majority of decodes should fail */ /* The majority of decodes should fail */
if (not_failed >= 10) { tt_int_op(not_failed, <, 10);
fprintf(stderr, "evtag_unmarshal should have failed");
exit(1);
}
/* Now insert some corruption into the tag length field */ /* Now insert some corruption into the tag length field */
evbuffer_drain(tmp, -1); evbuffer_drain(tmp, -1);
@ -2037,13 +2023,11 @@ evtag_fuzz(void)
((char *)EVBUFFER_DATA(tmp))[1] = 0xff; ((char *)EVBUFFER_DATA(tmp))[1] = 0xff;
if (evtag_unmarshal_timeval(tmp, 0, &tv) != -1) { if (evtag_unmarshal_timeval(tmp, 0, &tv) != -1) {
fprintf(stderr, "evtag_unmarshal_timeval should have failed"); tt_abort_msg("evtag_unmarshal_timeval should have failed");
exit(1);
} }
end:
evbuffer_free(tmp); evbuffer_free(tmp);
fprintf(stdout, "\t%s: OK\n", __func__);
} }
static void static void
@ -2061,43 +2045,28 @@ evtag_tag_encoding(void)
oldlen = EVBUFFER_LENGTH(tmp); oldlen = EVBUFFER_LENGTH(tmp);
evtag_encode_tag(tmp, integers[i]); evtag_encode_tag(tmp, integers[i]);
newlen = EVBUFFER_LENGTH(tmp); newlen = EVBUFFER_LENGTH(tmp);
fprintf(stdout, "\t\tencoded 0x%08x with %d bytes\n", TT_BLATHER(("encoded 0x%08x with %d bytes",
(unsigned)integers[i], newlen - oldlen); (unsigned)integers[i], newlen - oldlen));
} }
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
if (evtag_decode_tag(&integer, tmp) == -1) { tt_int_op(evtag_decode_tag(&integer, tmp), !=, -1);
fprintf(stderr, "decode %d failed", i); tt_uint_op(integer, ==, integers[i]);
exit(1);
}
if (integer != integers[i]) {
fprintf(stderr, "got %x, wanted %x",
(unsigned)integer, (unsigned)integers[i]);
exit(1);
}
} }
if (EVBUFFER_LENGTH(tmp) != 0) { tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
fprintf(stderr, "trailing data"); end:
exit(1);
}
evbuffer_free(tmp); evbuffer_free(tmp);
fprintf(stdout, "\t%s: OK\n", __func__);
} }
static void static void
evtag_test(void) test_evtag(void)
{ {
fprintf(stdout, "Testing Tagging:\n");
evtag_init(); evtag_init();
evtag_int_test(); evtag_int_test();
evtag_fuzz(); evtag_fuzz();
evtag_tag_encoding(); evtag_tag_encoding();
test_ok = 1;
fprintf(stdout, "OK\n");
} }
static void static void
@ -2183,6 +2152,8 @@ struct testcase_t legacy_testcases[] = {
LEGACY(fork, TT_ISOLATED), LEGACY(fork, TT_ISOLATED),
#endif #endif
LEGACY(evtag, TT_ISOLATED),
END_OF_TESTCASES END_OF_TESTCASES
}; };
@ -2215,8 +2186,6 @@ legacy_main(void)
regress_zlib(); regress_zlib();
#endif #endif
evtag_test();
return (0); return (0);
} }