Test cases
Download the java codes here and include in nachos/ag/ directory.
- ThreadGrader1: Condition2
- Test ThreadGrader1.a: Tests your condition variables using a few threads
- Test ThreadGrader1.b: Tests your condition variables using many threads
- ThreadGrader2: Communicator
- Test ThreadGrader2.a: Tests your communicator
- Test ThreadGrader2.b: Tests your communicator, with more speakers/listeners
- Test ThreadGrader2.c: Tests your communicator, with more speakers/listneers, and transmits more messages
- ThreadGrader3: Join
- Test ThreadGrader3.a: Tries a join on thread x before x actually runs
- Test ThreadGrader3.b: Tries a join on thread x after x has completed
- ThreadGrader4: WaitUntil
- Test ThreadGrader4.a: Tests waitUntil to ensure it waits at least minimum amount of time
- Test ThreadGrader4.b: Tests whether waitUntil actually wakes up at correct time
- ThreadGrader5: Priority Scheduling
- Test ThreadGrader5.a: Tests priority scheduler without donation
- Test ThreadGrader5.c: Tests priority scheduler without donation, altering priorities of threads after they've started running
- ThreadGrader6a: More Priority Scheduling
- Test ThreadGrader6a.a: Tests priority donation
- Test ThreadGrader6a.b: Tests priority donation with more locks and more complicated resource allocation
- BoatGrader: Boat Simulation
- Tests BoatGrader2.a-BoatGrader2.f: Test boat simulation with various numbers of threads.
- Test stresstest: Tests boat simulation with a ton of threads.