tests/arthur/README
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 This is a simple regression testing framework for Arthur.
       
     2 
       
     3 There are three parts to it.
       
     4 
       
     5 1) datagenerator . which is the main part. it's used to 
       
     6    run all the tests, create output png files,
       
     7    measure rendering performance and output it in
       
     8    data.xml file. datagenerator reads in
       
     9    framework.ini to figure out where to look for tests.
       
    10    if the framework.ini file isn't in the current directory
       
    11    you have to specify its location with the -framework
       
    12    parameter. by default datagenerator generates output in the
       
    13    current directory - to specify output directory pass in
       
    14    -output parameter followed by a directory name. if the given
       
    15    directory doesn't exist it will be created. 
       
    16 
       
    17    it's recommended to always specify -iterations argument (followed
       
    18    by the number). if the argument has been specified datagenerator
       
    19    will try to render all testcases the given amount of times yielding 
       
    20    a lot more precise results.
       
    21 
       
    22    if one wants to test just a specified engine -engine argument
       
    23    should be specified (followed by the desired engine name).
       
    24 
       
    25    individual testsuites can be run with -suite paramenter.
       
    26    individual testcases from testcases can also be reran with
       
    27    -testcase paramenter.
       
    28 
       
    29    given files can also be tested individually. if the option -file
       
    30    is specified with a SVG file engines will be tested against just
       
    31    that file and output will be written directly to stdout (not files).
       
    32    it's useful when optimizing one engine with particular case in
       
    33    mind.
       
    34 
       
    35    Example command line:
       
    36    ./bin/datagenerator -framework data/framework.ini -output sampleout -iterations 5 -engine [ENGINE]
       
    37 
       
    38 2) htmlgenerator. which is used to generate html pages out of
       
    39    generated output (generated by datagenerator). htmlgenerator also
       
    40    reads in the framework.ini file. so the option -framework also
       
    41    applies. but htmlgenerator takes a mandatory directory name as the
       
    42    second argument. the mandatory directory name is the directory to
       
    43    which you output the files generated by datagenerator (either
       
    44    whatever followed the -output or the current directory)
       
    45 
       
    46    htmlgenerator will generate html pages that can be viewed to
       
    47    manually inspect the results.
       
    48 
       
    49    Example command line:
       
    50    ./bin/htmlgenerator -framework data/framework.ini sampleout
       
    51 
       
    52 3) performancediff. diffs the performance data between two output
       
    53    directories. so assuming you already have data for all the engines,
       
    54    you change something in an engine. to see the performance
       
    55    difference run
       
    56    ./bin/datagenerator -framework data/framework.ini -output newoutput -iterations 5
       
    57    and then
       
    58    ./bin/performancediff sampleout newoutput
       
    59    
       
    60    The performance results will be printed out.
       
    61 
       
    62    The two first columns are in ms. The last one is a 
       
    63    percentage of difference. 
       
    64 
       
    65    After the percentage a '+' or a '-' sign followed by a 
       
    66    number will be sometimes printed.
       
    67 
       
    68    '+' signifies the new results were mathematically better. '-' is of
       
    69    course just the opposite.
       
    70    the number following '+' is the minimum rendering time the engine
       
    71    spent rendering the given file up till this moment.
       
    72    the number following '-' is the maximum rendering time the engine
       
    73    spent rendering the given file up till this moment.
       
    74 
       
    75    (if the current results are out of the scope from within maximum and
       
    76    minimum number then the respective sign is printed out.)
       
    77 -------------------------------------------------------------------
       
    78 
       
    79 Note that the generated output directories can be copied from one
       
    80 machine to the other. htmlgenerator will generate webpages for all
       
    81 engines with valid data.xml files. So if you want add NativeWin32 and
       
    82 NativeMac engines you'll have to have someone with a windows and mac
       
    83 run datagenerator with "-engine NativeWin32" or "-engine NativeMac"
       
    84 options and then sending you the respective output directories.