CS 3733 Operating Systems, Fall 1999 Assignment 1 Comments


Warning: This is not for the current semester.


Sample output appears at the end.
Some comments about this assignment:
  1. This assignment was graded on the pasis of 30 points for Parts 1 and 1a together.
  2. Assignment 1a shows that developing a good set of test inputs is important. Even with the simple inputs given, many people found previously undetected errors.
  3. No source file lines should be longer than 80 characters.
  4. Error messages should be descriptive. You should be able to tell what the error was from the message.
  5. If some of your output went to standard output and some went to standard error, the lines may come out in an unexpected order. This is because standard output is buffered while standard error is not. The problem can be solved by sending all output to one or the other, or by inserting fflush(stdout) after each output to standard out.
  6. Some people did not include the output to standard error in their printout. If you generated this output be redirectoing to a file (rather than with cut and paste) you need to redirect both standard out and standard error.
  7. You should either check the box indicating that it is working perfectly, or give an explanation of what is not working.
  8. When you test your program you should look carefully at the output to make sure it makes sense.
  9. All of the test cases for Assignment 1a were very simple can could be examined in a standard editor. An editor like vi will show you the non-prointing characters. You need to know that the input looks like in order to determine if the output is correct.
  10. The strtok function has side effects. It modifies the input string. You should not use it unless there is not better solution. You should not use it just to skip over blanks in the input.
  11. Note that the input read in is not a string unless you terminate it with the string terminator.
  12. You should lint the two parts together rather than separately.
  13. You should understand the meaning of all lint warning messages. Come and see me if there are some you do not understand. All lint error messages must be eliminated.
  14. If you do not know how to use makefiles, see the first appendix of PUP.

Here is sample output generated by running the program on the 5 tests of Assignment 1a.


test1: This contained one set of binary data
This version of myparser was written by S. Robbins
This is a test.
This is only a test.
Content-Length: 19
This is the third line.
Receiving binary input of size 19
Binary input complete
right

test2: This contained 2 sets of binary data
This version of myparser was written by S. Robbins
This is a test.
This is only a test.
Content-Length: 12
This is the third line.
Receiving binary input of size 12
Binary input complete
34567890
Let us try again.
Content-Length:   4
Soon we will get it.
Be patient.
Receiving binary input of size 4
Binary input complete
567890
Thanks.
bye

test3: This contained a carriage return before the second a test
This version of myparser was written by S. Robbins
This is a test.
This is only a test.
Content-Length: 19
This is the third line.
Receiving binary input of size 19
Binary input complete
right
This is another line.

test4: This contained a form feed before the sedons a test
This version of myparser was written by S. Robbins
This is a test.
Warning, non-printing character found

test5: This contained a line which was very long
This version of myparser was written by S. Robbins
This is a test.
This is a new test.
Warning, line too long