Commit graph

51 commits

Author SHA1 Message Date
Robert Morris 3b3f83f100 check that there's no panic if user process tries to write >= MAXVA 2021-08-06 11:06:24 -04:00
Robert Morris 08c9eda85f sync usertests 2021-07-02 14:24:45 -04:00
Robert Morris 1841baa3dd keep usertests.c in sync with riscv-sol-2020 2021-07-02 09:57:14 -04:00
Frans Kaashoek 60b63b9d07 x 2020-11-05 19:50:46 -05:00
Frans Kaashoek ef97f65025 kill/status test 2020-11-05 19:50:46 -05:00
Robert Morris aeaf610c67 avoid deadlock by disk intr acking interrupt first, then processing ring 2020-10-05 19:30:27 -04:00
Robert Morris 3c70be9070 often causes deadlock after a few minutes 2020-10-05 19:30:27 -04:00
Frans Kaashoek 8ffdfad990 Add s to many printf statements that expect it (thanks Cece Chu)
Add dirtest to the list of tests
2020-10-03 16:36:20 -04:00
Frans Kaashoek 6750608824 When either_copyin/out fails, return an error from write/read
Add a test to check that read/write return an error
2020-10-03 16:36:20 -04:00
Frans Kaashoek de434fd933 Remove obselete ifdef that shouldn't have been there ever 2020-08-28 09:00:41 -04:00
Robert Morris 0b4e78f3a9 fix usertests to pass all the riscv-sol-fall20 solutions. 2020-08-28 09:00:41 -04:00
Robert Morris 2a4a8764a5 touch sbrk()-allocated memory to make sure it exists 2020-08-21 11:00:45 -04:00
Robert Morris 5860dcd07d usertest for exec() out of memory recovery
and fix a few exec() bugs
2020-08-21 11:00:45 -04:00
Robert Morris 8dc71a257d handle another out-of-memory in fork(). the policy here is not consistent,
since other calls (e.g. exec()) panic on out of memory.
2020-08-17 08:18:23 -04:00
Robert Morris d8fe1773b2 test string system call arguments that cross over the end of the last page. 2020-08-10 11:19:10 -04:00
Robert Morris 76d6c57ede test copyinstr()'s handling of the terminating null 2020-08-10 11:19:10 -04:00
Robert Morris e3b7058907 streamline copyin/copyout code in usertests
fix bugs in read/write return values when there's an error
2020-08-10 11:19:10 -04:00
Robert Morris a93321cb25 test pointer checking in copyin, copyout, copyinstr 2020-08-10 11:19:10 -04:00
Robert Morris 7f35d7a14e modify each page in usertests countfree()
get rid of static for walk() and freewalk()
2020-08-10 11:19:10 -04:00
Robert Morris af9eb9114c make "echo hello > x" truncate file x. 2020-08-10 11:19:10 -04:00
Robert Morris 16b3b63f06 grind: run parallel system calls forever 2019-11-06 11:18:43 -05:00
Robert Morris 9de9211b11 usertests -c to repeat tests forever
detect memory leaks
no more "already ran user tests"
2019-10-28 05:58:28 -04:00
Robert Morris d9160fb4b9 nits 2019-10-27 08:03:19 -04:00
Robert Morris d175beadf5 bug fix: reparent() sometimes deadlocked
bug fix: exit() sometimes released a different parent lock than it acquired
usertests
2019-09-23 06:50:25 -04:00
Frans Kaashoek 843ce77765 Stress copyin for the full allocated page (good for lazy lab). 2019-09-21 17:28:18 -04:00
Robert Morris d940fd122d don't leak memory if exec() arguments are invalid. 2019-09-21 04:54:25 -04:00
Frans Kaashoek 6b79ee69b7 Refactor big sbrk test in smaller, easier-to-understand tests 2019-09-21 02:07:24 -04:00
Frans Kaashoek ee67dbd211 Not much: factor sbrksimple from big sbrktest 2019-09-20 17:08:13 -04:00
Robert Morris 7c7ed20822 don't leak a file system block if the buf argument to write is invalid
and a usertest
2019-09-20 13:09:26 -04:00
Robert Morris e1a37303c8 yet another sbrk() bug fix, and usertest 2019-09-20 12:13:57 -04:00
Robert Morris 4de161f973 don't panic if a program frees all its memory with sbrk().
if a program sbrk()'s to a non-page-boundary, don't free that page.
corresponding usertests.
2019-09-20 11:35:27 -04:00
Robert Morris ca30cac702 more incorrect cast to uint 2019-09-20 10:27:03 -04:00
Robert Morris 402e7b5605 fix a potential kernel crash
add a regression test for it
2019-09-20 09:41:03 -04:00
Frans Kaashoek ba1c42849a print name at start of test 2019-09-19 15:39:05 -04:00
Frans Kaashoek 25e6803e17 a comment 2019-09-19 15:22:45 -04:00
Frans Kaashoek 3f6e372a29 make exec test self contained 2019-09-19 15:14:52 -04:00
Frans Kaashoek f6a37c17f2 Standarize the way tests are run and report errors
Support running one test, by specifying the name as a command argument to usertests
2019-09-19 06:58:28 -04:00
Robert Morris 35010f0d0f error exit status is 1 2019-09-11 10:04:40 -04:00
Frans Kaashoek 7e6c37e67e Support exit status for exit/wait
One test case for returning a exit status
Passes usertests, but haven't used it to simplify tests
2019-09-10 12:30:10 -04:00
Robert Morris 64b93d175a user printf(1 -> printf( 2019-08-27 13:13:03 -04:00
Frans Kaashoek c612d452fd validateint doesn't test something interesting on RISC-V; delete it. 2019-08-20 13:04:12 -04:00
Frans Kaashoek b564fca246 Rationalize some constants in usertests 2019-08-20 12:58:00 -04:00
Robert Morris 4e62de64cd fix an exit/exit deadlock -> one more locking protocol violation
increase timer rate from 1/second to 10/second
2019-07-25 06:30:49 -04:00
Frans Kaashoek 0387e2156f Add a few sbrktest for lazy allocatioin lab 2019-07-24 08:37:43 -04:00
Robert Morris 54178ad94d simplify kernel mapping calls 2019-07-23 12:17:17 -04:00
Frans Kaashoek 62091abae9 Test whether writing below stack fails 2019-07-22 18:08:52 -04:00
Robert Morris 7797a38423 another test, to help with locking exercises 2019-07-11 05:41:59 -04:00
Robert Morris 75b0c6fc91 back-port fork/exit/exit tests to xv6-riscv 2019-07-05 12:33:26 -04:00
Robert Morris f59c1bf1d8 try to continue from walk() failing to allocate a page-table page 2019-07-02 11:45:06 -04:00
Robert Morris 18e76a6c47 sbrk() returns a pointer, so it should be 64 bits 2019-07-01 17:01:50 -04:00