[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29801] branches/soc-2010-leifandersen/ tests/render: 1.

Leif Andersen leif.a.andersen at gmail.com
Tue Jun 29 21:44:14 CEST 2010


Revision: 29801
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29801
Author:   leifandersen
Date:     2010-06-29 21:44:14 +0200 (Tue, 29 Jun 2010)

Log Message:
-----------
1.  Fixed a few naming errors.

2.  Implmented the script for comparing images.  To run, in the tests/render folder, type python run.py

Modified Paths:
--------------
    branches/soc-2010-leifandersen/tests/render/run.py

Added Paths:
-----------
    branches/soc-2010-leifandersen/tests/render/render/compo_map_zcombine_cubes.blend.png
    branches/soc-2010-leifandersen/tests/render/render/composite_image.blend.png

Removed Paths:
-------------
    branches/soc-2010-leifandersen/tests/render/render/compo_map_zcombine_cubes.blend.blend.png
    branches/soc-2010-leifandersen/tests/render/render/composite_image.blend.blend.png

Deleted: branches/soc-2010-leifandersen/tests/render/render/compo_map_zcombine_cubes.blend.blend.png
===================================================================
(Binary files differ)

Added: branches/soc-2010-leifandersen/tests/render/render/compo_map_zcombine_cubes.blend.png
===================================================================
(Binary files differ)


Property changes on: branches/soc-2010-leifandersen/tests/render/render/compo_map_zcombine_cubes.blend.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: branches/soc-2010-leifandersen/tests/render/render/composite_image.blend.blend.png
===================================================================
(Binary files differ)

Added: branches/soc-2010-leifandersen/tests/render/render/composite_image.blend.png
===================================================================
(Binary files differ)


Property changes on: branches/soc-2010-leifandersen/tests/render/render/composite_image.blend.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/soc-2010-leifandersen/tests/render/run.py
===================================================================
--- branches/soc-2010-leifandersen/tests/render/run.py	2010-06-29 19:41:22 UTC (rev 29800)
+++ branches/soc-2010-leifandersen/tests/render/run.py	2010-06-29 19:44:14 UTC (rev 29801)
@@ -1,12 +1,60 @@
 import Image
 import unittest
+import os
 import sys
 
+BLENDER_BIN = "/home/leif/blender-svn/blender-build/bin/blender"
+
+def render(file):
+    command = BLENDER_BIN + " -b " + os.path.join(sys.path[0], file) + " -o " + os.path.join(sys.path[0], "output", (file + "_####")) + " -F PNG -x 1 -f 1"
+    os.system(command)
+    return os.path.join(sys.path[0], "output", file, "_0001.png")
+
 class TestImage(unittest.TestCase):
+    
+    im1 = None
+    im2 = None
+    
     def setUp(self):
-        pass
+        image_path1 = os.path.join(sys.path[0], 'render', file + '.png')
+        image_path2 = os.path.join(sys.path[0], 'output', file + '_0001.png')
+        self.im1 = Image.open(image_path1)
+        self.im2 = Image.open(image_path2)
 
+    def test_red(self):
+        im1_red = im2_red = 0
+        self.assertEquals(self.im1.size, self.im2.size)
+        for i in range(0, self.im1.size[0]):
+            for j in range(0, self.im1.size[1]):
+                im1_red+=self.im1.getpixel((i,j))[0]
+                im2_red+=self.im2.getpixel((i,j))[0]
+        im_red = abs(im1_red-im2_red)
+        if im_red > 100:
+            self.fail("Red band is too different")
 
+    def test_green(self):
+        im1_green = im2_green = 0
+        self.assertEquals(self.im1.size, self.im2.size)
+        for i in range(0, self.im1.size[0]):
+            for j in range(0, self.im1.size[1]):
+                im1_green+=self.im1.getpixel((i,j))[1]
+                im2_green+=self.im2.getpixel((i,j))[1]
+        im_green = abs(im1_green-im2_green)
+        if im_green > 100:
+            self.fail("Green band is too different")
+
+    def test_blue(self):
+        im1_blue = im2_blue = 0
+        self.assertEquals(self.im1.size, self.im2.size)
+        for i in range(0, self.im1.size[0]):
+            for j in range(0, self.im1.size[1]):
+                im1_blue+=self.im1.getpixel((i,j))[2]
+                im2_blue+=self.im2.getpixel((i,j))[2]
+        im_blue = abs(im1_blue-im2_blue)
+        if im_blue > 100:
+            self.fail("Blue band is too different")
+
+
 class TestImageOperator(unittest.TestCase):
     def setUp(self):
         pass
@@ -50,7 +98,15 @@
 ])
 
 if __name__ == "__main__":
-    if sys.argv[1] == '--blender-intern':
+    if len(sys.argv) > 1 and sys.argv[1] == '--blender-intern':
         unittest.TextTestRunner(verbosity=2).run(operator_suite())
     else:
-        unittest.TextTestRunner(verbosity=2).run(suite())
+        for file in os.listdir(sys.path[0]):
+            if file != 'output' and file != 'render' and file != 'anim' and file != '.svn' and file != sys.argv[0]:
+                print file
+                render(file)
+                unittest.TextTestRunner(verbosity=2).run(suite())
+#        if(unittest.TestResult.wasSuccessful()):
+#            print "All tests passed"
+#        else:
+#            print unittest.TestResult.failures





More information about the Bf-blender-cvs mailing list