Index: test/mm/slab1/test.c
===================================================================
--- test/mm/slab1/test.c	(revision a294ad07c4e1a72ddd9bcff5b35ee94dc3ec6e28)
+++ test/mm/slab1/test.c	(revision bc504ef2f35f18a589fe5c41042fd4a533bfe7cb)
@@ -44,5 +44,4 @@
 	printf("Creating cache.\n");
 	cache = slab_cache_create("test_cache", VAL_SIZE, 0, NULL, NULL, SLAB_CACHE_NOMAGAZINE);
-	slab_print_list();
 	printf("Destroying cache.\n");
 	slab_cache_destroy(cache);
@@ -62,3 +61,31 @@
 	}
 	printf("done.\n");
+
+	printf("Allocating %d items...", VAL_COUNT);
+	for (i=0; i < VAL_COUNT; i++) {
+		data[i] = slab_alloc(cache, 0);
+	}
+	printf("done.\n");
+
+	slab_print_list();
+	printf("Freeing %d items...", VAL_COUNT/2);
+	for (i=VAL_COUNT-1; i >= VAL_COUNT/2; i--) {
+		slab_free(cache, data[i]);
+	}
+	printf("done.\n");	
+
+	printf("Allocating %d items...", VAL_COUNT/2);
+	for (i=VAL_COUNT/2; i < VAL_COUNT; i++) {
+		data[i] = slab_alloc(cache, 0);
+	}
+	printf("done.\n");
+	printf("Freeing %d items...", VAL_COUNT);
+	for (i=0; i < VAL_COUNT; i++) {
+		slab_free(cache, data[i]);
+	}
+	printf("done.\n");	
+	slab_print_list();
+	slab_cache_destroy(cache);
+
+	printf("Test complete.\n");
 }
