[Bf-blender-cvs] [2f6b146f9f4] temp-group-collections: Assert on IDProp merge routine to simplify debug process

Dalai Felinto noreply at git.blender.org
Wed Nov 1 18:14:52 CET 2017


Commit: 2f6b146f9f43f35c255ac810b8c60f13556ea519
Author: Dalai Felinto
Date:   Mon Oct 30 19:04:56 2017 -0200
Branches: temp-group-collections
https://developer.blender.org/rB2f6b146f9f43f35c255ac810b8c60f13556ea519

Assert on IDProp merge routine to simplify debug process

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

M	source/blender/blenkernel/intern/idprop.c
M	tests/python/render_layer/CMakeLists.txt
M	tests/python/render_layer/test_group_a.py
M	tests/python/render_layer/test_group_b.py
A	tests/python/render_layer/test_group_c.py

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

diff --git a/source/blender/blenkernel/intern/idprop.c b/source/blender/blenkernel/intern/idprop.c
index b00a62a1a87..f89638732c5 100644
--- a/source/blender/blenkernel/intern/idprop.c
+++ b/source/blender/blenkernel/intern/idprop.c
@@ -609,6 +609,9 @@ void IDP_MergeGroup_ex(IDProperty *dest, const IDProperty *src, const bool do_ov
 {
 	IDProperty *prop;
 
+	BLI_assert(dest != NULL);
+	BLI_assert(src != NULL);
+
 	BLI_assert(dest->type == IDP_GROUP);
 	BLI_assert(src->type == IDP_GROUP);
 
diff --git a/tests/python/render_layer/CMakeLists.txt b/tests/python/render_layer/CMakeLists.txt
index 305a1c93b58..0f4d373f720 100644
--- a/tests/python/render_layer/CMakeLists.txt
+++ b/tests/python/render_layer/CMakeLists.txt
@@ -88,6 +88,7 @@ RENDER_LAYER_TEST(evaluation_selectability_e)
 RENDER_LAYER_TEST(evaluation_selectability_f)
 RENDER_LAYER_TEST(group_a)
 RENDER_LAYER_TEST(group_b)
+RENDER_LAYER_TEST(group_c)
 RENDER_LAYER_TEST(object_add_cylinder)
 RENDER_LAYER_TEST(object_add_empty)
 RENDER_LAYER_TEST(object_add_torus)
diff --git a/tests/python/render_layer/test_group_a.py b/tests/python/render_layer/test_group_a.py
index 90ef715e789..d7e8e6b2f95 100644
--- a/tests/python/render_layer/test_group_a.py
+++ b/tests/python/render_layer/test_group_a.py
@@ -22,6 +22,14 @@ class UnitTesting(RenderLayerTesting):
         scene = bpy.context.scene
         layer_collection = bpy.context.layer_collection
 
+        # Cleanup Viewport render layer
+        # technically this shouldn't be needed but
+        # for now we need it because depsgraph build all the scenelayers
+        # at once.
+
+        while len(scene.render_layers) > 1:
+            scene.render_layers.remove(scene.render_layers[1])
+
         # create group
         group = layer_collection.create_group()
 
diff --git a/tests/python/render_layer/test_group_b.py b/tests/python/render_layer/test_group_b.py
index 4df21aac2ea..d9e66ad8f09 100644
--- a/tests/python/render_layer/test_group_b.py
+++ b/tests/python/render_layer/test_group_b.py
@@ -14,7 +14,6 @@ from render_layer_common import *
 # ############################################################
 
 class UnitTesting(RenderLayerTesting):
-
     def test_group_create_basic(self):
         """
         See if the creation of new groups is working
diff --git a/tests/python/render_layer/test_group_a.py b/tests/python/render_layer/test_group_c.py
similarity index 60%
copy from tests/python/render_layer/test_group_a.py
copy to tests/python/render_layer/test_group_c.py
index 90ef715e789..05fbbe968f2 100644
--- a/tests/python/render_layer/test_group_a.py
+++ b/tests/python/render_layer/test_group_c.py
@@ -20,13 +20,27 @@ class UnitTesting(RenderLayerTesting):
         """
         import bpy
         scene = bpy.context.scene
-        layer_collection = bpy.context.layer_collection
+
+        # clean slate
+        self.cleanup_tree()
+
+        child = bpy.data.objects.new("Child", None)
+        master_collection = scene.master_collection
+        scene_collection = master_collection.collections.new('Collection')
+        scene_collection.objects.link(child)
+
+        layer_collection_one = scene.render_layers[0].collections.link(scene_collection)
+        layer_collection_two = scene.render_layers[0].collections.link(scene_collection)
+
+        # update depsgraph
+        scene.update()
 
         # create group
-        group = layer_collection.create_group()
+        group = layer_collection_one.create_group()
 
         # update depsgraph
         scene.update()
+        scene.depsgraph.debug_graphviz("/tmp/a.dot")
 
 
 # ############################################################



More information about the Bf-blender-cvs mailing list