From 63e2dbdf6641d61ed752db29492b55cef687bce6 Mon Sep 17 00:00:00 2001 From: sof Date: Wed, 3 Sep 1997 23:37:24 +0000 Subject: [PATCH] [project @ 1997-09-03 23:37:24 by sof] Toplevel regression test README --- ghc/tests/README | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 ghc/tests/README diff --git a/ghc/tests/README b/ghc/tests/README new file mode 100644 index 0000000..67f1a34 --- /dev/null +++ b/ghc/tests/README @@ -0,0 +1,54 @@ +------------------------------------------------------------------------------- + GHC COMPILER TESTS +------------------------------------------------------------------------------- + +This directory contains the regression tests for the compiler and the +prelude libraries. Regression tests meaning "correctness", NoFib +deals with "performance". Note that regression tests for other parts +of the ghc system (such as the driver, runtime system, system libs) +belong elsewhere. + +Each test takes the form of a single program (for example, reader001.hs) +and files which specify ghc's expected error output (reader001.stderr). + +"make reader001.runtest" will compile reader001.hs using ghc and compare +the resulting output with that specified in the file reader001.stderr. + +"make all" run all tests. + +------------------------------------------------------------------------------- + ADDING A NEW TEST +------------------------------------------------------------------------------- + +To add a new test copy your Haskell program into an appropriately named +file in the appropriate directory (for example, "typecheck/tc093.hs" for +the 93rd typechecker test). + +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, + + 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 +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.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.o". An alternative is to run +`make' with EXTRA_RUNTEST_OPTS=-accept-output on the new test, and the +runtest script will add the stderr&stdout dump files for you *in the +build tree*. + -- 1.7.10.4