summaryrefslogtreecommitdiff
path: root/user/usertests.c
diff options
context:
space:
mode:
Diffstat (limited to 'user/usertests.c')
-rw-r--r--user/usertests.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/user/usertests.c b/user/usertests.c
index beca8f9..ef70bfb 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++){
@@ -1466,7 +1473,7 @@ sbrktest(void)
// can one grow address space to something big?
a = sbrk(0);
- amt = (BIG) - (uint64)a;
+ amt = BIG - (uint64)a;
p = sbrk(amt);
if (p != a) {
printf(stdout, "sbrk test failed to grow big address space; enough phys mem?\n");
@@ -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();
}