summaryrefslogtreecommitdiff
path: root/gcc/testsuite/README.gcc
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/README.gcc
downloadcbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.bz2
cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/README.gcc')
-rw-r--r--gcc/testsuite/README.gcc87
1 files changed, 87 insertions, 0 deletions
diff --git a/gcc/testsuite/README.gcc b/gcc/testsuite/README.gcc
new file mode 100644
index 000000000..998c2d9e5
--- /dev/null
+++ b/gcc/testsuite/README.gcc
@@ -0,0 +1,87 @@
+This file contains a list of notes for those writing testcases and those
+writing expect scripts. At present, they're in random order.
+
+Verbosity Levels
+
+- each level adds verbosity so level 2 prints all level 1 and level 2 stuff.
+
+1) Print a one-liner indicating the testcase being run (and maybe special
+ compiler options).
+
+2) Print compiler and program invocation including arguments and their output.
+ Proc's gcc_load and gcc_start handle the latter two.
+
+3) Print detailed testcase analysis like "Looking for pattern ...", etc.
+
+4) Maximum verbosity. Print anything else of interest.
+
+send_log conventions
+
+Various messages are stored in gcc.log by the testing framework and we
+try to augment them with some of our own. The format of the framework
+messages are:
+
+PASS: blah blah ...
+FAIL: blah blah ...
+
+so we use
+
+XXXX: blah blah ...
+
+Current messages are:
+
+EXEC: program being executed (so compiler path and args are recorded)
+STAT: intermediate pass/fail statistics
+
+Test scripts must ignore the compiler messages "path prefix never used"
+and "linker input file unused". Don't let their appearance cause a testcase
+to fail. See lib/dg.exp for the exact regsub to use.
+
+If you're unclear about which directory a testcase should be installed in,
+ask gcc-local.
+
+Have the text of a fail message be the same as that for pass.
+IE: have
+
+ if ...success...
+ pass "pr 1234"
+ else
+ fail "pr 1234"
+
+not
+
+ if ...success...
+ pass "pr 1234 passed"
+ else
+ fail "pr 1234 failed"
+
+
+This lets test-tool (which drives the nightly tests) do a better job
+at tracking which tests have digressed or been fixed.
+
+DO NOT PUT NON-PORTABLE TESTCASES IN gcc.c-torture.
+
+ANY TARGET SPECIFIC TESTCASE MUST HAVE APPROPRIATE CODE TO PREVENT IT FROM
+CAUSING A `FAILURE' ON UNSUPPORTED PLATFORMS.
+
+The "torture" tests are meant to be generic tests that can run on any
+target. So you have to be careful about endianness, assumptions about
+sizes of datatypes, etc etc.
+
+For tests that merely need to compile, put them in the "compile" directory.
+
+For tests which should give an error, put them in the "noncompile" directory
+and update noncompile.exp appropriately (see examples in noncompile.exp).
+
+For IEEE FP specific tests, put them in execute/ieee.
+
+For execution tests, put them in execute.
+
+If a test does not fit into the torture framework, use the dg framework.
+
+
+Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.