Revision: 31298 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31298 Author: leifandersen Date: 2010-08-12 19:48:11 +0200 (Thu, 12 Aug 2010)
Log Message: ----------- 1. Added several readme files, although the versions currently in the tree are empty. (Only commiting because they're there at the moment). 2. Cleaned up the tests/data folder, moved the tests/data/data folder to tests/data, and the tests/data/ops folder to their appropriate locations. Although the folder still needs to remain disabled do to a few remaining bugs in the api. 3. Updated tests from framework at the begining of the project (although it's hard to test this, as I can't simply run the script). Modified Paths: -------------- branches/soc-2010-leifandersen/tests/hashfile.txt branches/soc-2010-leifandersen/tests/physics/CMakeLists.txt Added Paths: ----------- branches/soc-2010-leifandersen/tests/addon/README.txt branches/soc-2010-leifandersen/tests/addon/empty.blend branches/soc-2010-leifandersen/tests/addon/pawns.blend branches/soc-2010-leifandersen/tests/addon/setup.py branches/soc-2010-leifandersen/tests/data/CMakeLists.txt branches/soc-2010-leifandersen/tests/data/lamps.py branches/soc-2010-leifandersen/tests/data/meshes.py branches/soc-2010-leifandersen/tests/data/objects.py branches/soc-2010-leifandersen/tests/data/scenes.py branches/soc-2010-leifandersen/tests/export_import_testing/README.txt branches/soc-2010-leifandersen/tests/gameengine/README.txt branches/soc-2010-leifandersen/tests/manual/README.txt branches/soc-2010-leifandersen/tests/mesh_modeling/README.txt branches/soc-2010-leifandersen/tests/physics/README.txt branches/soc-2010-leifandersen/tests/physics/output/ branches/soc-2010-leifandersen/tests/physics/particle.py branches/soc-2010-leifandersen/tests/physics/render/ branches/soc-2010-leifandersen/tests/python/README.txt branches/soc-2010-leifandersen/tests/sequence_editing/README.txt Removed Paths: ------------- branches/soc-2010-leifandersen/tests/data/CMakeLists.txt branches/soc-2010-leifandersen/tests/data/data/ branches/soc-2010-leifandersen/tests/data/ops/ branches/soc-2010-leifandersen/tests/export_import_testing/hashfile.txt branches/soc-2010-leifandersen/tests/physics/hashfile.txt branches/soc-2010-leifandersen/tests/python/hashfile.txt Added: branches/soc-2010-leifandersen/tests/addon/README.txt =================================================================== Copied: branches/soc-2010-leifandersen/tests/addon/empty.blend (from rev 31295, branches/soc-2010-leifandersen/tests/data/ops/wm/empty.blend) =================================================================== (Binary files differ) Copied: branches/soc-2010-leifandersen/tests/addon/pawns.blend (from rev 31295, branches/soc-2010-leifandersen/tests/data/ops/wm/pawns.blend) =================================================================== (Binary files differ) Copied: branches/soc-2010-leifandersen/tests/addon/setup.py (from rev 31295, branches/soc-2010-leifandersen/tests/data/ops/wm/setup.py) =================================================================== --- branches/soc-2010-leifandersen/tests/addon/setup.py (rev 0) +++ branches/soc-2010-leifandersen/tests/addon/setup.py 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,52 @@ +import bpy +import unittest + +class TestReadHomefile(unittest.TestCase): + + # No setUp required for this test, as we'll be testing the various setUp methods here + def setUp(self): + pass + + def test_factory_default(self): + bpy.ops.wm.read_homefile(factory=True) + + def test_users_default(self): + bpy.ops.wm.read_homefile(factory=False) + + def test_no_params(self): + bpy.ops.wm.read_homefile() + +class TestLoadBlendfile(unittest.TestCase): + def setUp(self): + pass + + def test_load_empty_file(self): + bpy.ops.wm.open_mainfile(filepath="empty.blend") + + def test_load_file_with_data(self): + bpy.ops.wm.open_mainfile(filepath="pawns.blend") + +class TestSaveBlendfile(unittest.TestCase): + def setUp(self): + bpy.ops.wm.open_mainfile(filepath="empty.blend") + + def test_save_empty_file(self): + bpy.ops.wm.save_mainfile(filepath="empty_out.blend") + + def test_save_file_with_data(self): + bpy.ops.wm.open_mainfile(filepath="pawns.blend") + bpy.ops.wm.save_as_mainfile(filepath="pawns_out.blend") + + def test_loading_saved_file(self): + bpy.ops.open_mainfile(filepath="empty_out.blend") + +def suite(): + return unittest.TestSuite([ +unittest.TestLoader().loadTestsFromTestCase(TestReadHomefile), +unittest.TestLoader().loadTestsFromTestCase(TestLoadBlendfile), +unittest.TestLoader().loadTestsFromTestCase(TestSaveBlendfile), +]) + +if __name__ == "__main__": + unittest.TextTestRunner(verbosity=2).run(suite()) + bpy.ops.wm.exit_blender() Deleted: branches/soc-2010-leifandersen/tests/data/CMakeLists.txt =================================================================== --- branches/soc-2010-leifandersen/tests/data/CMakeLists.txt 2010-08-12 17:37:36 UTC (rev 31297) +++ branches/soc-2010-leifandersen/tests/data/CMakeLists.txt 2010-08-12 17:48:11 UTC (rev 31298) @@ -1,28 +0,0 @@ -# $Id: CMakeLists.txt 28799 2010-05-17 00:10:16Z leifandersen $ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2006, Blender Foundation -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): Leif Andersen. -# -# ***** END GPL LICENSE BLOCK ***** - -add_subdirectory(data) -add_subdirectory(ops) Copied: branches/soc-2010-leifandersen/tests/data/CMakeLists.txt (from rev 31295, branches/soc-2010-leifandersen/tests/data/data/CMakeLists.txt) =================================================================== --- branches/soc-2010-leifandersen/tests/data/CMakeLists.txt (rev 0) +++ branches/soc-2010-leifandersen/tests/data/CMakeLists.txt 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,14 @@ +FILE(GLOB SRC *.py) + +STRING(REGEX REPLACE ${Blender_SOURCE_DIR} ";${Blender_BINARY_DIR}" BIN ${SRC}) + +FOREACH(PATH ${BIN}) + STRING(REGEX REPLACE "${Blender_BINARY_DIR}/tests/data/data/" "" NAME ${PATH}) + ADD_TEST(DA_${NAME} ${Blender_BINARY_DIR}/bin/blender + -P ${PATH} + ) + SET_TESTS_PROPERTIES(DA_${NAME} PROPERTIES + PASS_REGULAR_EXPRESSION "OK" + TIMEOUT 10 + ) +ENDFOREACH(PATH) Copied: branches/soc-2010-leifandersen/tests/data/lamps.py (from rev 31295, branches/soc-2010-leifandersen/tests/data/data/lamps.py) =================================================================== --- branches/soc-2010-leifandersen/tests/data/lamps.py (rev 0) +++ branches/soc-2010-leifandersen/tests/data/lamps.py 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,18 @@ +import bpy +import tests +import unittest + +class TestLampCreationAndRemoval(unittest.TestCase): + def setUp(self): + bpy.ops.wm.read_homefile(factory=True) + + def test_lamp_creation(self): + pass + +def suite(): + return unittest.TestSuite([unittest.TestLoader().loadTestsFromTestCase(TestLampCreationAndRemoval)]) + +if __name__ == "__main__": + unittest.TextTestRunner(verbosity=2).run(suite()) + bpy.ops.wm.exit_blender() + Copied: branches/soc-2010-leifandersen/tests/data/meshes.py (from rev 31295, branches/soc-2010-leifandersen/tests/data/data/meshes.py) =================================================================== --- branches/soc-2010-leifandersen/tests/data/meshes.py (rev 0) +++ branches/soc-2010-leifandersen/tests/data/meshes.py 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,29 @@ +import unittest +import random + +class TestMeshCreation(unittest.TestCase): + def setUp(self): + bpy.ops.wm.read_homefile(factory=True) + + def test_mesh_count(self): + self.assertEqual(1,len(bpy.data.meshes)) + + def test_mesh_creation(self): + self.assertEqual(1,len(bpy.data.meshes)) + bpy.data.meshes.new("Test") + self.assertEqual(2,len(bpy.data.meshes)) + + def test_mesh_count_setup(self): + self.assertEqual(1,len(bpy.data.meshes)) + + def test_name(self): + self.assertEqual("Test", bpy.data.meshes['Test'].name) + +def suite(): + return unittest.TestSuite([ +unittest.TestLoader().loadTestsFromTestCase(TestMeshCreation), +]) + +if __name__ == "__main__": + unittest.TextTestRunner(verbosity=2).run(suite()) + bpy.ops.wm.exit_blender() Copied: branches/soc-2010-leifandersen/tests/data/objects.py (from rev 31295, branches/soc-2010-leifandersen/tests/data/data/objects.py) =================================================================== --- branches/soc-2010-leifandersen/tests/data/objects.py (rev 0) +++ branches/soc-2010-leifandersen/tests/data/objects.py 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,71 @@ +import bpy +import mathutils +import tests +import unittest +import random + +class TestObjectProperties(unittest.TestCase): + def setUp(self): + bpy.ops.wm.read_homefile(factory=True) + + def test_object_matrix(self): + object = bpy.data.objects.new("Object", None) + bpy.data.scenes[0].objects.link(object) + object.scale = (1, 1, 1) + object.location = (0, 0, 0) + object.rotation_euler = (0, 0, 0) + self.assertEquals(mathutils.Matrix((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1)), object.matrix) + object.scale = (5, 5, 5) + bpy.data.scenes[0].update() + self.assertEquals(mathutils.Matrix((5,0,0,0),(0,5,0,0),(0,0,5,0),(0,0,0,1)), object.matrix) + + +class TestObjectParent(unittest.TestCase): + def setUp(self): + bpy.ops.wm.read_homefile(factory=True) + + def test_object_relationship(self): + parent = bpy.data.objects.new("Parent", None) + child_1 = bpy.data.objects.new("Child-1", None) + child_2 = bpy.data.objects.new("Child-2", None) + self.assertEquals(child_1.parent, None) + self.assertEquals(parent.children, ()) + child_1.parent = child_2.parent = parent + self.assertEquals(child_2.parent, parent) + self.assertEquals(parent.children, (child_1, child_2)) #XXX, should we be testing the order? + child_2.parent = None + self.assertEquals(child_2.parent, None) + self.assertEquals(parent.children, (child_1,)) + child_1.parent = None + self.assertEquals(child_1.parent, None) + self.assertEquals(parent.children, ()) + + def test_object_matrix(self): + child_mesh = bpy.data.meshes.new("Child") + parent_mesh = bpy.data.meshes.new("Parent") + child = bpy.data.objects.new("Child", child_mesh) + parent = bpy.data.objects.new("Parent", parent_mesh) + bpy.data.scenes[0].objects.link(child) + bpy.data.scenes[0].objects.link(parent) + child.scale = (3, 3, 3) + parent.scale = (.5, .5, .5) + + child.parent = parent + + child.scale = (1, 1, 1) + parent.scale = (1, 1, 1) + child.location = (5, 5, 5) + parent.location = (0, 0, 0) + child.rotation_euler = (0, 0, 0) + parent.rotation_euler = (0, 0, 0) + bpy.data.scenes[0].update() + self.assertEquals(mathutils.Matrix((1,0,0,0),(0,1,0,0),(0,0,1,0),(5,5,5,1)), child.matrix) + +def suite(): + return unittest.TestSuite([ +unittest.TestLoader().loadTestsFromTestCase(TestObjectProperties), +unittest.TestLoader().loadTestsFromTestCase(TestObjectParent)]) + +if __name__ == "__main__": + unittest.TextTestRunner(verbosity=2).run(suite()) + bpy.ops.wm.exit_blender() Copied: branches/soc-2010-leifandersen/tests/data/scenes.py (from rev 31295, branches/soc-2010-leifandersen/tests/data/data/scenes.py) =================================================================== --- branches/soc-2010-leifandersen/tests/data/scenes.py (rev 0) +++ branches/soc-2010-leifandersen/tests/data/scenes.py 2010-08-12 17:48:11 UTC (rev 31298) @@ -0,0 +1,196 @@ @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs