summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2019-09-20 17:07:41 -0400
committerFrans Kaashoek <[email protected]>2019-09-20 17:08:13 -0400
commitee67dbd211512f279a9032eec31a81043dbf3ff2 (patch)
tree98c02aa27f8031ad284b566e8cff315096cf1710
parent7c7ed208221dbd115c7cc88faa0e42150cfa14a2 (diff)
downloadxv6-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.c32
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"},