166 Commits

Author SHA1 Message Date
Scott Haseley
f46f7395a1 New ASST3.3 tests (swapping) 2016-04-27 18:48:21 -04:00
Scott Haseley
153c0267b6 Changes to userland progress to tweak progress output for test161. We needed
more periodic progress in some cases due to the large slow down that happens
when swapping is implemented (ASST3.3).
2016-04-27 18:46:44 -04:00
Scott Haseley
4e93e0b105 Forkbomb changes. First, use a local success string and make sure to access it early so a page
gets allocated. Second, change the timeout for the vm stability test to 20s. It looks like some
students are right up on this boundary.
2016-04-22 14:54:10 -04:00
Scott Haseley
4bfe7afef3 Increased the progress timeout to 15s for quinthuge and sbrktest. If your VM takes a long time
to clean up when processes exit, the default 10s timeout might be too short.
2016-04-18 15:20:17 -04:00
Scott Haseley
4472cbaed0 Bumped up memory configuration for quint tests 2016-04-15 16:24:03 -04:00
Scott Haseley
e21c37b14f Added a secprintf message to the beginning of forkbomb so it causes page faults
and allocates pages that we'll need later to print success.
2016-04-15 14:13:48 -04:00
Scott Haseley
105fbc5ddd Add stacktest to testbin Makefile 2016-04-15 12:09:21 -04:00
Scott Haseley
0207e6b066 More tests for ASST3.2
Added 2 new sbrktests, one to test a huge sbrk with only touch a few pages (shouldn't crash),
and another to make sure pages are getting freed when the breakpoint moves down. Also, added
a stacktest that checks that 4M stacks are supported and pages are allocated on-demand.
2016-04-14 17:47:54 -04:00
Scott Haseley
6d0d7c9230 Fixed unused label in change to kmalloctest 2016-04-11 17:02:51 -04:00
Scott Haseley
ec1c1de132 km1 and km2 need to panic on failure, not print just print failed. 2016-04-08 16:04:11 -04:00
Scott Haseley
dc1a1949a6 Fix ctest compile issue 2016-04-08 15:55:48 -04:00
Scott Haseley
26b75349bd Add memory leak deductions to asst3.2 2016-04-08 15:49:20 -04:00
Scott Haseley
388e6388a9 Added thread_wait_for_count() which allows the menu to wait for all (new) threads to
exit before continuing. We need this for khu testing because we have to make sure
cleanup is done before getting the used byte count.
2016-04-07 14:35:09 -04:00
Scott Haseley
854931ea44 ASST3 test cleanup; added forkbomb 2016-04-07 14:10:47 -04:00
Scott Haseley
a56bf008ba Change forkbomb to print progress 2016-04-07 13:17:23 -04:00
Scott Haseley
1600e40d22 Initial tests and target for ASST3, checkpoint 2. 2016-04-07 10:16:33 -04:00
Scott Haseley
5821a085bf Removed disk configuration, test161 now has a larger default disk. Also, added not-dumbvm tag
to not-dumbvm.t.
2016-04-07 10:14:58 -04:00
Scott Haseley
fedf80f599 Userland changes for test161/assignment 3. 2016-04-06 13:53:21 -04:00
Scott Haseley
194f76ef70 The "huge positive" number being tested wasn't big enough. Now using a number that would
cause the heap to bleed into the stack.
2016-04-06 13:33:28 -04:00
Scott Haseley
b488b7dcea Added a test.h file for userland.
Currently, this file has tsay() and nsay(), which are atomic vararg print operations
that are loud or quiet (respectively) during automated testing. These are used
throughout userland when output might get intermingled.
2016-04-06 13:29:48 -04:00
Scott Haseley
16bfdcf406 Added new line before printing secured messages. For quint/triple tests, the secured message
might print on a progress line, which makes test161 fail.
2016-04-06 13:27:51 -04:00
Scott Haseley
e0fc622e00 Added progress functions that print '.'. There are versions that are always loud or
only loud during automated testing.
2016-04-06 13:26:05 -04:00
Scott Haseley
76672bd17b whitespace 2016-03-30 17:16:24 -04:00
Scott Haseley
177821c2f3 Put asst3 back on the leaderboard 2016-03-30 17:12:12 -04:00
Scott Haseley
2873c513d4 Assignment 3 target will now be cumulative instead of split into subparts 2016-03-30 17:11:41 -04:00
Scott Haseley
eede850f54 The km4 thread was checking the correct magic value, but printing the one on the first page.
The test result is correct, but might look like it is failing when it shouldn't.
2016-03-30 16:09:24 -04:00
Scott Haseley
78265c6da4 Set leaderboard to false for ASST3 coremap target. We'll work on aggregating multi-part targets, but for now, don't show subparts.
Also, explicitly set userland to false.
2016-03-30 14:58:59 -04:00
Scott Haseley
7f3f686b1a Updated km4 to write to, and check, each page allocated in the multi-page allocation.
This should find cases where students ignore npages and just allocate one page, which
would previously work.
2016-03-28 15:43:39 -04:00
Geoffrey Challen
afcb45766e Small changes to targets. 2016-03-25 15:33:29 -04:00
Scott Haseley
b4bcf45932 Initial tests, commands, and target for asst3.1 2016-03-25 11:13:31 -04:00
Scott Haseley
8380115efa Added new kmalloc test (km5) that tests various coremap properties. Also, km1-km4 were
cleaned up for test161.
2016-03-25 11:12:09 -04:00
Scott Haseley
501773f90e Added a global variable for the number of cpus 2016-03-25 11:11:08 -04:00
Scott Haseley
25a1d7debc Changed kheap_getused so that it doesn't double-count the pages it's using for
subpage allocation. We run into problems in determining memory leaks due to
kmalloc framgmentation, which can happen because of delayed thread cleanup.
2016-03-25 11:09:15 -04:00
Scott Haseley
922370ebd4 Changed forkbomb to only print one success message 2016-03-11 14:56:01 -05:00
Guru Prasad Srinivasa
bfa901ed0b Updated forkbomb so only the parent prints success messages 2016-03-10 19:00:31 -05:00
Guru Prasad Srinivasa
7a63861e81 Updated forkbomb monitor kernel cycles min value 2016-03-10 18:45:35 -05:00
Guru Prasad Srinivasa
03f484ff21 Merge branch 'master' of gitlab.ops-class.org:staff/os161 2016-03-10 17:30:37 -05:00
Guru Prasad Srinivasa
c9c9e50155 Updated forkbomb to better detect success
Previously, we were relying on subpage allocator failing to signal
that forkbomb was succeeding. However, there are cases where the
subpage allocator never fails but the test is still progressing fine.

This commit moves the secure print into forkbomb itself and changes
the test constraints to ensure that forkbomb runs for a certain amount
of time without crashing
2016-03-10 17:28:47 -05:00
Geoffrey Challen
d322a01342 Adding function to get used bytes. 2016-03-10 11:29:38 -05:00
Geoffrey Challen
2188853039 Add leak detection to ASST1 tests. 2016-03-10 09:07:44 -05:00
Guru Prasad Srinivasa
071595b8fb Fixed badcall execv testing logic 2016-03-09 17:46:49 -05:00
Guru Prasad Srinivasa
44d53d9306 Fixed a bug in bad_waitpid.c
The comments for this particular test suggest that the parent should
attempt waiting on itself. However, the code makes the parent wait
on its child. Fixed.
2016-03-09 12:45:04 -05:00
Guru Prasad Srinivasa
eb7ad5609d Make forktest fail if waitpid() fails
Previously, forktest would only warn if the calls to waitpid()
returned errors. Now, forktest terminates on the first error.
2016-03-08 18:53:33 -05:00
Geoffrey Challen
aa4c87a2fa New ASST2 single submitter target and hard linking fix. 2016-03-08 15:44:02 -05:00
Scott Haseley
196bb3b684 Now using static buffers (and protecting with a semaphore) for kernel secprintf.
We have to do this because we need secure output in kmalloc.
2016-03-07 15:05:58 -05:00
Guru Prasad Srinivasa
2cb47cb4c8 Removed all instances of crash_prog()
crash_prog was introduced to force-crash a userspace program
since _exit may not yet be implemented. However, the new versions
of OS161 already have the exact same logic as crash_prog in stdlib/exit.
2016-03-07 10:55:20 -05:00
Geoffrey Challen
a07a4b75c1 Change free to used in new coremap function. 2016-03-05 11:00:48 -05:00
Geoffrey Challen
a367007689 Add function to track free bytes in the coremap. 2016-03-05 09:55:44 -05:00
Geoffrey Challen
a7526befe4 New comments about thread allocation and deallocation. 2016-03-05 09:35:55 -05:00
Geoffrey Challen
e19a872c2b Static thread names. 2016-03-05 08:46:00 -05:00