[uClibc-cvs] svn commit: trunk/uClibc/test/malloc

vapier at uclibc.org vapier at uclibc.org
Sat Jul 2 15:35:02 UTC 2005


Author: vapier
Date: 2005-07-02 09:35:02 -0600 (Sat, 02 Jul 2005)
New Revision: 10698

Log:
exit according to how many tests failed

Modified:
   trunk/uClibc/test/malloc/malloc.c


Changeset:
Modified: trunk/uClibc/test/malloc/malloc.c
===================================================================
--- trunk/uClibc/test/malloc/malloc.c	2005-07-02 15:17:16 UTC (rev 10697)
+++ trunk/uClibc/test/malloc/malloc.c	2005-07-02 15:35:02 UTC (rev 10698)
@@ -11,61 +11,71 @@
 #define random_size()	(random()%MAX_SIZE)
 #define random_ptr()	(random()%N_PTRS)
 
-void test1(void);
-void test2(void);
+int test1(void);
+int test2(void);
 
-int main(int argc,char *argv[])
+int main(int argc, char *argv[])
 {
-	test1();
-	test2();
-	return 0;
+	return test1() + test2();
 }
 
-void test1(void)
+int test1(void)
 {
 	void **ptrs;
 	int i,j;
 	int size;
+	int ret = 0;
 
 	srandom(0x19730929);
 
 	ptrs = malloc(N_PTRS*sizeof(void *));
 
-	for(i=0;i<N_PTRS;i++){
-		ptrs[i]=malloc(random_size());
+	for(i=0; i<N_PTRS; i++){
+		if ((ptrs[i] = malloc(random_size())) == NULL) {
+			printf("malloc random failed! %i\n", i);
+			++ret;
+		}
 	}
-	for(i=0;i<N_ALLOCS;i++){
-		j=random_ptr();
+	for(i=0; i<N_ALLOCS; i++){
+		j = random_ptr();
 		free(ptrs[j]);
 
-		size=random_size();
-		ptrs[j]=malloc(size);
-		if(!ptrs[j]){
-			printf("malloc failed! %d\n",i);
+		size = random_size();
+		ptrs[j] = malloc(size);
+		if (!ptrs[j]) {
+			printf("malloc failed! %d\n", i);
+			++ret;
 		}
 		memset(ptrs[j],0,size);
 	}
-	for(i=0;i<N_PTRS;i++){
+	for(i=0; i<N_PTRS; i++){
 		free(ptrs[i]);
 	}
+
+	return ret;
 }
 
-void test2(void)
+int test2(void)
 {
 	void *ptr = NULL;
+	int ret = 0;
 
 	ptr = realloc(ptr,100);
-	if(!ptr){
+	if (!ptr) {
 		printf("couldn't realloc() a NULL pointer\n");
-	}else{
+		++ret;
+	} else {
 		free(ptr);
 	}
 	
 	ptr = malloc(100);
 	ptr = realloc(ptr, 0);
-	if(ptr){
+	if (ptr) {
 		printf("realloc(,0) failed\n");
+		++ret;
 		free(ptr);
 	}
+
+	return ret;
 }
 




More information about the uClibc-cvs mailing list