Hi,<br><br>I just committed the code I had on my local repository to my branch:<br><a href="https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-jaguarandi/test">https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-jaguarandi/test</a><br>
<br>=== design/concepts ===<br>I will briefly described the created code/design:<br><br>The script uses 4 concepts:<br> *machine: current machine (configured on config.py)<br> *build: a blender binary (*.bin) (given in the path as argument to the program)      <br>
 *case: a .blend scene (*.blend) (given in the path as argument to the program)<br>       later this could be extended to receive a test-case description (and implement other types of tests)<br>
<br>And &quot;test-run&quot;, which is the result of running a build against a scene on a given machine<br>test-run results are saved on: run/machine_hash/build_hash/case_hash/(*/result.xml/1.png)<br>and save information like:<br>
  time, stderr, stdout, exit_code, image result<br>(eg. of stored content: <a href="http://andresp.no-ip.org/soc2009/btest/html/jaguarandi/l67KsT0MD9mp/ASfrwRWIFwAl/">http://andresp.no-ip.org/soc2009/btest/html/jaguarandi/l67KsT0MD9mp/ASfrwRWIFwAl/</a>)<br>
<br><br>At the moment the program finds the builds/cases to run by recursively finding files matching *.bin, *.blend<br><br>as so running the program to test case can be as simple as:<br>blendertest.py --update &lt;path_with_cases&gt; &lt;path_with_builds&gt;<br>
Tests are only run if there was no result before, so theres no problem in selecting only the new scenes/builds<br>Also theres no problem in changing scenes and builds from path to path.. because it uses a hash based on files content.<br>
<br>Also considering the test-run output is organized with hashs from &quot;machine/build/scene&quot; merging dirs from diferent persons shouldn&#39;t be a problem.<br><br>blendertest.py --html &lt;path_with_cases&gt; &lt;path_to_builds&gt;   &gt; html/comparison.html<br>
Can be used to make the html preview visible on the link:<br><a href="http://andresp.no-ip.org/soc2009/btest/html/render.html">http://andresp.no-ip.org/soc2009/btest/html/render.html</a><br><br>The html output uses css&#39;s class so its probably easy to make a css for nicer look.<br>
<br>=== code organization ===<br>
blendertest.py: parse arguments and load test cases and builds<br>
Test.py: code related to test-running<br>html.py: code used to convert the test-runs to an html page with results / comparisons tables<br>
persistent.py: loads and saves data to/from xml<br>
util.py: misc stuff<br>config.py: configuration<br>


<br><br>=== scope ===<br>For now this has been created to help measuring my SoC results, as long thats archieved I am happy!<br>Of course it would be nice to have this improved (later or by someone else) to be more usable.<br>
<br>This week I will work on exporting statistics out of the raytracer, and finding good scenes to measure raytrace performance.<br><br><br>--<br>André<br>