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.

Reply via email to