"make reader001.runtest" will compile reader001.hs using ghc and compare
the resulting output with that specified in the file reader001.stderr.
-"make runtests" run all tests.
+"make all" run all tests.
-------------------------------------------------------------------------------
ADDING A NEW TEST
file in the appropriate directory (for example, "typecheck/tc093.hs" for
the 93rd typechecker test).
-Edit the Makefile in that directory to add your test. Most directories
-have some flags which are set for every test (RUNSTDTEST_OPTS), but you can
-also set some extra per-file runtest flags (to control the output of ghc,
-for instance). Just set ttc093_flags to the flags you want.
+If the test needs to set the compiler options to something other than
+the default for the directory, either modify the SRC_HC_OPTS (applies
+to all tests in that directory), or set some extra per-file compiler
+options. For example,
-For example,
-
- tc093_flags = -noC -ddump-tc -x1
+ tc093_HC_OPTS = -noC -ddump-tc
-noC tells not bother generating any C (not point in doing that, since we
only want to test the typechecker). -ddump-tc tells ghc to dump the
-typechcker state, while -x1 tells runtest that the expected exit code is 1,
-not 0 (the default).
+typechecker state.
+
+Depending on the tests/ subdirectory, a default exit code is
+expected from all tests therein, normally 0 (==success).
+Per-file options to the runtests script can be set as follows
+
+ tc093_RUNTEST_OPTS = -x 1
+
+telling the test script that the compiler is expected to fail
+on tc093.
-"touch" the file tc093.stderr. "make tc093.runtest" will then build
-tc093.runtest and fail (because the expected output doesn't match the empty
+"touch" the file tc093.stderr. "make tc093.o" will then run
+the compiler and fail (because the expected output doesn't match the empty
tc093.stderr). However, it is then easy to update tc093.stderr with the
-stuff printed out during "make tc093.runtest".
+stuff printed out during "make tc093.o".