X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=doc%2FHACKING;h=4bf7b496c5592d1a91fe0a566e321cf72bd8ee07;hp=b68603120c56e0c9f8c0d469e035dc16855956d9;hb=2daa8f43343334aa3180d6ed9a2725094c897932;hpb=69d62e1d65aaca729abae8eea7fc5c50f345bc43 diff --git a/doc/HACKING b/doc/HACKING index b686031..4bf7b49 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -1,7 +1,7 @@ This is the hackers' guide to SST2K. Read it before messing with the code. It consists of an introduction, a history, suggestions for regression testing, -some notes on the Python translation. For a to-do list, see TODO in the +and some notes on the Python translation. For a to-do list, see TODO in the top-level directory. INTRODUCTION: @@ -191,7 +191,7 @@ probability of being damaged." This is one place where OPTION_PLAIN does not restore the original behavior, which was equiprobable damage across all devices. If we wanted that, we'd return randrange(NDEVICES) and have done with it. -Also, in the original game, DNAVYS and DCOMPTR were the same device. +Also, in the original game, DNAVSYS and DCOMPTR were the same device. Instead, we use a table of weights similar to the one from BSD Trek. BSD doesn't have the shuttle, shield controller, death ray, or probes. @@ -216,21 +216,27 @@ This code has been designed to be tested. A simple shellscript included in the distribution, 'replay', automatically reruns the last game you played. -Here are some interesting seeds for debugging and regression testing -For each one, I list the seed, the options, and the last svn revision -for which it is known to have given the described behavior. +See the "test" directory for regression-test logs and checkfiles. +Please run 'make check' every time you change this game to be sure +you haven't broken anything. -1160647745 regular short good fancy (r769) +When you fix a bug, add the log of the game that triggered it (and +a checkfile) to the regression tests. This is how we improve the code +coverage of the suite. -Starts you in a quadrant with the Super-Commander in it. Slamming three -torps at him will kill him. You can use this to regression-test both -torpedo tracks and the Deep Space Probe. Known bug: "probe aut 2 8" -triggers manual navigation. +Two things to do to the log before dropping it in the test directory: -1160707235 regular short good fancy (r769) +(a) Strip out all lines beginning with "#curses:" - these are for debugging +the curses interface and are not needed or regression testing; removing +them makes it easier to see the game commands. -Do sr/mov aut 5 4/sr/sensors/orbit/transport; you'll get a transporter -failure. +(b) Add a header comment line explaining what the log is a test for. +It should begin with "# Tests". This is what gets echoed before each +regression test is run. + +Then drop it into the test directory and "make buildregress" to create +the check file. (Don't forget to commit and push the log and checkfile +to the repository.) NOTES ON THE PYTHON TRANSLATION: