[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29747] branches/soc-2010-leifandersen: 1.
Leif Andersen
leif.a.andersen at gmail.com
Sun Jun 27 23:48:10 CEST 2010
Revision: 29747
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29747
Author: leifandersen
Date: 2010-06-27 23:48:10 +0200 (Sun, 27 Jun 2010)
Log Message:
-----------
1. Moved properties_tests.py to space_tests.py, taht way the Tests gui is added
2. Implemented a working version of the render test operator. Although it's still a bit brittle. To use:
a. copy the piltest.py folder to the default directory python uses
b. Select Tests->Render, and in the tests/render folder, click on the sample blend, and select it.
You can view the output. (Note that this requires python 2.x with PIL installed).
(I will soon changed it so you don't need to have PILTEST in your default directory)
3. Moved Pdiff to the extern folder.
Modified Paths:
--------------
branches/soc-2010-leifandersen/extern/CMakeLists.txt
branches/soc-2010-leifandersen/release/scripts/op/tests_render.py
branches/soc-2010-leifandersen/tests/CMakeLists.txt
Added Paths:
-----------
branches/soc-2010-leifandersen/extern/perceptualdiff/
branches/soc-2010-leifandersen/release/scripts/ui/space_tests.py
branches/soc-2010-leifandersen/tests/piltest.py
branches/soc-2010-leifandersen/tests/render/allselect.blend
branches/soc-2010-leifandersen/tests/render/anim/
branches/soc-2010-leifandersen/tests/render/output/
branches/soc-2010-leifandersen/tests/render/output/allselect.blend_0001.png
branches/soc-2010-leifandersen/tests/render/render/
branches/soc-2010-leifandersen/tests/render/render/allselect.blend.png
Removed Paths:
-------------
branches/soc-2010-leifandersen/release/scripts/ui/properties_tests.py
branches/soc-2010-leifandersen/tests/perceptualdiff/
Modified: branches/soc-2010-leifandersen/extern/CMakeLists.txt
===================================================================
--- branches/soc-2010-leifandersen/extern/CMakeLists.txt 2010-06-27 21:35:31 UTC (rev 29746)
+++ branches/soc-2010-leifandersen/extern/CMakeLists.txt 2010-06-27 21:48:10 UTC (rev 29747)
@@ -49,4 +49,5 @@
#-----------------------------------------------------------------------------
if(WITH_TESTS)
ADD_SUBDIRECTORY(gtest-1.5.0)
+ # ADD_SUBDIRECTORY(perceptualdiff)
ENDIF(WITH_TESTS)
Copied: branches/soc-2010-leifandersen/extern/perceptualdiff (from rev 29598, branches/soc-2010-leifandersen/tests/perceptualdiff)
Modified: branches/soc-2010-leifandersen/release/scripts/op/tests_render.py
===================================================================
--- branches/soc-2010-leifandersen/release/scripts/op/tests_render.py 2010-06-27 21:35:31 UTC (rev 29746)
+++ branches/soc-2010-leifandersen/release/scripts/op/tests_render.py 2010-06-27 21:48:10 UTC (rev 29747)
@@ -1,10 +1,21 @@
+import os
+import sys
import bpy
from bpy.props import *
+BLENDER_BIN = sys.argv[0]
+
# Probably will be rewritten in C
-def compareimage(image1, image2):
- pass
+def compare_image(image1, image2):
+ command = "python piltest.py " + image1 + " " + image2
+ print(os.system(command))
+def render(path):
+ (directory, filename) = os.path.split(path)
+ command = BLENDER_BIN + " -b " + path + " -o " + directory + os.path.sep + "output" + os.path.sep + filename + "_#### -F PNG -x 1 -f 1"
+ os.system(command)
+ return (directory + os.path.sep + "output" + os.path.sep + filename + "_0001.png")
+
class TESTS_OT_render(bpy.types.Operator):
''''''
bl_idname = "TESTS_OT_render"
@@ -24,6 +35,10 @@
return True
def execute(self, context):
+ (directory, filename) = os.path.split(self.properties.filepath)
+ image1 = directory + os.path.sep + "render" + os.path.sep + filename + ".png"
+ image2 = render(self.properties.filepath)
+ compare_image(image1, image2)
return {'FINISHED'}
def invoke(self, context, event):
@@ -57,4 +72,4 @@
bpy.types.unregister(i)
if __name__ == "__main__":
- register()
+ register()
\ No newline at end of file
Deleted: branches/soc-2010-leifandersen/release/scripts/ui/properties_tests.py
===================================================================
--- branches/soc-2010-leifandersen/release/scripts/ui/properties_tests.py 2010-06-27 21:35:31 UTC (rev 29746)
+++ branches/soc-2010-leifandersen/release/scripts/ui/properties_tests.py 2010-06-27 21:48:10 UTC (rev 29747)
@@ -1,35 +0,0 @@
-import bpy
-
-class INFO_MT_tests(bpy.types.Menu):
- ''''''
- bl_idname = "INFO_MT_tests"
- bl_label = "Tests"
-
- def draw(self, context):
- layout = self.layout
-# layout.operator_context = 'EXEC_AREA'
-# layout.operator_context = 'INVOKE_AREA'
- layout.operator("TESTS_OT_render", text="Render Test")
- layout.operator("TESTS_OT_render_all", text="All Render Tests")
- layout.operator("RENDER_OT_render", text="Render")
-
-
-classes = [
- INFO_MT_tests,
-]
-
-menu_func = (lambda self, context: self.layout.menu("INFO_MT_tests"))
-
-
-def register():
- for i in classes:
- bpy.types.register(i)
- bpy.types.INFO_HT_header.append(menu_func)
-# bpy.types.INFO_MT_help.append(menu_func)
-
-def unregister():
- for i in classes:
- bpy.types.unregister(i)
-
-if __name__ == "__main__":
- register()
\ No newline at end of file
Added: branches/soc-2010-leifandersen/release/scripts/ui/space_tests.py
===================================================================
--- branches/soc-2010-leifandersen/release/scripts/ui/space_tests.py (rev 0)
+++ branches/soc-2010-leifandersen/release/scripts/ui/space_tests.py 2010-06-27 21:48:10 UTC (rev 29747)
@@ -0,0 +1,35 @@
+import bpy
+
+class INFO_MT_tests(bpy.types.Menu):
+ ''''''
+ bl_idname = "INFO_MT_tests"
+ bl_label = "Tests"
+
+ def draw(self, context):
+ layout = self.layout
+# layout.operator_context = 'EXEC_AREA'
+# layout.operator_context = 'INVOKE_AREA'
+ layout.operator("TESTS_OT_render", text="Render Test")
+ layout.operator("TESTS_OT_render_all", text="All Render Tests")
+ layout.operator("RENDER_OT_render", text="Render")
+
+
+classes = [
+ INFO_MT_tests,
+]
+
+menu_func = (lambda self, context: self.layout.menu("INFO_MT_tests"))
+
+
+def register():
+ for i in classes:
+ bpy.types.register(i)
+ bpy.types.INFO_HT_header.append(menu_func)
+# bpy.types.INFO_MT_help.append(menu_func)
+
+def unregister():
+ for i in classes:
+ bpy.types.unregister(i)
+
+if __name__ == "__main__":
+ register()
\ No newline at end of file
Modified: branches/soc-2010-leifandersen/tests/CMakeLists.txt
===================================================================
--- branches/soc-2010-leifandersen/tests/CMakeLists.txt 2010-06-27 21:35:31 UTC (rev 29746)
+++ branches/soc-2010-leifandersen/tests/CMakeLists.txt 2010-06-27 21:48:10 UTC (rev 29747)
@@ -26,4 +26,3 @@
ENABLE_TESTING()
ADD_SUBDIRECTORY(gtest)
ADD_SUBDIRECTORY(pyunit)
-#ADD_SUBDIRECTORY(perceptualdiff)
Added: branches/soc-2010-leifandersen/tests/piltest.py
===================================================================
--- branches/soc-2010-leifandersen/tests/piltest.py (rev 0)
+++ branches/soc-2010-leifandersen/tests/piltest.py 2010-06-27 21:48:10 UTC (rev 29747)
@@ -0,0 +1,40 @@
+import Image
+import unittest
+import sys
+
+class TestImage(unittest.TestCase):
+ def setUp(self):
+ pass
+
+ def test_image(self):
+ if len(sys.argv) < 3:
+ self.fail("Please don't use this script")
+ image_path1 = sys.argv[1]
+ image_path2 = sys.argv[2]
+ im1 = Image.open(image_path1)
+ im2 = Image.open(image_path2)
+
+ im1_red = im1_green = im1_blue = im2_red = im2_green = im2_blue = 0
+
+ self.assertEquals(im1.size, im2.size)
+ for i in range(0, im1.size[0]):
+ for j in range(0, im1.size[1]):
+ im1_red+=im1.getpixel((i,j))[0]
+ im1_green+=im1.getpixel((i,j))[1]
+ im1_blue+=im1.getpixel((i,j))[2]
+ im2_red+=im2.getpixel((i,j))[0]
+ im2_green+=im2.getpixel((i,j))[1]
+ im2_blue+=im2.getpixel((i,j))[2]
+
+ self.assertEquals(im1_red, im2_red)
+ self.assertEquals(im1_green, im2_green)
+ self.assertEquals(im1_blue, im2_blue)
+
+
+def suite():
+ return unittest.TestSuite([
+unittest.TestLoader().loadTestsFromTestCase(TestImage),
+])
+
+if __name__ == "__main__":
+ unittest.TextTestRunner(verbosity=2).run(suite())
Added: branches/soc-2010-leifandersen/tests/render/allselect.blend
===================================================================
(Binary files differ)
Property changes on: branches/soc-2010-leifandersen/tests/render/allselect.blend
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/soc-2010-leifandersen/tests/render/output/allselect.blend_0001.png
===================================================================
(Binary files differ)
Property changes on: branches/soc-2010-leifandersen/tests/render/output/allselect.blend_0001.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/soc-2010-leifandersen/tests/render/render/allselect.blend.png
===================================================================
(Binary files differ)
Property changes on: branches/soc-2010-leifandersen/tests/render/render/allselect.blend.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the Bf-blender-cvs
mailing list