Checklist for A3 Submissions

These instructions may change and get updated so check back and use the refresh button in your browser.
Some portions of the testing infrastructure that we make available to you and has been used successfully in the past seems to be failing and we will continue to work on it.

These are steps that are designed to help you successfully submit your assignment and to help you to see whether your code can be compiled and run successfully in the environment that we wil be using when we evaluate your assignment.

Many people/groups accidentally submit:

We hope that if you follow these steps will help (BUT NOT ENSURE) that you have a complete and proper submission.
You will not have an opportunity to resubmit after the deadline/slip days have passed or after the TAs find problems with the submission.

Only one member of the group should submit. You can submit as often as you like but be careful because ensuring that your submission compiles and runs properly can take some time (so leave a few hours). If different members of the same group submit, the last submission will be used.


Check List


___  Double check the instructions for the assignment about what to submit!

___  Create and CHECK design3.pdf and place it in the 
     directory where the cs350_submit command will be run.

___  Check in (commit) all changes that have been made that 
     need to be included in the submission (by all group members).

___  Checkout or update all changes that are to be 
     included in the submission (to get all changes from all 
     group members)

___  Submit the assignment (!! this step must be done before moving to the next steps !!).
     Do NOT remove the file os161kern.tgz (this will be needed for the later steps).

___  Remove all of the files in $HOME/350tmp and the directory.
     

___  Ensure that the assignment builds correctly. 
     This step must be done by the same person (login id) 
     as the person who submitted.
     Note how to do this may need to change at some point
     You can either use link on the assignments web page for a test compile or
     use the script Test Submission Script  ~cs350/bin/cs350_test_submit_a3.
     
     NOTE: this Test submission script actually performs the test 
     compile and the tests runs in the next step.
     See the notes below about the Test Submission Script.

    
___  Ensure that the assignment runs as you expect it to. 
     This step must be done by the same person (login id)
     as the person who submitted.
     Note how to do this may need to change at some point
     This is the part that hasn't worked as hoped so for now use:
     the script Test submission script  ~cs350/bin/cs350_test_submit_a3.
    
     NOTE that before running this script it is probably best
     to remove ~/350tmp that may have been created from a previous run
     of ~cs350/bin/cs350_test_submit_a2 or ~cs350/bin/cs350_test_submit_a3.


___  Spend the time looking at the output of these tests/scripts to 
     see if things actually worked or not. They are simple scripts
     that in some cases don't check if error have occured.
     You want to ensure that:
         o The kernel gets configured properly.
         o The kernel gets built properly (and there is an executable file)
         o All of the testbin programs build properly.
         o All of the tests that come with a3-tests-scripts build properly.
         o That the output of the a3-test-scripts is as you expect
           them to be. Are you OK with the failures that you
           see in the output.

___  If any of the last two steps fail or you are unhappy with
     the results of the test you need to  
     make the necessary fixes and repeat until you are happy
     with the results or willing to accept the possibly failed tests.

Notes on the ~cs350/bin/cs350_test_submit_a3 script. Don't forget that if you want to capture all of the output from this script so you can check the output for correctness. If your shell is csh you can use:
~cs350/bin/cs350_test_submit_a3 |& tee OUT
Which will print all output to stdout and stderr to the screen/terminal and capture it in the file named OUT. When the script completes you can view OUT with an editor.