Commit: 7907803694c50184539b7ed35a6337caa93d2af3
Author: Hans Goudey
Date:   Tue Dec 20 10:39:27 2022 -0600
Branches: master
https://developer.blender.org/rB7907803694c50184539b7ed35a6337caa93d2af3

Tests: Remove random shuffling from modifiers test

These are meant to be regression tests, not fuzz tests. The "random"
shuffling made debugging quite annoying, even though the random order
was the same every time. Instead, hard-code the two lists to make
things more obvious. The resulting list doesn't make much sense
(for example, the multires modifier has to be first in the stack),
but for now avoid changing things further.

Also remove some comments that weren't helpful.

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

M       tests/python/modifiers.py

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

diff --git a/tests/python/modifiers.py b/tests/python/modifiers.py
index 93448841dfd..f16d91d41f9 100644
--- a/tests/python/modifiers.py
+++ b/tests/python/modifiers.py
@@ -13,68 +13,48 @@ from modules.mesh_test import RunTest, ModifierSpec, 
SpecMeshTest
 seed(0)
 
 
-def get_generate_modifiers_list(test_object_name, randomize=False):
-    """
-    Construct a list of 'Generate' modifiers with default parameters.
-    :arg test_object_name: Name of test object. Some modifiers like boolean 
need an extra parameter beside
-       the default one. E.g. boolean needs object, mask needs vertex group 
etc...
-       The extra parameter name will be <test_object_name>_<modifier_type>
-    :type test_object_name: str
-    :arg randomize: If True shuffle the list of modifiers.
-    :type randomize: bool
-    :return: list of 'Generate' modifiers with default parameters.
-    """
-
-    boolean_test_object = bpy.data.objects[test_object_name + "_boolean"]
-
+def cube_mask_first_modifier_list():
     generate_modifiers = [
-        ModifierSpec('array', 'ARRAY', {}),
+        ModifierSpec('mask', 'MASK', {'vertex_group': 
"testCubeMaskFirst_mask"}),
+        ModifierSpec('solidify', 'SOLIDIFY', {}),
+        ModifierSpec('triangulate', 'TRIANGULATE', {}),
         ModifierSpec('bevel', 'BEVEL', {'width': 0.1, 'limit_method': 'NONE'}),
-        ModifierSpec('boolean', 'BOOLEAN', {'object': boolean_test_object, 
'solver': 'FAST'}),
+        ModifierSpec('boolean', 'BOOLEAN', {'object': 
bpy.data.objects["testCubeMaskFirst_boolean"], 'solver': 'FAST'}),
+        ModifierSpec('edge split', 'EDGE_SPLIT', {}),
         ModifierSpec('build', 'BUILD', {'frame_start': 1, 'frame_duration': 
1}, 2),
+        ModifierSpec('multires', 'MULTIRES', {}),
         ModifierSpec('decimate', 'DECIMATE', {}),
-        ModifierSpec('edge split', 'EDGE_SPLIT', {}),
-
-        # mask can effectively delete the mesh since the vertex group need to 
be updated after each
-        # applied modifier. Needs to be tested separately.
-        # ModifierSpec('mask', 'MASK', {'vertex_group': mask_vertex_group}, 
False),
+        ModifierSpec('array', 'ARRAY', {}),
+        ModifierSpec('wireframe', 'WIREFRAME', {}),
+        ModifierSpec('mirror', 'MIRROR', {}),
+    ]
+    return generate_modifiers
 
+def cube_random_modifier_list():
+    generate_modifiers = [
+        ModifierSpec('edge split', 'EDGE_SPLIT', {}),
+        ModifierSpec('decimate', 'DECIMATE', {}),
+        ModifierSpec('wireframe', 'WIREFRAME', {}),
         ModifierSpec('mirror', 'MIRROR', {}),
+        ModifierSpec('array', 'ARRAY', {}),
+        ModifierSpec('bevel', 'BEVEL', {'width': 0.1, 'limit_method': 'NONE'}),
         ModifierSpec('multires', 'MULTIRES', {}),
-
-        # remesh can also generate an empty mesh. Skip.
-        # ModifierSpec('remesh', 'REMESH', {}),
-
-        # ModifierSpec('screw', 'SCREW', {}), # screw can make the test very 
slow. Skipping for now.
-
+        ModifierSpec('boolean', 'BOOLEAN', {'object': 
bpy.data.objects["testCubeRandom_boolean"], 'solver': 'FAST'}),
         ModifierSpec('solidify', 'SOLIDIFY', {}),
-        # Opensubdiv results might differ slightly when compiled with 
different optimization flags.
-        #ModifierSpec('subsurf', 'SUBSURF', {}),
+        ModifierSpec('build', 'BUILD', {'frame_start': 1, 'frame_duration': 
1}, 2),
         ModifierSpec('triangulate', 'TRIANGULATE', {}),
-        ModifierSpec('wireframe', 'WIREFRAME', {})
-
     ]
-
-    if randomize:
-        shuffle(generate_modifiers)
-
     return generate_modifiers
 
-
 def main():
-    mask_first_list = get_generate_modifiers_list("testCubeMaskFirst", 
randomize=True)
-    mask_vertex_group = "testCubeMaskFirst" + "_mask"
-    mask_first_list.insert(0, ModifierSpec('mask', 'MASK', {'vertex_group': 
mask_vertex_group}))
 
     tests = [
         ###############################
         # List of 'Generate' modifiers on a cube
         ###############################
         # 0
-        # SpecMeshTest("testCube", "expectedCube", 
get_generate_modifiers_list("testCube")),
-        SpecMeshTest("CubeRandom", "testCubeRandom", "expectedCubeRandom",
-                     get_generate_modifiers_list("testCubeRandom", 
randomize=True)),
-        SpecMeshTest("CubeMaskFirst", "testCubeMaskFirst", 
"expectedCubeMaskFirst", mask_first_list),
+        SpecMeshTest("CubeRandom", "testCubeRandom", "expectedCubeRandom", 
cube_random_modifier_list()),
+        SpecMeshTest("CubeMaskFirst", "testCubeMaskFirst", 
"expectedCubeMaskFirst", cube_mask_first_modifier_list()),
 
         SpecMeshTest("CollapseDecimate", "testCollapseDecimate", 
"expectedCollapseDecimate",
                      [ModifierSpec('decimate', 'DECIMATE',

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to