Revision: 14598
Author: adrian.chadd
Date: Tue Apr 13 20:38:37 2010
Log: Issue #108 - include another test suite to test http header
parsing/destruction
and repacking.
http://code.google.com/p/lusca-cache/source/detail?r=14598
Added:
/branches/LUSCA_HEAD/test-suite/libhttp/test_libhttp_2.c
Modified:
/branches/LUSCA_HEAD/test-suite/libhttp/build
=======================================
--- /dev/null
+++ /branches/LUSCA_HEAD/test-suite/libhttp/test_libhttp_2.c Tue Apr 13
20:38:37 2010
@@ -0,0 +1,105 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <math.h>
+#include <fcntl.h>
+#include <sys/errno.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+#include "include/Array.h"
+#include "include/Stack.h"
+#include "include/Vector.h"
+#include "include/util.h"
+#include "libcore/valgrind.h"
+#include "libcore/varargs.h"
+#include "libcore/debug.h"
+#include "libcore/kb.h"
+#include "libcore/gb.h"
+#include "libcore/tools.h"
+
+#include "libmem/MemPool.h"
+#include "libmem/MemBufs.h"
+#include "libmem/MemBuf.h"
+#include "libmem/String.h"
+#include "libmem/MemStr.h"
+
+#include "libcb/cbdata.h"
+
+#include "libstat/StatHist.h"
+
+#include "libsqinet/inet_legacy.h"
+#include "libsqinet/sqinet.h"
+
+#include "libhttp/HttpVersion.h"
+#include "libhttp/HttpStatusLine.h"
+#include "libhttp/HttpHeaderType.h"
+#include "libhttp/HttpHeaderFieldStat.h"
+#include "libhttp/HttpHeaderFieldInfo.h"
+#include "libhttp/HttpHeaderEntry.h"
+#include "libhttp/HttpHeader.h"
+#include "libhttp/HttpHeaderStats.h"
+#include "libhttp/HttpHeaderTools.h"
+#include "libhttp/HttpHeaderMask.h"
+#include "libhttp/HttpHeaderParse.h"
+
+extern void httpHeaderRepack(HttpHeader * hdr);
+
+static int
+test2a(void)
+{
+ HttpHeader hdr;
+ HttpHeaderPos pos = HttpHeaderInitPos;
+ const HttpHeaderEntry *e;
+
+ int ret;
+ const char *hdrs = "Host: www.creative.net.au\r\nContent-type:
text/html\r\nFoo: bar\r\n\r\n";
+ const char *hdr_start = hdrs;
+ const char *hdr_end = hdr_start + strlen(hdrs);
+
+ printf("test1b: test parsing sample headers\n");
+ httpHeaderInit(&hdr, hoRequest);
+ ret = httpHeaderParse(&hdr, hdr_start, hdr_end);
+
+ printf(" retval from parse: %d\n", ret);
+ while ((e = httpHeaderGetEntry(&hdr, &pos))) {
+ printf(" Parsed Header: %s: %s\n", strBuf(e->name),
strBuf(e->value));
+ }
+
+ /* Delete teh content-type header */
+ httpHeaderDelById(&hdr, HDR_CONTENT_TYPE);
+
+ /* Add a new one */
+ httpHeaderAddEntryStr(&hdr, HDR_CONTENT_TYPE, NULL, "text/plain");
+ printf("After delete, after append\n");
+ pos = HttpHeaderInitPos;
+ while ((e = httpHeaderGetEntry(&hdr, &pos))) {
+ printf(" Parsed Header: %s: %s\n", strBuf(e->name),
strBuf(e->value));
+ }
+ httpHeaderRepack(&hdr);
+
+ printf("After repack\n");
+ pos = HttpHeaderInitPos;
+ while ((e = httpHeaderGetEntry(&hdr, &pos))) {
+ printf(" Parsed Header: %s: %s\n", strBuf(e->name),
strBuf(e->value));
+ }
+
+ httpHeaderClean(&hdr);
+ return 1;
+}
+
+int
+main(int argc, const char *argv[])
+{
+ printf("%s: initializing\n", argv[0]);
+ _db_init("ALL,99");
+ _db_set_stderr_debug(99);
+ memPoolInit();
+ memBuffersInit();
+ memStringInit();
+ httpHeaderInitLibrary();
+ test2a();
+ exit(0);
+}
+
=======================================
--- /branches/LUSCA_HEAD/test-suite/libhttp/build Sun Jan 4 18:51:34 2009
+++ /branches/LUSCA_HEAD/test-suite/libhttp/build Tue Apr 13 20:38:37 2010
@@ -5,7 +5,10 @@
LIBS="-lhttp -lmem -lsqdebug -lcore -lstat -liapp -lmiscutil -lm"
rm test_libhttp_1
-
gcc ${CFLAGS} test_libhttp_1.c -o test_libhttp_1 ${LDFLAGS} ${LIBS}
-
./test_libhttp_1
+
+# specifically testing the vector routines
+rm test_libhttp_2
+gcc ${CFLAGS} test_libhttp_2.c -o test_libhttp_2 ${LDFLAGS} ${LIBS}
+./test_libhttp_2
--
You received this message because you are subscribed to the Google Groups
"lusca-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/lusca-commit?hl=en.