To run the raster tests and just look for XGL errors simply run them with no arguments or use the --gtest_filter=XglRasterTest.<testname> to run just one test. Running with --gtest_list_tests  will name all of the available tests.

The raster tests can be run and the pixel results compared to known good (golden) images generated from previous runs.  To generate golden images, make sure that the tests are rendering as expected, and then run with --save-images.  This will generate .ppm files for all of the tests.  Create a directory called "golden" and "mv *.ppm golden".  When new tests are added to render_tests additional golden images will need to be generated for the new tests.

Then, to run comparing resulting images to the golden images, run with --compare-images.  This too will generate .ppm images for all of the tests and if the image differs from the golden image at all, the test will fail and a <testname>-diff.ppm image will be generated in the same directory as the test images.  So the result image and the diff image will be in the current directory and the golden image will be in the golden directory.  
