Skip to main content.

Project 1 Test Cases

These are just short descriptions of the test cases that are run by the autograder, so that you can somewhat interpret the autograder's results.

  1. ThreadGrader1: Condition2
    1. Test ThreadGrader1.a: Tests your condition variables using a few threads
    2. Test ThreadGrader1.b: Tests your condition variables using many threads
  2. ThreadGrader2: Communicator
    1. Test ThreadGrader2.a: Tests your communicator
    2. Test ThreadGrader2.b: Tests your communicator, with more speakers/listeners
    3. Test ThreadGrader2.c: Tests your communicator, with more speakers/listneers, and transmits more messages
  3. ThreadGrader3: Join
    1. Test ThreadGrader3.a: Tries a join on thread x before x actually runs
    2. Test ThreadGrader3.b: Tries a join on thread x after x has completed
  4. ThreadGrader4: WaitUntil
    1. Test ThreadGrader4.a: Tests waitUntil to ensure it waits at least minimum amount of time
    2. Test ThreadGrader4.b: Tests whether waitUntil actually wakes up at correct time
  5. ThreadGrader5: Priority Scheduling
    1. Test ThreadGrader5.a: Tests priority scheduler without donation
    2. Test ThreadGrader5.c: Tests priority scheduler without donation, altering priorities of threads after they've started running
  6. ThreadGrader6a: More Priority Scheduling
    1. Test ThreadGrader6a.a: Tests priority donation
    2. Test ThreadGrader6a.b: Tests priority donation with more locks and more complicated resource allocation
  7. BoatGrader: You have this!