doc/gc-test.txt
changeset 5 f600b0d1fc5d
parent 4 218904410231
child 6 faab25d520dd
     1.1 --- a/doc/gc-test.txt	Fri Jan 27 00:28:11 2012 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,64 +0,0 @@
     1.4 -                            gutcheck test framework
     1.5 -                            =======================
     1.6 -
     1.7 -Running existing testcases
     1.8 ---------------------------
     1.9 -
    1.10 -The test harness (the program that runs a test) is called gc-test. The various
    1.11 -testcases are stored in multiple text files, typically with a .tst extension.
    1.12 -
    1.13 -To run a testcase when all of gutcheck, gc-test and the testcase file are
    1.14 -in the current directory simply do something like:
    1.15 -
    1.16 -% gc-test missing-space.tst
    1.17 -
    1.18 -from a command prompt. Under MS-Windows, this is called a command window and
    1.19 -the prompt will normally look slightly different, eg.,
    1.20 -
    1.21 -C:\DP> gc-test missing-space.tst
    1.22 -
    1.23 -To run all the tests in the current directory, do something like this:
    1.24 -
    1.25 -% gc-test *.tst
    1.26 -
    1.27 -If gutcheck is not in the current directory, then you can set an environment
    1.28 -variable (GUTCHECK) to point at it. For example, on MS-Windows you might do:
    1.29 -
    1.30 -C:\DP> set GUTCHECK=C:\GUTCHECK\GUTCHECK.EXE
    1.31 -C:\DP> gc-test *.tst
    1.32 -
    1.33 -Writing your own testcases
    1.34 ---------------------------
    1.35 -
    1.36 -Writing a new testcase is pretty painless. Most testcases follow this simple
    1.37 -pattern:
    1.38 -
    1.39 -		┌──────────────────────────────────────────┐
    1.40 -		│**************** INPUT ****************   │
    1.41 -		│"Look!John, over there!"                  │
    1.42 -		│**************** EXPECTED ****************│
    1.43 -		│                                          │
    1.44 -		│"Look!John, over there!"                  │
    1.45 -		│    Line 1 column 6 - Missing space?      │
    1.46 -		└──────────────────────────────────────────┘
    1.47 -
    1.48 -The sixteen asterisks in this example form what is known as the "flag". This
    1.49 -flag must come before and after all tags (eg., INPUT and EXPECTED). In the
    1.50 -unlikely event that you need sixteen asterisks at the start of line of text,
    1.51 -then simply choose a different flag and use it throughout the file (flags
    1.52 -can be any sequence of ASCII characters except control codes and space).
    1.53 -
    1.54 -Note that the header that gutcheck normally outputs is not included in the
    1.55 -expected output. This avoids problems with not knowing beforehand the name
    1.56 -of the file that gutcheck will be asked to look at (and saves typing!).
    1.57 -gutcheck prints a blank line before each warning. These are not part of the
    1.58 -header and so do need to be included.
    1.59 -
    1.60 -To test that gutcheck produces no output, you still need to include
    1.61 -an EXPECTED tag, just with no text following it. If there is no EXPECTED
    1.62 -tag, then gc-test will consider that no expectation exists and won't check
    1.63 -the output at all.
    1.64 -
    1.65 -There is no support yet for non-ASCII testcases, embedded linefeeds,
    1.66 -passing command line options to gutcheck or for testcases which are
    1.67 -expected to fail.