[Bf-blender-cvs] [a65af5d0cf] blender2.8: Layers unittest: isolate the depsgraph crash in individual tests

Dalai Felinto noreply at git.blender.org
Thu Mar 2 09:52:37 CET 2017


Commit: a65af5d0cf63c0cbd7542e2c9f02867ae4dafb7a
Author: Dalai Felinto
Date:   Thu Mar 2 09:37:10 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBa65af5d0cf63c0cbd7542e2c9f02867ae4dafb7a

Layers unittest: isolate the depsgraph crash in individual tests

(and re-order the tests alphabetically)

===================================================================

M	tests/python/render_layer/CMakeLists.txt
M	tests/python/render_layer/render_layer_common.py
A	tests/python/render_layer/test_object_link_a.py
R069	tests/python/render_layer/test_link.py	tests/python/render_layer/test_object_link_b.py
A	tests/python/render_layer/test_object_link_c.py

===================================================================

diff --git a/tests/python/render_layer/CMakeLists.txt b/tests/python/render_layer/CMakeLists.txt
index 76d1243ae8..76718a9ed0 100644
--- a/tests/python/render_layer/CMakeLists.txt
+++ b/tests/python/render_layer/CMakeLists.txt
@@ -56,15 +56,10 @@ macro(RENDER_LAYER_TEST test_name)
 	)
 endmacro()
 
-RENDER_LAYER_TEST(scene_write_read)
-RENDER_LAYER_TEST(scene_copy)
-RENDER_LAYER_TEST(layer_syncinc)
-RENDER_LAYER_TEST(layer_linking)
-RENDER_LAYER_TEST(collection_rename)
 RENDER_LAYER_TEST(active_collection)
-RENDER_LAYER_TEST(object_delete)
-RENDER_LAYER_TEST(link)
-RENDER_LAYER_TEST(operator_context)
+RENDER_LAYER_TEST(collection_rename)
+RENDER_LAYER_TEST(evaluation_visibility_a)
+RENDER_LAYER_TEST(evaluation_visibility_b)
 RENDER_LAYER_TEST(object_add_cylinder)
 RENDER_LAYER_TEST(object_add_empty)
 RENDER_LAYER_TEST(object_add_torus)
@@ -72,5 +67,12 @@ RENDER_LAYER_TEST(object_add_no_collection_cylinder)
 RENDER_LAYER_TEST(object_add_no_collection_empty)
 RENDER_LAYER_TEST(object_add_no_collection_torus)
 RENDER_LAYER_TEST(object_copy)
-RENDER_LAYER_TEST(evaluation_visibility_a)
-RENDER_LAYER_TEST(evaluation_visibility_b)
+RENDER_LAYER_TEST(object_delete)
+RENDER_LAYER_TEST(object_link_a)
+RENDER_LAYER_TEST(object_link_b)
+RENDER_LAYER_TEST(object_link_c)
+RENDER_LAYER_TEST(operator_context)
+RENDER_LAYER_TEST(layer_linking)
+RENDER_LAYER_TEST(layer_syncinc)
+RENDER_LAYER_TEST(scene_copy)
+RENDER_LAYER_TEST(scene_write_read)
diff --git a/tests/python/render_layer/render_layer_common.py b/tests/python/render_layer/render_layer_common.py
index d24b80e0d0..10b66bf860 100644
--- a/tests/python/render_layer/render_layer_common.py
+++ b/tests/python/render_layer/render_layer_common.py
@@ -336,3 +336,9 @@ class RenderLayerTesting(unittest.TestCase):
         collection = layer.collections[0]
         self.assertEqual(len(collection.objects), 1, "New collection is empty")
 
+    def do_object_link(self, master_collection):
+        import bpy
+        self.assertEqual(master_collection.name, "Master Collection")
+        self.assertEqual(master_collection, bpy.context.scene.master_collection)
+        master_collection.objects.link(bpy.data.objects.new('object', None))
+
diff --git a/tests/python/render_layer/test_link.py b/tests/python/render_layer/test_object_link_a.py
similarity index 62%
copy from tests/python/render_layer/test_link.py
copy to tests/python/render_layer/test_object_link_a.py
index 387d065dae..a9f32aa284 100644
--- a/tests/python/render_layer/test_link.py
+++ b/tests/python/render_layer/test_object_link_a.py
@@ -17,28 +17,13 @@ from render_layer_common import *
 # ############################################################
 
 class UnitTesting(RenderLayerTesting):
-    def do_link(self, master_collection):
-        import bpy
-        self.assertEqual(master_collection.name, "Master Collection")
-        self.assertEqual(master_collection, bpy.context.scene.master_collection)
-        master_collection.objects.link(bpy.data.objects.new('object', None))
-
-    def test_link_scene(self):
+    def test_object_link_scene(self):
         """
         See if we can link objects
         """
         import bpy
         master_collection = bpy.context.scene.master_collection
-        self.do_link(master_collection)
-
-    def test_link_context(self):
-        """
-        See if we can link objects via bpy.context.scene_collection
-        """
-        import bpy
-        bpy.context.scene.render_layers.active_index = len(bpy.context.scene.render_layers) - 1
-        master_collection = bpy.context.scene_collection
-        self.do_link(master_collection)
+        self.do_object_link(master_collection)
 
 
 # ############################################################
diff --git a/tests/python/render_layer/test_link.py b/tests/python/render_layer/test_object_link_b.py
similarity index 69%
copy from tests/python/render_layer/test_link.py
copy to tests/python/render_layer/test_object_link_b.py
index 387d065dae..b53d8c1994 100644
--- a/tests/python/render_layer/test_link.py
+++ b/tests/python/render_layer/test_object_link_b.py
@@ -17,28 +17,14 @@ from render_layer_common import *
 # ############################################################
 
 class UnitTesting(RenderLayerTesting):
-    def do_link(self, master_collection):
-        import bpy
-        self.assertEqual(master_collection.name, "Master Collection")
-        self.assertEqual(master_collection, bpy.context.scene.master_collection)
-        master_collection.objects.link(bpy.data.objects.new('object', None))
-
-    def test_link_scene(self):
-        """
-        See if we can link objects
-        """
-        import bpy
-        master_collection = bpy.context.scene.master_collection
-        self.do_link(master_collection)
-
-    def test_link_context(self):
+    def test_object_link_context(self):
         """
         See if we can link objects via bpy.context.scene_collection
         """
         import bpy
         bpy.context.scene.render_layers.active_index = len(bpy.context.scene.render_layers) - 1
         master_collection = bpy.context.scene_collection
-        self.do_link(master_collection)
+        self.do_object_link(master_collection)
 
 
 # ############################################################
diff --git a/tests/python/render_layer/test_link.py b/tests/python/render_layer/test_object_link_c.py
similarity index 61%
rename from tests/python/render_layer/test_link.py
rename to tests/python/render_layer/test_object_link_c.py
index 387d065dae..fc0960e4b2 100644
--- a/tests/python/render_layer/test_link.py
+++ b/tests/python/render_layer/test_object_link_c.py
@@ -17,28 +17,16 @@ from render_layer_common import *
 # ############################################################
 
 class UnitTesting(RenderLayerTesting):
-    def do_link(self, master_collection):
-        import bpy
-        self.assertEqual(master_collection.name, "Master Collection")
-        self.assertEqual(master_collection, bpy.context.scene.master_collection)
-        master_collection.objects.link(bpy.data.objects.new('object', None))
-
-    def test_link_scene(self):
+    def test_object_link_reload(self):
         """
-        See if we can link objects
+        See if we can link objects and not crash
         """
         import bpy
         master_collection = bpy.context.scene.master_collection
-        self.do_link(master_collection)
+        self.do_object_link(master_collection)
 
-    def test_link_context(self):
-        """
-        See if we can link objects via bpy.context.scene_collection
-        """
-        import bpy
-        bpy.context.scene.render_layers.active_index = len(bpy.context.scene.render_layers) - 1
-        master_collection = bpy.context.scene_collection
-        self.do_link(master_collection)
+        # force depsgraph to update
+        bpy.ops.wm.read_factory_settings()
 
 
 # ############################################################




More information about the Bf-blender-cvs mailing list