X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Frfc822%2Ftest%2Frun-hdr-and-body.c;h=b7f4e7f179f3d7b13278650e92de457e296cda28;hp=d3f563ff35b95d94f119ef6f2240a40cb8c8f74b;hb=HEAD;hpb=de28abde1337e9255812ba720ffeef2c83a25dde diff --git a/ccan/rfc822/test/run-hdr-and-body.c b/ccan/rfc822/test/run-hdr-and-body.c index d3f563ff..b7f4e7f1 100644 --- a/ccan/rfc822/test/run-hdr-and-body.c +++ b/ccan/rfc822/test/run-hdr-and-body.c @@ -23,51 +23,11 @@ if (!(_h)) \ break; \ check_header((_msg), (_h), (_e)->hdrs[_i].name, \ - (_e)->hdrs[_i].val, crlf); \ + (_e)->hdrs[_i].val, \ + (_e)->hdrs[_i].errors, crlf); \ } \ } while (0) -static void check_header(struct rfc822_msg *msg, - struct rfc822_header *h, - const char *name, const char *val, - int crlf) -{ - struct bytestring hname, hvalue, hfull; - size_t namelen = strlen(name); - size_t valuelen = strlen(val); - size_t nln = crlf ? 2 : 1; - size_t fulllen = namelen + valuelen + 1 + nln; - - ok(rfc822_header_errors(msg, h) == 0, "Header valid"); - allocation_failure_check(); - - hname = rfc822_header_raw_name(msg, h); - allocation_failure_check(); - - ok(hname.ptr && bytestring_eq(hname, bytestring_from_string(name)), - "Header name \"%.*s\"", hname.len, hname.ptr); - - hvalue = rfc822_header_raw_value(msg, h); - allocation_failure_check(); - - ok(hvalue.ptr && ((valuelen + nln) == hvalue.len) - && (memcmp(val, hvalue.ptr, valuelen) == 0) - && (!crlf || (hvalue.ptr[hvalue.len - 2] == '\r')) - && (hvalue.ptr[hvalue.len - 1] == '\n'), - "Header value"); - - hfull = rfc822_header_raw_content(msg, h); - allocation_failure_check(); - - ok(hfull.ptr && (fulllen == hfull.len) - && (memcmp(name, hfull.ptr, namelen) == 0) - && (hfull.ptr[namelen] == ':') - && (memcmp(val, hfull.ptr + namelen + 1, valuelen) == 0) - && (!crlf || (hfull.ptr[fulllen-2] == '\r')) - && (hfull.ptr[fulllen-1] == '\n'), - "Full header"); -} - static void test_bodyhdr(const struct aexample *e, const char *buf, size_t len, const char *exname, int crlf) { @@ -153,7 +113,8 @@ int main(int argc, char *argv[]) struct aexample *e; /* This is how many tests you plan to run */ - plan_tests(20*num_aexamples() + 40*num_aexample_hdrs()); + plan_tests(20*num_aexamples() + + (36 + CHECK_HEADER_NUMTESTS)*num_aexample_hdrs()); failtest_setup(argc, argv); @@ -176,7 +137,7 @@ int main(int argc, char *argv[]) test_hdrbody(e, buf, len, exname, crlf); test_hdrhdr(e, buf, len, exname, crlf); - talloc_free(buf); + tal_free(buf); } }