4 Points are taken off for tests that failed. Only failing tests are
7 Problem 1-1: Alarm Clock
8 -3 alarm-single: Multiple threads each sleep once (public)
9 -3 alarm-multiple: Multiple threads each sleep many times (public)
10 -1 alarm-zero: Zero wait time must not crash or hang
11 -1 alarm-negative: Negative wait time must not crash or hang
15 -2 join-simple: A creates B, A joins B (public)
16 -2 join-quick: A creates B, A joins B, with different details (public)
17 -2 join-multiple: A creates B and C, A joins B, A joins C (public)
18 -2 join-nested: A creates B, B creates C, ..., B joins C, A joins B
19 -2 join-dummy: A creates B, A joins B, A joins B
20 -2 join-invalid: Joining an invalid tid must not crash or hang
21 -2 join-no: Creating a thread and never joining it must not crash or hang
24 Problem 1-3: Priority Scheduler
25 -2 priority-preempt: Higher-priority thread preempts others (public)
26 -2 priority-fifo: Threads of equal priority run round-robin (public)
27 -2 priority-donate-one: Priority donation with single lock (public)
28 -2 priority-donate-multiple: Priority donation with multiple locks
29 -2 priority-donate-nest: Nested priority donation with single lock
32 Problem 1-4: Advanced Scheduler
35 -2 Public testcase doesn't run faster with MLFQS
36 -2 Group's own testcase doesn't run faster with MLFQS
37 -4 Priorities don't change properly