diff options
Diffstat (limited to 'user')
| -rw-r--r-- | user/usertests.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/user/usertests.c b/user/usertests.c index beca8f9..0aafe73 100644 --- a/user/usertests.c +++ b/user/usertests.c @@ -1438,6 +1438,13 @@ sbrktest(void)    printf(stdout, "sbrk test\n");    oldbrk = sbrk(0); +  // does sbrk() return the expected failure value? +  a = sbrk(1024*1024*1024); +  if(a != (char*)0xffffffffffffffffL){ +    printf(stdout, "sbrk(<toomuch>) returned %p\n", a); +    exit(); +  } +    // can one sbrk() less than a page?    a = sbrk(0);    for(i = 0; i < 5000; i++){ @@ -1478,7 +1485,7 @@ sbrktest(void)    // can one de-allocate?    a = sbrk(0);    c = sbrk(-4096); -  if(c == (char*)0xffffffff){ +  if(c == (char*)0xffffffffffffffffL){      printf(stdout, "sbrk could not deallocate\n");      exit();    } @@ -1551,7 +1558,7 @@ sbrktest(void)      kill(pids[i]);      wait();    } -  if(c == (char*)0xffffffff){ +  if(c == (char*)0xffffffffffffffffL){      printf(stdout, "failed sbrk leaked memory\n");      exit();    } | 
