X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FTestingGuide.html;h=4d14fe4a8cfb4c80f21f7e2c37f8a17542a535fa;hb=8197754be57abba9bbce4733de8d887f341ea339;hp=e4db61656bb79a155849dd3a22060deb2088153f;hpb=cd3b117c76700ff26aee970c96440668b017df0a;p=oota-llvm.git diff --git a/docs/TestingGuide.html b/docs/TestingGuide.html index e4db61656bb..4d14fe4a8cf 100644 --- a/docs/TestingGuide.html +++ b/docs/TestingGuide.html @@ -18,12 +18,14 @@
  • Quick start
  • Regression test structure @@ -40,7 +42,7 @@
  • Configuring External Tests
  • Running different tests
  • Generating test output
  • -
  • Writing custom tests for llvm-test
  • +
  • Writing custom tests for test-suite
  • @@ -141,6 +143,23 @@ generates code.

    + +
    Debugging Information +tests
    + + +
    + +

    The test suite contains tests to check quality of debugging information. +The test are written in C based languages or in LLVM assembly language.

    + +

    These tests are compiled and run under a debugger. The debugger output +is checked to validate of debugging information. See README.txt in the +test suite for more information . This test suite is located in the +debuginfo-tests Subversion module.

    + +
    +
    Quick start
    @@ -153,7 +172,7 @@ generates code.

    The more comprehensive test suite that includes whole programs in C and C++ is in the test-suite module. This module should be checked out to the llvm/projects directory (don't use another name -then the default "test-suite", for then the test suite will be run every time +than the default "test-suite", for then the test suite will be run every time you run make in the main llvm directory). When you configure the llvm module, the test-suite directory will be automatically configured. @@ -237,7 +256,7 @@ programs), first checkout and setup the test-suite module:

    where $LLVM_GCC_DIR is the directory where -you installed llvm-gcc, not it's src or obj +you installed llvm-gcc, not its src or obj dir. The --with-llvmgccdir option assumes that the llvm-gcc-4.2 module was configured with --program-prefix=llvm-, and therefore that the C and C++ @@ -272,6 +291,25 @@ that subdirectory.

    + +
    Debugging Information +tests
    + + +

    To run debugging information tests simply checkout the tests inside +clang/test directory.

    + +
    +
    +%cd clang/test
    +% svn co http://llvm.org/svn/llvm-project/debuginfo-tests/trunk debuginfo-tests
    +
    +
    + +

    These tests are already set up to run as part of clang regression tests.

    + + +
    Regression test structure
    @@ -338,6 +376,11 @@ that subdirectory.

    shell. Consequently the syntax differs from normal shell script syntax in a few ways. You can specify as many RUN lines as needed.

    +

    lit performs substitution on each RUN line to replace LLVM tool + names with the full paths to the executable built for each tool (in + $(LLVM_OBJ_ROOT)/$(BuildMode)/bin). This ensures that lit does not + invoke any stray LLVM tools in the user's path during testing.

    +

    Each RUN line is executed on its own, distinct from other lines unless its last character is \. This continuation character causes the RUN line to be concatenated with the next one. In this way you can build up long @@ -870,34 +913,34 @@ want tested and run gmake there. Alternatively, you can run a different test using the TEST variable to change what tests or run on the selected programs (see below for more info).

    -

    In addition for testing correctness, the llvm-test directory also +

    In addition for testing correctness, the test-suite directory also performs timing tests of various LLVM optimizations. It also records compilation times for the compilers and the JIT. This information can be used to compare the effectiveness of LLVM's optimizations and code generation.

    -

    llvm-test tests are divided into three types of tests: MultiSource, +

    test-suite tests are divided into three types of tests: MultiSource, SingleSource, and External.

    @@ -1084,9 +1127,9 @@ many times it triggers. First thing you should do is add an LLVM will tally counts of things you care about.

    Following this, you can set up a test and a report that collects these and -formats them for easy viewing. This consists of two files, an +formats them for easy viewing. This consists of two files, a "test-suite/TEST.XXX.Makefile" fragment (where XXX is the name of your -test) and an "llvm-test/TEST.XXX.report" file that indicates how to +test) and a "test-suite/TEST.XXX.report" file that indicates how to format the output into a table. There are many example reports of various levels of sophistication included with the test suite, and the framework is very general.