[Soc-2009-dev] blender-test script overview

André Pinto andresusanopinto at gmail.com
Sun Jun 21 23:41:25 CEST 2009


Hi,

I just committed the code I had on my local repository to my branch:
https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-jaguarandi/test

=== design/concepts ===
I will briefly described the created code/design:

The script uses 4 concepts:
 *machine: current machine (configured on config.py)
 *build: a blender binary (*.bin) (given in the path as argument to the
program)
 *case: a .blend scene (*.blend) (given in the path as argument to the
program)
       later this could be extended to receive a test-case description (and
implement other types of tests)

And "test-run", which is the result of running a build against a scene on a
given machine
test-run results are saved on:
run/machine_hash/build_hash/case_hash/(*/result.xml/1.png)
and save information like:
  time, stderr, stdout, exit_code, image result
(eg. of stored content:
http://andresp.no-ip.org/soc2009/btest/html/jaguarandi/l67KsT0MD9mp/ASfrwRWIFwAl/
)


At the moment the program finds the builds/cases to run by recursively
finding files matching *.bin, *.blend

as so running the program to test case can be as simple as:
blendertest.py --update <path_with_cases> <path_with_builds>
Tests are only run if there was no result before, so theres no problem in
selecting only the new scenes/builds
Also theres no problem in changing scenes and builds from path to path..
because it uses a hash based on files content.

Also considering the test-run output is organized with hashs from
"machine/build/scene" merging dirs from diferent persons shouldn't be a
problem.

blendertest.py --html <path_with_cases> <path_to_builds>   >
html/comparison.html
Can be used to make the html preview visible on the link:
http://andresp.no-ip.org/soc2009/btest/html/render.html

The html output uses css's class so its probably easy to make a css for
nicer look.

=== code organization ===
blendertest.py: parse arguments and load test cases and builds
Test.py: code related to test-running
html.py: code used to convert the test-runs to an html page with results /
comparisons tables
persistent.py: loads and saves data to/from xml
util.py: misc stuff
config.py: configuration


=== scope ===
For now this has been created to help measuring my SoC results, as long
thats archieved I am happy!
Of course it would be nice to have this improved (later or by someone else)
to be more usable.

This week I will work on exporting statistics out of the raytracer, and
finding good scenes to measure raytrace performance.


--
André
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2009-dev/attachments/20090621/fbce282f/attachment.htm 


More information about the Soc-2009-dev mailing list