Refactor evtag tests into their own suite.

svn:r1366
This commit is contained in:
Nick Mathewson 2009-07-20 14:55:51 +00:00
parent e8400a43ca
commit f4775918cd
3 changed files with 22 additions and 17 deletions

View File

@ -1320,7 +1320,7 @@ test_want_only_once(void)
#define TEST_MAX_INT 6
static void
evtag_int_test(void)
evtag_int_test(void *ptr)
{
struct evbuffer *tmp = evbuffer_new();
ev_uint32_t integers[TEST_MAX_INT] = {
@ -1330,6 +1330,8 @@ evtag_int_test(void)
ev_uint64_t big_int;
int i;
evtag_init();
for (i = 0; i < TEST_MAX_INT; i++) {
int oldlen, newlen;
oldlen = EVBUFFER_LENGTH(tmp);
@ -1349,14 +1351,13 @@ evtag_int_test(void)
tt_assert((big_int / 1000000000) == integers[i]);
}
tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
end:
evbuffer_free(tmp);
}
static void
evtag_fuzz(void)
evtag_fuzz(void *ptr)
{
u_char buffer[4096];
struct evbuffer *tmp = evbuffer_new();
@ -1364,6 +1365,9 @@ evtag_fuzz(void)
int i, j;
int not_failed = 0;
evtag_init();
for (j = 0; j < 100; j++) {
for (i = 0; i < sizeof(buffer); i++)
buffer[i] = rand();
@ -1394,7 +1398,7 @@ end:
}
static void
evtag_tag_encoding(void)
evtag_tag_encoding(void *ptr)
{
struct evbuffer *tmp = evbuffer_new();
ev_uint32_t integers[TEST_MAX_INT] = {
@ -1403,6 +1407,8 @@ evtag_tag_encoding(void)
ev_uint32_t integer;
int i;
evtag_init();
for (i = 0; i < TEST_MAX_INT; i++) {
int oldlen, newlen;
oldlen = EVBUFFER_LENGTH(tmp);
@ -1418,19 +1424,11 @@ evtag_tag_encoding(void)
}
tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
end:
evbuffer_free(tmp);
}
static void
test_evtag(void)
{
evtag_init();
evtag_int_test();
evtag_fuzz();
evtag_tag_encoding();
test_ok = 1;
}
static void
test_methods(void *ptr)
@ -1787,12 +1785,17 @@ struct testcase_t main_testcases[] = {
#ifndef WIN32
LEGACY(fork, TT_ISOLATED),
#endif
LEGACY(evtag, TT_ISOLATED),
END_OF_TESTCASES
};
struct testcase_t evtag_testcases[] = {
{ "int", evtag_int_test, TT_FORK, NULL, NULL },
{ "fuzz", evtag_fuzz, TT_FORK, NULL, NULL },
{ "encoding", evtag_tag_encoding, TT_FORK, NULL, NULL },
END_OF_TESTCASES
};
struct testcase_t signal_testcases[] = {
#ifndef WIN32
LEGACY(simplesignal, TT_ISOLATED),

View File

@ -35,6 +35,7 @@ extern "C" {
#include "tinytest_macros.h"
extern struct testcase_t main_testcases[];
extern struct testcase_t evtag_testcases[];
extern struct testcase_t evbuffer_testcases[];
extern struct testcase_t bufferevent_testcases[];
extern struct testcase_t util_testcases[];

View File

@ -283,6 +283,7 @@ struct testgroup_t testgroups[] = {
{ "bufferevent/", bufferevent_testcases },
{ "http/", http_testcases },
{ "dns/", dns_testcases },
{ "evtag/", evtag_testcases },
{ "rpc/", rpc_testcases },
{ "thread/", thread_testcases },
#ifdef WIN32