Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2018-03-13 22:10:20 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-03-14 14:13:27 +0300
commite7c3c46e8902a214c12f2cba70790646a6fcfda6 (patch)
tree9542b3d995303fb73f18b48a10ce5f879c1f661f /tests/python/view_layer
parent59aa8d22efa2c7a1dff23211a1f63e2d5bdd0783 (diff)
Fix make single user crash
How to reproduce the crash: * Factory startup * 'u'key (make single user) It comes with a simple unittest to reproduce the original issue.
Diffstat (limited to 'tests/python/view_layer')
-rw-r--r--tests/python/view_layer/CMakeLists.txt1
-rw-r--r--tests/python/view_layer/test_make_single_user.py54
2 files changed, 55 insertions, 0 deletions
diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt
index 77a56fb47f9..9cb33420ac5 100644
--- a/tests/python/view_layer/CMakeLists.txt
+++ b/tests/python/view_layer/CMakeLists.txt
@@ -108,6 +108,7 @@ VIEW_LAYER_TEST(object_link_a)
VIEW_LAYER_TEST(object_link_b)
VIEW_LAYER_TEST(object_link_c)
VIEW_LAYER_TEST(operator_context)
+VIEW_LAYER_TEST(make_single_user)
VIEW_LAYER_TEST(move_above_below_scene_collection_a)
VIEW_LAYER_TEST(move_above_below_scene_collection_b)
VIEW_LAYER_TEST(move_above_below_scene_collection_c)
diff --git a/tests/python/view_layer/test_make_single_user.py b/tests/python/view_layer/test_make_single_user.py
new file mode 100644
index 00000000000..2a8a479bab2
--- /dev/null
+++ b/tests/python/view_layer/test_make_single_user.py
@@ -0,0 +1,54 @@
+# ############################################################
+# Importing - Same For All Render Layer Tests
+# ############################################################
+
+import unittest
+import os
+import sys
+
+from view_layer_common import *
+
+
+# ############################################################
+# Testing
+# ############################################################
+
+class UnitTesting(ViewLayerTesting):
+ def test_make_single_user(self):
+ """
+ Really basic test, just to check for crashes on basic files.
+ """
+ import bpy
+ scene = bpy.context.scene
+ master_collection = scene.master_collection
+ view_layer = bpy.context.view_layer
+ ob = bpy.context.object
+
+ # clean up the scene a bit
+ for o in (o for o in view_layer.objects if o != ob):
+ view_layer.collections[0].collection.objects.unlink(o)
+
+ for v in (v for v in scene.view_layers if v != view_layer):
+ scene.view_layers.remove(v)
+
+ while master_collection.collections:
+ master_collection.collections.remove(
+ master_collection.collections[0])
+
+ view_layer.collections.link(master_collection)
+ ob.select_set('SELECT')
+
+ # update depsgraph
+ scene.update()
+
+ # test itself
+ bpy.ops.object.make_single_user(object=True)
+
+
+# ############################################################
+# Main - Same For All Render Layer Tests
+# ############################################################
+
+if __name__ == '__main__':
+ UnitTesting._extra_arguments = setup_extra_arguments(__file__)
+ unittest.main()