Instructor: Ding Yuan
Course Number: ECE344

Home
Discussion (Piazza)
Lab Documentation
Lab Assignments
Schedule and Lecture Notes
Grades (Quercus)

Operating Systems

ECE344, Winter 2020
University of Toronto


The OS161 AutoTester

We have provided you a program called os161-tester that allows you to test your code with various test cases. It also simulates the way we will be marking your code automatically. Please use this program before submitting your code so that you can catch obvious svn checkout errors, compilation errors, etc. Please note that while we run the exact same tests to mark your assignments, your actual mark may not be the same as the mark you received earlier when running the tester by yourself (e.g., due to race condition). You are encouraged to write additional test cases to reassure yourself that your solution works correctly in all corner case situations. We will not accept remark requests if the tester exposes bugs in your code that it did not catch previously. We only accept remark requests when there is a bug in the tester itself.

Testing Your Code

Please use the following commands after you have built your kernel:

  % cd ~/ece344/build
  % os161-tester assignment_nr [test]

You will need to run the tester from the OS161 build directory. You must specify the assignment number to run the tests. If you optionally specify the name of a test then only that test will be run. Otherwise, all tests available for the assignment will be run. For each test, you will see one or more PASS or FAIL results. You can see more verbose output from the tester by specifying the -v or the -V options to the tester. Please use os161-tester -h for more details.

The output of the tester will be stored in two files in the build directory:

os161.log: Shows the output of your kernel when running the os161 tester.
os161-mark.txt: Summarizes the marks for the various tests.

Simulating the Marker

You can simulate the marker with the following commands:

  % cd ~/ece344
  # make a brand new directory
  % mkdir marker
  % cd marker
  % os161-tester -m assignment_nr

The -m option will simulate the marker functionality. It will checkout your code from Git using the assignment's end tag (e.g., asst1-end), build the code, and then run the testing functionality on this code.

The output of the marker will be stored in four files in the ~/ece344/marker directory. The last two files are copies of the outputs of the tester.

marker-<group-nr>.log: Shows the output of git checkout, and configuring and building the os161 code.
tester-<group-nr>.log: Shows the output of running the os161 tester functionality.
os161-<group-nr>.log: Shows the output of your kernel when running the os161 tester.
mark-<group-nr>.txt: Summarizes the marks for the various tests.

You are strongly suggested to simulate the marker to ensure that your assignment has been successfully submitted.