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 #define TEST_MAX_INT 6
static void static void
evtag_int_test(void) evtag_int_test(void *ptr)
{ {
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
ev_uint32_t integers[TEST_MAX_INT] = { ev_uint32_t integers[TEST_MAX_INT] = {
@ -1330,6 +1330,8 @@ evtag_int_test(void)
ev_uint64_t big_int; ev_uint64_t big_int;
int i; int i;
evtag_init();
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
int oldlen, newlen; int oldlen, newlen;
oldlen = EVBUFFER_LENGTH(tmp); oldlen = EVBUFFER_LENGTH(tmp);
@ -1350,13 +1352,12 @@ evtag_int_test(void)
} }
tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0); tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
end: end:
evbuffer_free(tmp); evbuffer_free(tmp);
} }
static void static void
evtag_fuzz(void) evtag_fuzz(void *ptr)
{ {
u_char buffer[4096]; u_char buffer[4096];
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
@ -1364,6 +1365,9 @@ evtag_fuzz(void)
int i, j; int i, j;
int not_failed = 0; int not_failed = 0;
evtag_init();
for (j = 0; j < 100; j++) { for (j = 0; j < 100; j++) {
for (i = 0; i < sizeof(buffer); i++) for (i = 0; i < sizeof(buffer); i++)
buffer[i] = rand(); buffer[i] = rand();
@ -1394,7 +1398,7 @@ end:
} }
static void static void
evtag_tag_encoding(void) evtag_tag_encoding(void *ptr)
{ {
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
ev_uint32_t integers[TEST_MAX_INT] = { ev_uint32_t integers[TEST_MAX_INT] = {
@ -1403,6 +1407,8 @@ evtag_tag_encoding(void)
ev_uint32_t integer; ev_uint32_t integer;
int i; int i;
evtag_init();
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
int oldlen, newlen; int oldlen, newlen;
oldlen = EVBUFFER_LENGTH(tmp); oldlen = EVBUFFER_LENGTH(tmp);
@ -1418,19 +1424,11 @@ evtag_tag_encoding(void)
} }
tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0); tt_uint_op(EVBUFFER_LENGTH(tmp), ==, 0);
end: end:
evbuffer_free(tmp); evbuffer_free(tmp);
} }
static void
test_evtag(void)
{
evtag_init();
evtag_int_test();
evtag_fuzz();
evtag_tag_encoding();
test_ok = 1;
}
static void static void
test_methods(void *ptr) test_methods(void *ptr)
@ -1787,8 +1785,13 @@ struct testcase_t main_testcases[] = {
#ifndef WIN32 #ifndef WIN32
LEGACY(fork, TT_ISOLATED), LEGACY(fork, TT_ISOLATED),
#endif #endif
END_OF_TESTCASES
};
LEGACY(evtag, TT_ISOLATED), 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 END_OF_TESTCASES
}; };

View File

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

View File

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