Revision: 14664
Author: adrian.chadd
Date: Sun May 16 03:22:00 2010
Log: Add in a test case for the Vector datatype.

It's already finding issues! Yay!


http://code.google.com/p/lusca-cache/source/detail?r=14664

Added:
 /branches/LUSCA_HEAD/test-suite/atf/lib_Vector.c
Modified:
 /branches/LUSCA_HEAD/test-suite/atf/Atffile
 /branches/LUSCA_HEAD/test-suite/atf/Makefile

=======================================
--- /dev/null
+++ /branches/LUSCA_HEAD/test-suite/atf/lib_Vector.c Sun May 16 03:22:00 2010
@@ -0,0 +1,100 @@
+
+#include "include/config.h"
+
+#include <atf-c.h>
+
+#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 "core.h"
+
+ATF_TC(Vector_test_1);
+ATF_TC_HEAD(Vector_test_1, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Vector create/delete test");
+}
+ATF_TC_BODY(Vector_test_1, tc)
+{
+       Vector v;
+
+       vector_init(&v, 32, 128);
+       vector_done(&v);
+}
+
+/* ** */
+
+ATF_TC(Vector_test_2);
+ATF_TC_HEAD(Vector_test_2, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Vector create/populate/delete test");
+}
+ATF_TC_BODY(Vector_test_2, tc)
+{
+       Vector v;
+       int i, *n;
+
+       vector_init(&v, sizeof(int), 128);
+       for (i = 0; i < 16; i++) {
+               n = (int *) vector_append(&v);
+               ATF_REQUIRE(n != NULL);
+               (*n) = i;
+       }
+       for (i = 0; i < 16; i++) {
+               n = (int *) vector_get(&v, i);
+               ATF_REQUIRE((*n) == i);
+       }
+       vector_done(&v);
+}
+
+/* ** */
+
+ATF_TC(Vector_test_3);
+ATF_TC_HEAD(Vector_test_3, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Vector bounds check");
+}
+ATF_TC_BODY(Vector_test_3, tc)
+{
+       Vector v;
+       int i, *n;
+
+       vector_init(&v, sizeof(int), 128);
+       for (i = 0; i < 16; i++) {
+               n = (int *) vector_append(&v);
+               ATF_REQUIRE(n != NULL);
+               (*n) = i;
+               //printf("%d: %p; used %d\n", i, n, v.used_count);
+       }
+       //printf("check\n");
+       for (i = 0; i < 32; i++) {
+               n = (int *) vector_get(&v, i);
+               if (i < 16) {
+                       //printf("%d: %p; used %d\n", i, n, v.used_count);
+                       ATF_REQUIRE((*n) == i);
+               } else {
+                       //printf("%d: %p; used %d\n", i, n, v.used_count);
+                       ATF_REQUIRE(n == NULL);
+               }
+       }
+       vector_done(&v);
+}
+
+
+ATF_TP_ADD_TCS(tp)
+{
+        ATF_TP_ADD_TC(tp, Vector_test_1);
+        ATF_TP_ADD_TC(tp, Vector_test_2);
+        ATF_TP_ADD_TC(tp, Vector_test_3);
+}
=======================================
--- /branches/LUSCA_HEAD/test-suite/atf/Atffile Thu May 13 02:29:57 2010
+++ /branches/LUSCA_HEAD/test-suite/atf/Atffile Sun May 16 03:22:00 2010
@@ -3,3 +3,4 @@
 prop: test-suite = lusca

 tp: libhttp
+tp: lib_Vector
=======================================
--- /branches/LUSCA_HEAD/test-suite/atf/Makefile        Thu May 13 02:29:57 2010
+++ /branches/LUSCA_HEAD/test-suite/atf/Makefile        Sun May 16 03:22:00 2010
@@ -46,12 +46,16 @@
 LDFLAGS=$(LDADD) -L$(ATF_LIBDIR)
 CFLAGS=-O -g -I$(BASEDIR) -I$(ATF_INCLUDEDIR)

-all: libhttp
+all: libhttp lib_Vector

 libhttp: libhttp.o core.o
        $(CC) core.o libhttp.o -o libhttp $(LDFLAGS)

-check: libhttp
+lib_Vector: lib_Vector.o core.o
+       $(CC) core.o lib_Vector.o -o lib_Vector $(LDFLAGS)
+
+
+check: libhttp lib_Vector
        @env PATH=$$PATH:$(ATF_BINDIR) $(ATF_BINDIR)/atf-run

 clean:

--
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