diff options
Diffstat (limited to 'gnu/usr.bin/gcc/INSTALL/test.html')
-rw-r--r-- | gnu/usr.bin/gcc/INSTALL/test.html | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/INSTALL/test.html b/gnu/usr.bin/gcc/INSTALL/test.html new file mode 100644 index 00000000000..2abc431384c --- /dev/null +++ b/gnu/usr.bin/gcc/INSTALL/test.html @@ -0,0 +1,162 @@ +<html lang="en"> +<head> +<title>Installing GCC: Testing</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name=description content="Installing GCC: Testing"> +<meta name=generator content="makeinfo 4.2"> +<link href="http://www.gnu.org/software/texinfo/" rel=generator-home> +<!-- +Copyright © 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, +1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +<br><p> +<p>Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no +Invariant Sections, the Front-Cover texts being (a) (see below), and +with the Back-Cover Texts being (b) (see below). A copy of the +license is included in the section entitled "<a href="./gfdl.html">GNU Free Documentation License</a>". + +<p>(a) The FSF's Front-Cover Text is: + +<p>A GNU Manual + +<p>(b) The FSF's Back-Cover Text is: + +<p>You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development.--> +</head> +<body> +<h1>Installing GCC: Testing</h1> +Before you install GCC, we encourage you to run the testsuites and to +compare your results with results from a similar configuration that have +been submitted to the +<a href="http://gcc.gnu.org/ml/gcc-testresults/">gcc-testresults mailing list</a>. +Some of these archived results are linked from the build status lists +at <a href="http://gcc.gnu.org/buildstat.html">http://gcc.gnu.org/buildstat.html</a>, although not everyone who +reports a successful build runs the testsuites and submits the results. +This step is optional and may require you to download additional software, +but it can give you confidence in your new GCC installation or point out +problems before you install and start using your new GCC. + +<p>First, you must have <a href="download.html">downloaded the testsuites</a>. +These are part of the full distribution, but if you downloaded the +"core" compiler plus any front ends, you must download the testsuites +separately. + +<p>Second, you must have the testing tools installed. This includes +<a href="http://www.gnu.org/software/dejagnu/">DejaGnu</a> 1.4.1 or 1.4.3 +and later, Tcl, and Expect; the DejaGnu site has links to these. + +<p>If the directories where <code>runtest</code> and <code>expect</code> were +installed are not in the <code>PATH</code>, you may need to set the following +environment variables appropriately, as in the following example (which +assumes that DejaGnu has been installed under <code>/usr/local</code>): + +<br><pre> TCL_LIBRARY = /usr/local/share/tcl8.0 + DEJAGNULIBS = /usr/local/share/dejagnu +</pre> + +<p>(On systems such as Cygwin, these paths are required to be actual +paths, not mounts or links; presumably this is due to some lack of +portability in the DejaGnu code.) + +<p>Finally, you can run the testsuite (which may take a long time): +<br><pre> cd <var>objdir</var>; make -k check +</pre> + +<p>This will test various components of GCC, such as compiler +front ends and runtime libraries. While running the testsuite, DejaGnu +might emit some harmless messages resembling +<code>WARNING: Couldn't find the global config file.</code> or +<code>WARNING: Couldn't find tool init file</code> that can be ignored. + +<h3><a name="TOC0"></a>How can I run the test suite on selected tests?</h3> + +<p>In order to run sets of tests selectively, there are targets +<code>make check-gcc</code> and <code>make check-g++</code> +in the <code>gcc</code> subdirectory of the object directory. You can also +just run <code>make check</code> in a subdirectory of the object directory. + +<p>A more selective way to just run all <code>gcc</code> execute tests in the +testsuite is to use + +<br><pre> make check-gcc RUNTESTFLAGS="execute.exp <var>other-options</var>" +</pre> + +<p>Likewise, in order to run only the <code>g++</code> "old-deja" tests in +the testsuite with filenames matching <code>9805*</code>, you would use + +<br><pre> make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <var>other-options</var>" +</pre> + +<p>The <code>*.exp</code> files are located in the testsuite directories of the GCC +source, the most important ones being <code>compile.exp</code>, +<code>execute.exp</code>, <code>dg.exp</code> and <code>old-deja.exp</code>. +To get a list of the possible <code>*.exp</code> files, pipe the +output of <code>make check</code> into a file and look at the +<code>Running <small>...</small> .exp</code> lines. + +<p>The Java runtime tests can be executed via <code>make check</code> +in the <code><var>target</var>/libjava/testsuite</code> directory in +the build tree. + +<h3><a name="TOC1"></a>Additional testing for Java Class Libraries</h3> + +<p>The <a href="http://sources.redhat.com/mauve/">Mauve Project</a> provides +a suite of tests for the Java Class Libraries. This suite can be run +as part of libgcj testing by placing the Mauve tree within the libjava +testsuite at <code>libjava/testsuite/libjava.mauve/mauve</code>, or by +specifying the location of that tree when invoking <code>make</code>, as in +<code>make MAUVEDIR=~/mauve check</code>. + +<a href="http://www-124.ibm.com/developerworks/oss/cvs/jikes/~checkout~/jacks/jacks.html">Jacks</a> +is a free test suite that tests Java compiler front ends. This suite +can be run as part of libgcj testing by placing the Jacks tree within +the libjava testsuite at <code>libjava/testsuite/libjava.jacks/jacks</code>. + +<h3><a name="TOC2"></a>How to interpret test results</h3> + +<p>The result of running the testsuite are various <code>*.sum</code> and <code>*.log</code> +files in the testsuite subdirectories. The <code>*.log</code> files contain a +detailed log of the compiler invocations and the corresponding +results, the <code>*.sum</code> files summarize the results. These summaries +contain status codes for all tests: + +<ul> +<li>PASS: the test passed as expected +<li>XPASS: the test unexpectedly passed +<li>FAIL: the test unexpectedly failed +<li>XFAIL: the test failed as expected +<li>UNSUPPORTED: the test is not supported on this platform +<li>ERROR: the testsuite detected an error +<li>WARNING: the testsuite detected a possible problem +</ul> + +<p>It is normal for some tests to report unexpected failures. At the +current time our testing harness does not allow fine grained control +over whether or not a test is expected to fail. We expect to fix this +problem in future releases. + +<h3><a name="TOC3"></a>Submitting test results</h3> + +<p>If you want to report the results to the GCC project, use the +<code>contrib/test_summary</code> shell script. Start it in the <var>objdir</var> with + +<br><pre> <var>srcdir</var>/contrib/test_summary -p your_commentary.txt \ + -m gcc-testresults@gcc.gnu.org |sh +</pre> + +<p>This script uses the <code>Mail</code> program to send the results, so +make sure it is in your <code>PATH</code>. The file <code>your_commentary.txt</code> is +prepended to the testsuite summary and should contain any special +remarks you have on your results or your build environment. Please +do not edit the testsuite result block or the subject line, as these +messages may be automatically processed. + +<hr /> +<p> +<a href="./index.html">Return to the GCC Installation page</a> + +</body></html> + |