Auto-tools/Projects/Halreftest: Difference between revisions

Line 20: Line 20:
== What It Tests  ==
== What It Tests  ==


As its name implies, Halreftest is designed primarily to run reftests. According to developers on the graphics team, it should be possible using this method to achieve reasonable coverage of the relevant code. Currently Halreftest runs a subset of SVG tests, but this can be easily changed. Although the current design runs reftests in the standard way, the plan is to run them as follows:  
Grafx Bot is designed primarily to run reftests. According to developers on the graphics team, it should be possible using this method to achieve reasonable coverage of the relevant code. Currently Grafx Bot runs a subset of SVG tests, but this can be easily changed. Normally the current design runs reftests in the standard way, but will run them as follows on platforms that support hardware acceleration (currently Windows only):  


#hardware accelerated reftest test compared to accelerated reftest reference  
#hardware accelerated reftest test compared to accelerated reftest reference  
#hardware accelerated reftest test compared to non-accelerated reftest test
#hardware accelerated reftest test compared to non-accelerated reftest test
This will be implemented as soon as we can toggle hardware acceleration and layers support in the test harness.


For #2 above, if a test fails, it may be due to small differences in the rendering engines used, which are not visible to the human eye. We really only care about rendering differences which are visible and obvious. To handle this case, failures of this type will be presented to the tester, with both images side-by-side, and the tester will be asked to determine if the images are visually identical or not. If they are, the test will be marked as passed.  
For #2 above, if a test fails, it may be due to small differences in the rendering engines used, which are not visible to the human eye. We really only care about rendering differences which are visible and obvious. To handle this case, failures of this type will be presented to the tester, with both images side-by-side, and the tester will be asked to determine if the images are visually identical or not. If they are, the test will be marked as passed.  


All of the above tests are only designed to test rendering correctness. It is also desirable to test rendering performance, but there currently exists no easy way to do this. Graphics team developers have stated they may implement some type of system that could profile time spent in Cairo code, and if this is done, it could easily be added to Halreftest in order to provide performance metrics.  
All of the above tests are only designed to test rendering correctness. It is also desirable to test rendering performance, but there currently exists no easy way to do this. Graphics team developers have stated they may implement some type of system that could profile time spent in Cairo code, and if this is done, it could easily be added to Grafx Bot in order to provide performance metrics.  


<br>
<br>
Confirmed users
1,905

edits