These are some brief notes to help in getting started with the X test suite on XFree86 platforms. Throughout this document, means enter the actual setting of the environment variable $VAL. The syntax for setting environment variables here is for csh/tcsh. If you are using sh/ksh/bash, replace "setenv VAR value" with "VAR=value; export VAR" A build of the test suite requires about 50-60MB of disk space (including a few largish log files). 1. Go to the test/xsuite directory, and do: setenv TET_ROOT `pwd` setenv PATH $TET_ROOT/xtest/bin:$PATH Note, it is important to have $TET_ROOT/xtest/bin as the first component of your path. 2. Go to $TET_ROOT/xtest, and edit tetbuild.cfg. Uncomment/change the appropriate settings for the OS you are using, and set the following value: TET_ROOT= 3. Copy tetbuild.cfg to tetclean.cfg 4. Build the "tet" tools: cd $TET_ROOT xmkmf make You may now need to type 'rehash' so that your shell re-searches the paths, otherwise it may not find the new 'tcc' commane. 5. Build the test suite: [This seems to get done automatically as part of step 4] cd $TET_ROOT/xtest tcc -b -s link_scen xtest linkbuild This will install xtest's fonts in /usr/X11R6/lib/X11/fonts/xtest, so make sure that you have permission to create/write to that directory. You will need to manually copy this directory across to any machines you'll be running servers on. Warning messages like: Tcc error, message from source file journal.c line 104 : Warning journal line truncated because it exceeded 512 bytes can safely be ignored. The report log for the build of the tests gets written to a subdirectory of the $TET_ROOT/xtest/results directory. The subdirectories are numbered, and those for a build end with 'b'. 6. Edit tetexec.cfg. Set XT_HEIGHT_MM and XT_WIDTH_MM to match the values reported by xdpyinfo, and XT_DISPLAYHOST to the hostname of the machine you are running the test server on, and set the following value: XT_FONTDIR=/xtest/fonts/ If running at a depth other than 8bpp, Change the value of XT_VISUAL_CLASSES to match the visuals the server supports. For example, for 16bpp use: XT_VISUAL_CLASSES=TrueColor(16) Also change XT_BLACK_PIXEL, XT_WHITE_PIXEL, XT_PIXMAP_DEPTHS to match the values reported by xdpyinfo. 7. Start up a server on the machine you are testing on. The server should not have any clients running. Starting it with the '-ac -s 0' flags will disable both access control and the screen saver. 8. Run the tests cd $TET_ROOT/xtest tcc -e -s link_scen xtest linkexec The report log for running the tests gets written to a subdirectory of the $TET_ROOT/xtest/results directory. The subdirectories are numbered, and those for a test run (execution) end with 'e'. A new directory is created for each run. The log file is called "journal". The "tset" subdirectory contains subdirs for each test that fails *and* for which there are error bitmaps saved to help in debugging the problem. The "blowup" utility can be used to view these. The "rpt" utility can be used to extract various information from the journal file. For example. "rpt -p" gives a summary for each test + details for those which failed. To specify which journal file to report on, add the "-f journal-name" flag. Without this it uses the most recent one. 9. Running subsets of tests. It is possible to create new "scenario" files to run some subset of the tests. Start with the $TET_ROOT/xtest/link_scen file, and edit the linkexec section to include only those tests you want to run. Each line describes a group of tests. The value in '{}' indicates which tests in each group are run. 'all' means run all of them. Other legal values are comma separated ranges of numbers (e.g., {1,3-5}). To run a test with the new scenario file, use the same command as above, but replace "link_scen" with the name of the new file. 10. Running individual tests separately. Individual tests can be run by going to the directory containing the test (these are the subdirs of $TET_ROOT/xtest/tset/, for example $TET_ROOT/xtest/tset/CH03/stwdwbrdr), and using the 'pt' command. The '-i' flag allows individual tests to be specified. For example, 'pt -i 1,3-5' will run tests 1, 3, 4, 5. The result log for the test gets written to the file tet_xres. For further information refer to $TET_ROOT/xtest/doc/userguide.mm. There is a hardcopy version of this in the main X distribution (in xc/doc/hardcopy/test/xsuite/userguide.PS.Z). $XFree86: test/xsuite/NOTES.xf86,v 1.4.2.2 1997/05/26 14:58:00 dawes Exp $