X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fdoc.texi;h=2fec1b47d43aeec9a21cdcc3e39809587ccc1322;hb=24ff01c3b69360c8a7c01d0959f4148688cfeb7a;hp=55a80f508ca9d7cbcac5c967b8580c109152e7e9;hpb=699944803572c46c550a39027c0ebd935b0d61bc;p=pintos-anon diff --git a/doc/doc.texi b/doc/doc.texi index 55a80f5..2fec1b4 100644 --- a/doc/doc.texi +++ b/doc/doc.texi @@ -10,12 +10,14 @@ Your submission should have exactly one of each file, in the appropriate directory (e.g.@: for Assignment 1, place the files in the @file{threads} directory). These files must be written in plain text format (not Microsoft Word, not PDF). We recommend a text width of 65 -characters per line, with a hard limit of 80. +characters per line, with a hard limit of 80. If you use tab characters +in your document files, be sure that your text editor's tab width is set +to 8. @menu * README:: -* DESIGNDOC :: -* TESTCASE :: +* DESIGNDOC:: +* TESTCASE:: @end menu @node README @@ -30,7 +32,7 @@ dependencies, and so on. If you added extra credit features to your project, explain them concisely in the @file{README}. Otherwise, we're likely to miss them. -@node DESIGNDOC +@node DESIGNDOC @section @file{DESIGNDOC} This file is our primary tool for assessing your design. Therefore, @@ -65,7 +67,7 @@ Finally, please keep your @file{DESIGNDOC} as short as you can, without sacrificing key design decisions. You should be brief, yet complete. We don't want to read novels. -@node TESTCASE +@node TESTCASE @section @file{TESTCASE} The @file{TESTCASE} file should contain all the information about how @@ -94,13 +96,13 @@ Show us that you tested each part of your assignment. Clearly state in your @file{TESTCASE} file what each test is supposed to test. You should be testing not only the common case, but testing corner cases. Specify what criteria or issue is being tested. For -example, in testing @code{thread_join()} you would have specified that -you test @code{thread_join()} when it is called multiple times on the +example, in testing @func{thread_join} you would have specified that +you test @func{thread_join} when it is called multiple times on the same child thread. @item Make your tests as succinct as possible. Most students in the past -have done a great job with the testing of @code{thread_join()}, +have done a great job with the testing of @func{thread_join}, creating very succinct short tests. We like that. @item @@ -110,6 +112,21 @@ should be in @file{pintos/src/threads/testcases}. @item Think about what may actually crash your code. + +@item +Think about what the compiler might do to your code. Suppose you write +the following to test your virtual memory implementation's ability to +expand the stack: +@example +int main (void) @{ + int array[4096]; + array[123] = 234; + return 0; +@} +@end example +@noindent The compiler is quite likely to notice that the value that you +write to the array is never used again and thereby decide not to write +it at all. The result is that your test does not test anything at all. @end itemize Your @file{TESTCASE} file is also where you can show us the