diff -r 000000000000 -r 1918ee327afb tests/arthur/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/arthur/README Mon Jan 11 14:00:40 2010 +0000 @@ -0,0 +1,84 @@ +This is a simple regression testing framework for Arthur. + +There are three parts to it. + +1) datagenerator . which is the main part. it's used to + run all the tests, create output png files, + measure rendering performance and output it in + data.xml file. datagenerator reads in + framework.ini to figure out where to look for tests. + if the framework.ini file isn't in the current directory + you have to specify its location with the -framework + parameter. by default datagenerator generates output in the + current directory - to specify output directory pass in + -output parameter followed by a directory name. if the given + directory doesn't exist it will be created. + + it's recommended to always specify -iterations argument (followed + by the number). if the argument has been specified datagenerator + will try to render all testcases the given amount of times yielding + a lot more precise results. + + if one wants to test just a specified engine -engine argument + should be specified (followed by the desired engine name). + + individual testsuites can be run with -suite paramenter. + individual testcases from testcases can also be reran with + -testcase paramenter. + + given files can also be tested individually. if the option -file + is specified with a SVG file engines will be tested against just + that file and output will be written directly to stdout (not files). + it's useful when optimizing one engine with particular case in + mind. + + Example command line: + ./bin/datagenerator -framework data/framework.ini -output sampleout -iterations 5 -engine [ENGINE] + +2) htmlgenerator. which is used to generate html pages out of + generated output (generated by datagenerator). htmlgenerator also + reads in the framework.ini file. so the option -framework also + applies. but htmlgenerator takes a mandatory directory name as the + second argument. the mandatory directory name is the directory to + which you output the files generated by datagenerator (either + whatever followed the -output or the current directory) + + htmlgenerator will generate html pages that can be viewed to + manually inspect the results. + + Example command line: + ./bin/htmlgenerator -framework data/framework.ini sampleout + +3) performancediff. diffs the performance data between two output + directories. so assuming you already have data for all the engines, + you change something in an engine. to see the performance + difference run + ./bin/datagenerator -framework data/framework.ini -output newoutput -iterations 5 + and then + ./bin/performancediff sampleout newoutput + + The performance results will be printed out. + + The two first columns are in ms. The last one is a + percentage of difference. + + After the percentage a '+' or a '-' sign followed by a + number will be sometimes printed. + + '+' signifies the new results were mathematically better. '-' is of + course just the opposite. + the number following '+' is the minimum rendering time the engine + spent rendering the given file up till this moment. + the number following '-' is the maximum rendering time the engine + spent rendering the given file up till this moment. + + (if the current results are out of the scope from within maximum and + minimum number then the respective sign is printed out.) +------------------------------------------------------------------- + +Note that the generated output directories can be copied from one +machine to the other. htmlgenerator will generate webpages for all +engines with valid data.xml files. So if you want add NativeWin32 and +NativeMac engines you'll have to have someone with a windows and mac +run datagenerator with "-engine NativeWin32" or "-engine NativeMac" +options and then sending you the respective output directories.