diff options
author | Frans Kaashoek <[email protected]> | 2019-09-20 17:07:41 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2019-09-20 17:08:13 -0400 |
commit | ee67dbd211512f279a9032eec31a81043dbf3ff2 (patch) | |
tree | 98c02aa27f8031ad284b566e8cff315096cf1710 | |
parent | 7c7ed208221dbd115c7cc88faa0e42150cfa14a2 (diff) | |
download | xv6-labs-ee67dbd211512f279a9032eec31a81043dbf3ff2.tar.gz xv6-labs-ee67dbd211512f279a9032eec31a81043dbf3ff2.tar.bz2 xv6-labs-ee67dbd211512f279a9032eec31a81043dbf3ff2.zip |
Not much: factor sbrksimple from big sbrktest
-rw-r--r-- | user/usertests.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/user/usertests.c b/user/usertests.c index daf907b..d94a356 100644 --- a/user/usertests.c +++ b/user/usertests.c @@ -1558,16 +1558,11 @@ forktest(char *s) } void -sbrktest(char *s) +sbrkbasic(char *s) { - enum { BIG=100*1024*1024, TOOMUCH=1024*1024*1024}; - int i, fds[2], pids[10], pid, ppid; - char *c, *oldbrk, scratch, *a, *b, *lastaddr, *p; - uint64 amt; - int fd; - int n; - - oldbrk = sbrk(0); + enum { TOOMUCH=1024*1024*1024}; + int i, pid, xstatus; + char *c, *a, *b; // does sbrk() return the expected failure value? a = sbrk(TOOMUCH); @@ -1600,7 +1595,21 @@ sbrktest(char *s) } if(pid == 0) exit(0); - wait(0); + wait(&xstatus); + exit(xstatus); +} + +void +sbrkmuch(char *s) +{ + enum { BIG=100*1024*1024, TOOMUCH=1024*1024*1024}; + int i, fds[2], pids[10], pid, ppid; + char *c, *oldbrk, scratch, *a, *lastaddr, *p; + uint64 amt; + int fd; + int n; + + oldbrk = sbrk(0); // can one grow address space to something big? a = sbrk(0); @@ -2076,7 +2085,8 @@ main(int argc, char *argv[]) {bigargtest, "bigargtest"}, {bigwrite, "bigwrite"}, {bsstest, "bsstest"}, - {sbrktest, "sbrktest"}, + {sbrkbasic, "sbrkbasic"}, + {sbrkmuch, "sbrkmuch"}, {validatetest, "validatetest"}, {stacktest, "stacktest"}, {opentest, "opentest"}, |