XorgTesting

The X.Org Foundation Testing Plan

Detailed test instructions

This section outlines the test procedure to follow when testing a release candidate. When a test run has been completed, please e-mail the xorg@lists.freedesktop.org mailing list with the following information so that we can track what has and has not yet been tested. Note that we are interested in progress: please do not wait to complete all phases of testing to send in reports.

  1. Your Name
  2. The date tested
  3. The platform you tested:
    • The operating system tested (e.g., AIX, Cygwin, FreeBSD, HP-UX, Linux, etc.)
    • The architecture tested (e.g., Alpha, AMD64, EM64T, IA-32, IA-64, Sparc, etc.)
    • The distribution and release tested (e.g., Red Hat FC2, SUSE 9.1, Debian unstable, Solaris 9, etc.)
  4. The snapshot or release candidate tag tested (e.g., XORG-6_7_99_1, etc.)
  5. Build test status: passed or failed or untested
  6. Install test status: passed or failed or untested
  7. Conformance test status: passed or failed or untested
  8. Run test status: passed or failed or untested
    • List the tests run

For any test(s) that failed, please include in your report the test(s) that failed, and file a bugzilla report if no one has already filed one against the failure(s) you found.

Build tests

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.

Install tests

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.

Conformance tests

After installing the full release, the conformance tests can be run using the X test suite, which can be downloaded here. A helper script (called xreg) is used to run the X test suite, which can be downloaded here. See the next two sections below for more information on how to setup and use these tools.

Setting up the X test suite

Here are some brief instructions on how to download and set up everything that you will need to run the X test suite:

  1. Follow the directions at BuildingXtest

  2. wget http://www.freedesktop.org/~kem/testing/xreg

Now you should be ready to begin testing.

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 -n 3-5

    • This runs xtest at depth 16 using the Xvfb server running at 1280x1024, but only runs the third through the fifth tests of the XFillRectangles test.

Notes on using xreg:

Actually running the conformance tests

For this section, one of the following should be used for testing:

Additional notes:

Run tests

After installing the full release, you can run the subset of tests listed below that applies to the platform being tested. Please run these tests on at least two different driver families (where applicable). For example, on an IA-32 system running Linux, you could run the tests using one card from the ATI driver family and another card from the NVIDIA driver family.

Tests for each driver family:

  1. X test suite (listed above)
  2. x11perf
  3. rendertest (found in the xapps CVS repository on freedesktop.org)
  4. Standard graphical environment
  5. GL tests: glxgears, gloss, quake3

  6. Switch to/from VTs (on Linux)

-- KevinMartin - 18 Jan 2005