Overall, I think this has been a good week.  I worked almost exclusively on the image comparison diff tester this week.  I wrote it in python, and it can actually work independent of blender (although it does assume that blender is on your system, and in your path, although that can be changed with the --blender-bin flag).  This means that the tests folder can be put in a zip, and placed in the same location as where the current regression tests (for blender 2.4x) are located on the website.<div>

<br></div><div>As I said last time, the general way to run the tests is by using python run.py.  You can use the -v flag to see the output of blender as it&#39;s rendering it.  Also, it might be possible to avoid even having to download the images at all, by using the recently built --built-tests flag, which, instead of rendering tests, will render the images and store them in the known good folder.  (It uses the version of blender in your path).</div>

<div><br></div><div>Through the use of the --image flag, you can compare any blender image on your harddrive (currently assuming it&#39;s in the right file structure), this allowed me to make other image comparison tests, that compared blend files built by pyunit based tests.  This (along with the hashcode operator I started putting together last week), means that most of the tools for building good unit tests (and regression tests in general), are almost build (I think).  Meaning that now the only missing piece of the puzzle is the one I was working on several weeks ago (without luck), which is:<br>

A.  Getting the python API to work in background mode (which blender currently isn&#39;t designed to do).</div><div>B.  Getting the python API to work properly in foreground mode (lots of stuff in bpy.wm crash.  (At least it did as of a week ago, do to low bandwidth caps here, I won&#39;t&#39; merge until tomorrow evening (when I get home), so they may have been fixed by now)).</div>

<div><br></div><div>Although Andrea only looked at my code to determine good structure, etc.   I believe that most of the bugs have been removed.  (Although, this is python, and bad code doesn&#39;t show up until someone tries to run it, and I haven&#39;t made regression tests for my regression tests. ;) (at least not yet anyway, and it&#39;s not on my radar in the near future)).</div>

<div><br></div><div>The comparator is also capable of producing animation tests.  However, this code is slightly buggier.  Also, by default, I&#39;m not running the animation tests in the current regression suite, because it takes the running time up from 2:30, to over an hour.  I have a --animation flag, but it doesn&#39;t work at the moment.  (Although the underlying code works, so it&#39;s basically just a matter of plugging the code into the flag).</div>

<div><br></div><div>Finally, because the animation images make the overall file size ~240 MB (as apposed to 30 MB), they are not in the default build.  But rather, the user has two choices, they can either A:  Render Good ones, or B.  Use a hash code (and download images (or generate them) if something goes wrong).  The hash code also work in images.  However, the code for this is only half built.  The test case classes support it, but the surrounding structures don&#39;t use it yet, this shouldn&#39;t be more than an hours worth of work to implement it fully.</div>

<div><br></div><div>Finally, I didn&#39;t do as much work as I would have liked in the HTML output.  Now, rather than using static CSS scripts from sphynx, I now build the CSS in the script itself.  (With the exception of images, I&#39;m not sure how to do that as a python script...well, there is PIL, but I&#39;d sooner put bamboo up my fingernails than make the needed images that way).  Although the output is starting to look like it&#39;s from blender&#39;s website.  (Although the table doesn&#39;t quite fit).  Also, it will only generate images for single images (well, that, and animations, but it only does the first frame).  Eventually, the animations will be clickable, and you can view a separate HTML page for the entire animation, but that&#39;s not built yet.  It shouldn&#39;t be too hard to make, but I keep having to do one or the other thing, so the current implementation is old, and would probably cause the script to crash if used.</div>

<div><br></div><div>~Leif Andersen<br><br>----------<br>Searching a DAG: <a href="http://xkcd.com/761/">http://xkcd.com/761/</a><br>
</div>