Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : cosmetics, tab forgotten
[simgrid.git] / src / xbt / mmalloc / test / mmalloc_test.c
1 #include "../mmalloc.h"
2 #include <stdio.h>
3 #include <assert.h>
4 #include <fcntl.h>
5 #include <sys/stat.h>
6 #include <stdlib.h>
7 #include <string.h>
8 #include <unistd.h>
9
10
11 #define BUFFSIZE 204800
12 #define TESTSIZE 100
13
14 int main()
15 {
16   void *A, *B;
17   int fd1, fd2;
18   void *heapA, *heapB;
19   void *pointers[TESTSIZE];
20 /*
21   unlink("heap1");
22   fd1=open("heap1",O_CREAT|O_RDWR,S_IRWXU|S_IRWXG|S_IRWXO);
23   assert(fd1>0);
24     close(fd1);
25     fd1=open("heap1",O_RDWR);
26     assert(fd1>0);
27   */
28
29   heapA = xbt_mheap_new(-1, sbrk(0) + BUFFSIZE);
30   if (heapA == NULL) {
31     perror("attach 1 failed");
32     fprintf(stderr, "bye\n");
33     exit(1);
34   }
35
36   fprintf(stderr, "HeapA=%p\n", heapA);
37
38   int i, size;
39   for (i = 0; i < TESTSIZE; i++) {
40     size = rand() % 1000;
41     pointers[i] = mmalloc(heapA, size);
42     fprintf(stderr, "%d bytes allocated at %p\n", size, pointers[i]);
43   }
44   char c;
45   scanf("%c", &c);
46
47   for (i = 0; i < TESTSIZE; i++) {
48     mfree(heapA, pointers[i]);
49   }
50
51   fprintf(stderr, "Ok bye bye\n");
52   return 0;
53 }