X11R6970Testing

The X11R6.9/X11R7 Release Testing Plan

Contents

  1. The X11R6.9/X11R7 Release Testing Plan
    1. Detailed test instructions
      1. Build tests
        1. Monolithic build tests
        2. Modular build tests
      2. Install tests
        1. Monlithic install tests
        2. Modular install tests
      3. Conformance tests
        1. Setting up the X Test Suite
        2. Examples of how to use the xreg script
        3. Actually running the conformance tests
      4. Run tests

Detailed test instructions

This section outlines the test procedure to follow when testing a release candidate. We need for everyone to test both the X11R6.9 (monolithic source tree) and the X11R7.0 (modular source tree). When you have completed a test run, please submit your test report to our results database so that we can track the progress of the release. We need these reports to determine if the code is ready for release or needs more work.

There are four main areas that we are interested in testing:

Each of these are described below in detail.

Note that for any test(s) that fail, please file a bugzilla report in bugzilla and mark it as a blocker of the release bug.

Build tests

Monolithic build tests

For the monolithic source tree, each of the following build tests can be performed by copying the sample host.def file (or the alternate) to the xc/config/cf directory and the running make World >& World.LOG (or other such command as appropriate for your platform), and then checking the World.LOG file for any failures.

  1. Build with empty host.def file (sample alternate)

  2. Build with BuildServersOnly defined as YES (sample alternate)

  3. Build with DoLoadableServer defined as NO (sample alternate)

Note that some systems do not have a compatible version of Freetype2 installed on their system, so in addition to each build requirement above, defining HasFreetype2 as NO is permitted. Each alternate host.def file above have this define included.

Modular build tests

For the modular source tree, we ask that you build from CVS using the methods described in the Modular developer's guide. The build.sh script in CVS will allow you to build and install all of the module components in the appropriate order. By default, the build.sh script will exit if it fails to build or install any component.

If you would like to have the build.sh script warn you about build or install failures, then you can use the -n command-line flag to tell it to print error messages instead of exiting. For example, you could run build.sh -n /tmp/modular >& build.log and then once the script completes, you could grep '*****' build.log to see if there are any errors and which packages failed.

One additional test that further helps find problems is to have the build.sh script also run make distcheck on each package, which can be enabled with the -d command-line flag.

Install tests

Monlithic install tests

For the monolithic source tree, each of the following install tests can be performed by building the release (as described above using the sample or alternate host.def file provided), running make Install >& Install.LOG (or other such command as appropriate for your platform), and checking the Install.LOG output for any failures.

  1. Build and install with no host.def file (sample alternate)

  2. Build and install with: ProjectRoot defined to be something other than the default, and NothingOutsideProjectRoot defined as YES (sample alternate)

Note that some systems do not have a compatible version of Freetype2 installed on their system, so in addition to each install requirement above, defining HasFreetype2 as NO is permitted. Each alternate host.def file above have this define included.

Modular install tests

Since most of the modular source tree components have dependencies on other module components being built and installed, the build.sh script will both build and install all of the components in the appropriate dependency order. If the script completed without errors in the build step above, then the modular source tree both built and installed correctly.

Conformance tests

After installing the full release of either the monolithic, modular or both source trees, the conformance tests can be run using the X Test Suite (XTS). Note that XTS has been updated recently and the build instructions have changed from what they were for past releases.

Setting up the X Test Suite

We have prepared an XTS package for those that are running Linux on an x86 machine. You can download the prebuilt package here. Untar this package and cd into the xts5-Linux-i686 subdirectory.

For everyone else or if you have problems with the pre-built package, you will need to build XTS on your local system. To build it, download the mktestpkg.sh script from CVS and run it, which you can download here. This script will get the appropriate files, check out the latest version of XTS from CVS (Note when it asks you for a password, just hit enter). Then, change to the subdir that is created by the build script.

Now you should be ready to begin testing.

Note that an updated helper script (called xreg), which is used to run XTS, is already included in the test suite subdirectory.

Examples of how to use the xreg script

Here are some examples of how to use xreg to run the X test suite:

  1. xreg -xtest -xvfb

    • This runs xtest at all default depths using the Xvfb server.
    • The default depths are 8, 15, 16, and 24+32.
    • The "24+32" depth is one that uses a depth of 24 with a frame buffer bits per pixel of 32 (i.e., -depth 24 -fbbpp 32).
  2. xreg -xtest -xorg -d 16

    • This runs xtest at depth 16 using the Xorg server.
  3. xreg -xtest -xvfb -d 15 -test XCopyArea

    • This runs xtest at depth 15 using the Xvfb server, but it only runs the XCopyArea test.

    • Selecting individual tests is very useful to track down test failures.
  4. xreg -xtest -xvfb -d 16 -xvfbwidth 1280 -xvfbheight 1024 -test XFillRectangles

    • This runs xtest at depth 16 using the Xvfb server running at 1280x1024, but it only runs the XFillRectangles test.

Notes on using xreg:

After the XTS has been run with xreg, the report file lists the failures and a summary of the test run. Here is an example of the test report generated:

                           VSW5 SUMMARY RESULTS REPORT
                                                                                
Test suite version: 5.1.5
Specification version: Open Group Window Management (X11R5) document set
Test run by: guest
System: Linux t5 2.6.13-1.1576_FC5 #1 Sat Sep 24 15:23:34 EDT 2005 i686
Test run started: Monday November 07, 2005 11:52:31 PM
Test run ended:   Monday November 07, 2005 01:23:18 AM
Journal file: /tmp/xtest/xts5-Linux-i686/results/xts5.16bpp.20051107.204759.results/journal
TCC command line: tcc -e -s /tmp/xreg.tet_scen.26369 -x /tmp/xreg.tetexec.cfg.26369 -i /tmp/xtest/xts5-Linux-i686/results/xts5.16bpp.20051107.204759.results xts5 all
Report type: -d 1 -s 1
                                                                                
                                                                                
        CASES TESTS  PASS UNSUP UNTST NOTIU  WARN   FIP  FAIL UNRES  UNIN ABORT
                                                                                
Xproto    122   389   267     2   120     0     0     0     0     0     0     0
Xlib3     109   161   129     3    28     1     0     0     0     0     0     0
Xlib4      29   324   275    17    27     5     0     0     0     0     0     0
Xlib5      15    84    77     2     5     0     0     0     0     0     0     0
Xlib6       8    50    20     0    30     0     0     0     0     0     0     0
Xlib7      58   172   150     9    13     0     0     0     0     0     0     0
Xlib8      29   165   133    10    22     0     0     0     0     0     0     0
Xlib9      46  1472  1176    46    36   201     8     0     5     0     0     0
Xlib10     23    95    58     2    35     0     0     0     0     0     0     0
Xlib11     33   195    87    22    43    43     0     0     0     0     0     0
Xlib12     27   138   108     2    15    12     0     0     1     0     0     0
Xlib13     32   269   161     3   102     3     0     0     0     0     0     0
Xlib14     45    58    49     0     5     0     0     0     4     0     0     0
Xlib15     45   159   126     0    33     0     0     0     0     0     0     0
Xlib16     30   105    82     1    22     0     0     0     0     0     0     0
Xlib17     55   131   110     0    21     0     0     0     0     0     0     0
Xopen       8   127   125     2     0     0     0     0     0     0     0     0
Xt3        21    73    73     0     0     0     0     0     0     0     0     0
Xt4        33   192    94     0    98     0     0     0     0     0     0     0
Xt5        10    69    28     0    41     0     0     0     0     0     0     0
Xt6         7    71    71     0     0     0     0     0     0     0     0     0
Xt7        11   106    97     0     6     3     0     0     0     0     0     0
Xt8         7    43    35     0     4     0     0     0     4     0     0     0
Xt9        33   189   132     2    55     0     0     0     0     0     0     0
Xt10        8    17    16     0     1     0     0     0     0     0     0     0
Xt11       58   285   249     0    34     0     0     0     1     1     0     0
Xt12       22    67    56     0    11     0     0     0     0     0     0     0
Xt13       39   178   129     0    47     0     0     0     1     1     0     0
Xt14        2    18    18     0     0     0     0     0     0     0     0     0
Xt15        1     2     0     2     0     0     0     0     0     0     0     0
XtC        29   147    90     1    56     0     0     0     0     0     0     0
XtE         1     1     1     0     0     0     0     0     0     0     0     0
                                                                                
TOTAL     996  5552  4222   126   910   268     8     0    16     2     0     0

If the TOTAL line at the end of your report is similar to the one shown above, then we consider that your system has passed XTS. We are working to resolve the remaining failures and unresolved tests. From above, there are 16 failed and 2 unresolved tests. We will update the list above as we resolve more of these tests. If you are successful in fixing them, please let us know on the xorg@lists.freedesktop.org mailing list.

Actually running the conformance tests

For the purposes of the testing the monolithic and modular source trees for this release, we ask that you run one of the following scenarios:

Additional notes:

Run tests

After installing the full release and running the conformance tests, run the subset of tests listed below that applies to the platform being tested. We would like to get as much coverage as possible, so please run these tests on as many cards as possible.

Tests to run for each card:

  1. X Test Suite (in case you haven't already run it)
  2. x11perf (Note that you can use xreg to automatically run x11perf -- see the script for details)

  3. rendertest (found in the xapps CVS repository on freedesktop.org)
  4. Standard graphical environment (e.g., Gnome or KDE desktop)
  5. GL tests: glxgears, gloss, quake3

  6. Switch to/from VTs (on Linux)

After running these tests, please enter them into our results database. This will allow us to track progress of the release. To see the current set of test results, go to the results summary page.