Removed QMTest reference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18641 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tanya Lattner 2004-12-08 17:35:31 +00:00
parent d10bc6e0bb
commit cc85da08f9

View File

@ -23,7 +23,6 @@
</li>
<li><a href="#tree">LLVM Test Suite Tree</a></li>
<li><a href="#dgstructure">DejaGNU Structure</a></li>
<li><a href="#qmstructure">QMTest Structure</a></li>
<li><a href="#progstructure"><tt>llvm-test</tt> Structure</a></li>
<li><a href="#run">Running the LLVM Tests</a></li>
<li><a href="#nightly">Running the nightly tester</a></li>
@ -60,18 +59,8 @@ required to build LLVM, plus the following:</p>
<dd>The Feature and Regressions tests are organized and run by DejaGNU.</dd>
<dt><a href="http://expect.nist.gov/">Expect</a></dt>
<dd>Expect is required by DejaGNU.</dd>
<dt>tclsh</dt>
<dd>Tclsh is required by DejaGNU. </dd>
<dt><a href="http://www.qmtest.com">QMTest</a></dt>
<dd>The LLVM test suite uses QMTest to organize and run tests. <b>Note:
you will need <a href="http://llvm.cs.uiuc.edu/qm-2.0.3.tar.gz">QMTest
2.0.3 (source tar.gz file)</a> to be successful. The tests do not run with
any other version.</b> (optional, required only for QMTest)</dd>
<dt><a href="http://www.python.org">Python</a></dt>
<dd>You will need a Python interpreter that works with QMTest. Python will
need zlib and SAX support enabled. (optional, required only for QMTest) </dd>
<dt><a href="http://www.tcl.tk/software/tcltk/">tcl</a></dt>
<dd>Tcl is required by DejaGNU. </dd>
<dt><a href="http://www.netlib.org/f2c">F2C</a></dt>
<dd>For now, LLVM does not have a Fortran front-end, but using F2C, we can run
@ -129,24 +118,6 @@ or<br>
</pre>
<dd><b>Note: If you are running the tests with <tt>objdir != subdir</tt> you must have run the complete testsuite before you can specify a subdirectory.</b></dd>
<p>To run the simple tests (i.e. those that do basic testing of
LLVM), using QMTest:</p>
<pre>
% gmake -C llvm/test qmtest
</pre>
<p>To run only the basic feature tests, QMTest supports the following
target:</p>
<pre>
% gmake -C llvm/test Feature.t
</pre>
<p>To run only the regression tests, QMTest supports the following
target:</p>
<pre>
% gmake -C llvm/test Regression.t
</pre>
<p>To run the comprehensive test suite (tests that compile and execute whole
programs), run the <tt>llvm-test</tt> tests:</p>
@ -270,11 +241,6 @@ directory are the SPEC 95 and SPEC 2000 benchmark suites. The presence and
location of these external programs is configured by the llvm-test
<tt>configure</tt> script.</p></li>
<li><tt>llvm/test/QMTest</tt>
<p>This directory contains the QMTest information files. Inside this directory
are QMTest administration files and the Python code that implements the LLVM
test and database classes.</p></li>
</ul>
</div>
@ -285,7 +251,7 @@ test and database classes.</p></li>
<div class="doc_text">
<p>The LLVM test suite is partially driven by DejaGNU and partially
driven by GNU Make. Specifically, the Features and Regression tests
are all driven by DejaGNU (and optionally QMTest). The llvm-test
are all driven by DejaGNU. The llvm-test
module is currently driven by a set of Makefiles.</p>
<p>The DejaGNU structure is very simple, but does require some
@ -355,78 +321,6 @@ machine. You can use * to match all targets. Here is an example of an
</div>
<!--=========================================================================-->
<div class="doc_section"><a name="qmstructure">QMTest Structure</a></div>
<!--=========================================================================-->
<div class="doc_text">
<p>The Feature and Regression tests can also be run using QMTest.</p>
<p>The QMTest system needs to have several pieces of information available;
these pieces of configuration information are known collectively as the
"context" in QMTest parlance. Since the context for LLVM is relatively large,
the master Makefile in llvm/test sets it for you.</p>
<p>The LLVM database class makes the subdirectories of llvm/test a QMTest test
database. For each directory that contains tests driven by QMTest, it knows
what type of test the source file is and how to run it.</p>
<p>Hence, the QMTest namespace is essentially what you see in the Feature and
Regression directories, but there is some magic that the database class performs
(as described below).</p>
<p>The QMTest namespace is currently composed of the following tests and test
suites:</p>
<ul>
<li>Feature
<p>These are the feature tests found in the Feature directory.
They are broken up into the following categories:</p>
<ul>
<li>ad
<p>Assembler/Disassembler tests. These tests verify that a piece of LLVM
assembly language can be assembled into bytecode and then disassembled
into the original assembly language code. It does this several times to
ensure that assembled output can be disassembled and disassembler output
can be assembled. It also verifies that the give assembly language file
can be assembled correctly.</p></li>
<li>opt
<p>Optimizer tests. These tests verify that two of the optimizer passes
completely optimize a program (i.e. after a single pass, they cannot
optimize a program any further).</p></li>
<li>mc
<p> Machine code tests. These tests verify that the LLVM assembly
language file can be translated into native assembly code.</p></li>
<li>cc
<p>C code tests. These tests verify that the specified LLVM assembly
code can be converted into C source code using the C backend.</p></li>
</ul>
<p>The LLVM database class looks at every file in the Feature directory and
creates a fake test hierarchy containing
<tt>Feature.&lt;testtype&gt;.&lt;testname&gt;</tt>. So, if you add an LLVM
assembly language file to the Feature directory, it actually creates 5 new
tests: assembler/disassembler, assembler, optimizer, machine code, and C code.
</p></li>
<li>Regression
<p>These are the regression tests. There is one suite for each
subdirectory of the Regression directory. If you add a new subdirectory
there, you will need to modify, at least, the <tt>RegressionMap</tt>
variable in <tt>QMTest/llvmdb.py</tt> so that QMTest knows how to run the
tests in the new subdirectory.</p>
</li>
</ul>
</div>
<!--=========================================================================-->
<div class="doc_section"><a name="progstructure"><tt>llvm-test</tt>
Structure</a></div>
@ -494,18 +388,18 @@ specify the following configuration options:</p>
<i>are not</i> executed inside of the LLVM source tree. This is because the
test suite creates temporary files during execution.</p>
<p>The master Makefile in llvm/test is capable of running only the QMTest driven
<p>The master Makefile in llvm/test is capable of running only the DejaGNU driven
tests. By default, it will run all of these tests.</p>
<p>To run only the QMTest driven tests, run <tt>gmake qmtest</tt> at the
command line in llvm/tests. To run a specific qmtest, suffix the test name with
".t" when running gmake.</p>
<p>To run only the DejaGNU driven tests, run <tt>gmake</tt> at the
command line in llvm/tests. To run a specific directory of tests, specify the TESTSUITE.
</p>
<p>For example, to run the Regression.LLC tests, type
<tt>gmake Regression.LLC.t</tt> in <tt>llvm/tests</tt>.</p>
<p>For example, to run the Regression tests, type
<tt>gmake TESTSUITE=Regression</tt> in <tt>llvm/tests</tt>.</p>
<p>Note that there are no Makefiles in <tt>llvm/test/Features</tt> and
<tt>llvm/test/Regression</tt>. You must use QMTest from the <tt>llvm/test</tt>
<tt>llvm/test/Regression</tt>. You must use DejaGNU from the <tt>llvm/test</tt>
directory to run them.</p>
<p>To run the <tt>llvm-test</tt> suite, you need to use the following steps:
@ -547,7 +441,7 @@ output and standard error. You can redirect these results to a file if you
choose.</p>
<p>Some tests are known to fail. Some are bugs that we have not fixed yet;
others are features that we haven't added yet (or may never add). In QMTest,
others are features that we haven't added yet (or may never add). In DejaGNU,
the result for such tests will be XFAIL (eXpected FAILure). In this way, you
can tell the difference between an expected and unexpected failure.</p>