Index: /trunk/Nebulous/nebclient/tests/tests.c
===================================================================
--- /trunk/Nebulous/nebclient/tests/tests.c	(revision 4669)
+++ /trunk/Nebulous/nebclient/tests/tests.c	(revision 4670)
@@ -7,4 +7,5 @@
 #define TESTS(num_tests) \
     int test_num = 0; \
+    int test_failure = 0; \
     printf("1..%d\n", num_tests);
 
@@ -14,7 +15,11 @@
         printf("ok %d - %s\n", test_num, name); \
     } else { \
+        test_failure++; \
         printf("not ok %d - %s\n", test_num, name); \
         printf("# %s\n", nebErr(server)); \
     }
+
+#define TEST_EXIT \
+    exit(test_failure);
 
 int main (int argc, char **argv) {
@@ -41,8 +46,28 @@
         OK(fh > -1, "create object");
         OK(URI, "URI not NULL");
+
+        close(fh);
     }
 
-    OK(nebOpen(server, key, NEB_READ), "open object for reading");
-    OK(nebOpen(server, key, NEB_WRITE), "open object for writing");
+    {
+        int         fh;
+
+        fh = nebOpen(server, key, NEB_READ);
+
+        OK(fh, "open object for reading");
+
+        close(fh);
+    }
+
+    {
+        int         fh;
+
+        fh = nebOpen(server, key, NEB_WRITE);
+
+        OK(fh, "open object for writing");
+
+        close(fh);
+    }
+
 
     OK(nebReplicate(server, key, NULL, NULL), "replicate object");
@@ -67,4 +92,6 @@
         OK(locations, "locations not NULL");
         OK(locations->n == 1, "find instances");
+
+        nebObjectInstancesFree(locations);
     }
 
@@ -72,7 +99,9 @@
         char        *filename = NULL;
        
-       filename = nebFind(server, key);
+        filename = nebFind(server, key);
 
-       OK(filename, "find file name");
+        OK(filename, "find file name");
+
+        nebFree(filename);
     }
 
@@ -90,4 +119,4 @@
     nebServerFree(server);
 
-    exit(EXIT_SUCCESS);
+    TEST_EXIT;
 }
