filenames themselves on the <tt>configure</tt> line.</li>
</ul></dd>
</dl>
+
+<p>Darwin (Mac OS X) developers can simplify the installation of Expect and tcl
+by using fink. <tt>fink install expect</tt> will install both. Alternatively,
+Darwinports users can use <tt>sudo port install expect</tt> to install Expect
+and tcl.</p>
+
</div>
<!--=========================================================================-->
<pre>
% gmake check
</pre>
-<p>To run only a subdirectory of tests in llvm/test using DejaGNU (ie. Regression/Transforms). Just substitute the path to the subdirectory:</p>
+
+<p>To run only a subdirectory of tests in llvm/test using DejaGNU (ie.
+Regression/Transforms), just set the TESTSUITE variable to the path of the
+subdirectory (relative to <tt>llvm/test</tt>):</p>
<pre>
% gmake -C llvm/test TESTSUITE=Regression/Transforms
</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><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></p>
<p>To run the comprehensive test suite (tests that compile and execute whole
programs), run the <tt>llvm-test</tt> tests:</p>
<p>The LLVM test suite contains two major categories of tests: code
fragments and whole programs. Code fragments are in the <tt>llvm</tt> module
-under the directory under the <tt>llvm/test</tt> directory. The whole programs
-test suite are in the <tt>llvm-test</tt> module under the main directory.</p>
+under the <tt>llvm/test</tt> directory. The whole programs
+test suite is in the <tt>llvm-test</tt> module under the main directory.</p>
</div>
<p>There are a couple patterns within a <tt>RUN</tt> line that the
llvm-runtest procedure looks for and replaces with the appropriate
syntax:</p>
-<ul>
+
+<dl style="margin-left: 25px">
<dt>%p</dt>
<dd>The path to the source directory. This is for locating
any supporting files that are not generated by the test, but used by
<dd>Path to a script that performs grep -C. Use this since not all
platforms support grep -C.</dd>
-<dt>%llvmgcc</dt> <dd>Full path to the llvmgcc executable.</dd>
-<dt>%llvmgxx</dt> <dd>Full path to the llvmg++ executable.</dd>
-</ul>
+<dt>%llvmgcc</dt> <dd>Full path to the llvm-gcc executable.</dd>
+<dt>%llvmgxx</dt> <dd>Full path to the llvm-g++ executable.</dd>
+</dl>
<p>There are also several scripts in the llvm/test/Scripts directory
that you might find useful when writing <tt>RUN</tt> lines.</p>
<p>Lastly, you can easily mark a test that is expected to fail on a
-specific platform by using the <tt>XFAIL</tt> keyword. Xfail lines are
+specific platform or with a specific version of llvmgcc by using the <tt>XFAIL</tt> keyword. Xfail lines are
specified in the comments of the test program using <tt>XFAIL</tt>,
followed by a colon, and one or more regular expressions (separated by
-a comma) that will match against the target triplet for the
-machine. You can use * to match all targets. Here is an example of an
+a comma) that will match against the target triplet or llvmgcc version for the
+machine. You can use * to match all targets. You can specify the major or full version (i.e. 3.4) for llvmgcc. Here is an example of an
<tt>XFAIL</tt> line:</p>
<pre>
-; XFAIL: darwin,sun
+; XFAIL: darwin,sun,llvmgcc4
</pre>
</div>
tests. By default, it will run all of these tests.</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, use the
-TESTSUITE variable.
+command line in <tt>llvm/test</tt>. To run a specific directory of tests, use
+the TESTSUITE variable.
</p>
<p>For example, to run the Regression tests, type
<ol>
<li>cd into the llvm/projects directory</li>
<li>check out the <tt>llvm-test</tt> module with:<br/>
- <tt>cvs -d :pserver:anon@llvm.cs.uiuc.edu:/var/cvs/llvm co -PR llvm-test</tt><br>
+ <tt>cvs -d :pserver:anon@llvm.org:/var/cvs/llvm co -PR llvm-test</tt><br>
This will get the test suite into <tt>llvm/projects/llvm-test</tt></li>
<li>configure the test suite. You can do this one of two ways:
<ol>
properly configured.</li>
<li>Use the <tt>configure</tt> script found in the <tt>llvm-test</tt> source
directory:<br/>
- <tt>$BUILD_SRC_DIR/configure --with-llvmsrc=$LLVM_SRC_ROOT --with-llvmobj=$LLVM_OBJ_ROOT</tt>
+ <tt>$LLVM_SRC_ROOT/projects/llvm-test/configure --with-llvmsrc=$LLVM_SRC_ROOT --with-llvmobj=$LLVM_OBJ_ROOT</tt>
</li>
</ol>
<li>gmake</li>
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>
-<p>The tests in <tt>llvm-test</tt> have no such feature as of this time. If the
+<p>The tests in <tt>llvm-test</tt> have no such feature at this time. If the
test passes, only warnings and other miscellaneous output will be generated. If
a test fails, a large <program> FAILED message will be displayed. This
will help you separate benign warnings from actual test failures.</p>
<div class="doc_text">
<p>
-The <a href="http://llvm.cs.uiuc.edu/testresults/">LLVM Nightly Testers</a>
+The <a href="http://llvm.org/testresults/">LLVM Nightly Testers</a>
automatically check out an LLVM tree, build it, run the "nightly"
program test (described above), run all of the feature and regression tests,
and then delete the checked out tree. This tester is designed to ensure that
programs don't break as well as keep track of LLVM's progress over time.</p>
-<p>
-If you'd like to set up an instance of the nightly tester to run on your
-machine, take a look at the comments at the top of the utils/NightlyTester.pl
-file. We usually run it from a crontab entry that looks ilke this:
-</p>
+<p>If you'd like to set up an instance of the nightly tester to run on your
+machine, take a look at the comments at the top of the
+<tt>utils/NightlyTester.pl</tt> file. We usually run it from a crontab entry
+that looks ilke this:</p>
+<div class="doc_code">
<pre>
-5 3 * * * LLVM_LIB_SEARCH_PATH=.../llvm-gcc/lib $HOME/llvm/utils/NightlyTest.pl -parallel -enable-linscan ...CVSREPOSTRING... $HOME/buildtest-X86 $HOME/cvs/testresults-X86
+5 3 * * * $HOME/llvm/utils/NightlyTest.pl -parallel $CVSROOT $HOME/buildtest-X86 $HOME/cvs/testresults-X86
</pre>
+</div>
<p>Or, you can create a shell script to encapsulate the running of the script.
-The optimized x86 Linux nightly test is run from just such a script:
+The optimized x86 Linux nightly test is run from just such a script:</p>
+
+<div class="doc_code">
<pre>
#!/bin/bash
BASE=/proj/work/llvm/nightlytest
-export CVSROOT=:pserver:anon@llvm.cs.uiuc.edu:/var/cvs/llvm
+export CVSROOT=:pserver:anon@llvm.org:/var/cvs/llvm
export BUILDDIR=$BASE/build
export WEBDIR=$BASE/testresults
export LLVMGCCDIR=/proj/work/llvm/cfrontend/install
export PATH=/proj/install/bin:$LLVMGCCDIR/bin:$PATH
export LD_LIBRARY_PATH=/proj/install/lib
-export LLVM_LIB_SEARCH_PATH=/proj/work/llvm/cfrontend/install/lib
cd $BASE
cp /proj/work/llvm/llvm/utils/NightlyTest.pl .
-nice ./NightlyTest.pl -nice -release -verbose -parallel -enable-linscan -noexternals
+nice ./NightlyTest.pl -nice -release -verbose -parallel -enable-linscan -noexternals 2>&1 > output.log
+mail -s 'X86 nightly tester results' <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-testresults">llvm-testresults@cs.uiuc.edu</a> < output.log
</pre>
+</div>
+
+<p>Take a look at the <tt>NightlyTest.pl</tt> file to see what all of the flags
+and strings do. If you start running the nightly tests, please let us know and
+we'll link your page to the global tester page. Thanks!</p>
-<p>
-Take a look at the NightlyTest.pl file to see what all of the flags and
-strings do. If you start running the nightly tests, please let us know and
-we'll link your page to the global tester page. Thanks!
-</p>
-
</div>
<!-- *********************************************************************** -->
<a href="http://validator.w3.org/check/referer"><img
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
- John T. Criswell<br>
- <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br/>
+ John T. Criswell, Reid Spencer, and Tanya Lattner<br>
+ <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br/>
Last modified: $Date$
</address>
</body>