[Bf-blender-cvs] [16d58a509aa] soc-2020-testing-frameworks: Added Curve support in framework and tests for Generate Modifiers
calra123
noreply at git.blender.org
Sun Jul 26 21:27:53 CEST 2020
Commit: 16d58a509aa7c2aaf14bc39915261aca8e2f9123
Author: calra123
Date: Sat Jul 18 03:51:15 2020 +0530
Branches: soc-2020-testing-frameworks
https://developer.blender.org/rB16d58a509aa7c2aaf14bc39915261aca8e2f9123
Added Curve support in framework and tests for Generate Modifiers
===================================================================
M tests/python/modifiers.py
M tests/python/modules/mesh_test.py
===================================================================
diff --git a/tests/python/modifiers.py b/tests/python/modifiers.py
index f0b2ef77c37..6450826d181 100644
--- a/tests/python/modifiers.py
+++ b/tests/python/modifiers.py
@@ -266,6 +266,43 @@ def main():
["WavePlane", "testObjPlaneWave", "expObjPlaneWave",
[ModifierSpec('wave', 'WAVE', {})]],
+ #### CURVES ####
+ # Caution: Make sure test object has no modifier in "added" state, the test may fail.
+ ["BezCurveArray", "testObjBezierCurveArray", "expObjBezierCurveArray",
+ [ModifierSpec('array', 'ARRAY', {})]],
+
+ ["CurveBevel", "testObjBezierCurveBevel", "expObjBezierCurveBevel",
+ [ModifierSpec('bevel', 'BEVEL', {})]],
+
+ ["CurveBuild", "testObjBezierCurveBuild", "expObjBezierCurveBuild",
+ [ModifierSpec('build', 'BUILD', {'frame_start': 0, 'frame_duration': 1})]],
+
+ ["CurveDecimate", "testObjBezierCurveDecimate", "expObjBezierCurveDecimate",
+ [ModifierSpec('decimate', 'DECIMATE', {'ratio':0.5})]],
+
+ ["CurveEdgeSplit", "testObjBezierCurveEdgeSplit", "expObjBezierCurveEdgeSplit",
+ [ModifierSpec('edgeSplit', 'EDGE_SPLIT', {})]],
+
+ ["CurveMirror", "testObjBezierCurveMirror", "expObjBezierCurveMirror",
+ [ModifierSpec('mirror', 'MIRROR', {'use_axis': (True, True, False)})]],
+
+ ["CurveScrew", "testObjBezierCurveScrew", "expObjBezierCurveScrew",
+ [ModifierSpec('screw', 'SCREW', {})]],
+
+ ["CurveSolidify", "testObjBezierCurveSolidify", "expObjBezierCurveSolidify",
+ [ModifierSpec('solidify', 'SOLIDIFY', {'thickness':1})]],
+
+ ["CurveSubSurf", "testObjBezierCurveSubSurf", "expObjBezierCurveSubSurf",
+ [ModifierSpec('subSurf', 'SUBSURF', {})]],
+
+ ["CurveTriangulate", "testObjBezierCurveTriangulate", "expObjBezierCurveTriangulate",
+ [ModifierSpec('triangulate', 'TRIANGULATE', {})]],
+
+ # Test 60
+ ["CurveWeld", "testObjBezierCurveWeld", "expObjBezierCurveWeld",
+ [ModifierSpec('weld', 'WELD', {})]],
+
+
]
modifiers_test = ModifierTest(tests)
diff --git a/tests/python/modules/mesh_test.py b/tests/python/modules/mesh_test.py
index d8c81396f41..df11cdca4df 100644
--- a/tests/python/modules/mesh_test.py
+++ b/tests/python/modules/mesh_test.py
@@ -297,6 +297,14 @@ class MeshTest:
raise AttributeError("Modifier '{}' has no parameter named '{}'".
format(modifier_spec.modifier_type, param_name))
+ def _apply_modifier(self, test_object, modifier_name):
+ # Modifier automatically gets applied when converting from Curve to Mesh.
+ if test_object.type == 'CURVE':
+ bpy.ops.object.convert(target='MESH')
+
+ elif test_object.type == 'MESH':
+ bpy.ops.object.modifier_apply(modifier=modifier_name)
+
def _bake_current_simulation(self, obj, test_mod_type, test_mod_name, frame_end):
for scene in bpy.data.scenes:
for modifier in obj.modifiers:
@@ -414,7 +422,8 @@ class MeshTest:
if self.apply_modifier:
for mod_name in modifier_names:
- bpy.ops.object.modifier_apply(modifier=mod_name)
+ self._apply_modifier(test_object, mod_name)
+
def run_test(self):
"""
@@ -443,7 +452,7 @@ class MeshTest:
if isinstance(operation, ModifierSpec):
self._add_modifier(evaluated_test_object, operation)
if self.apply_modifier:
- bpy.ops.object.modifier_apply(modifier=operation.modifier_name)
+ self._apply_modifier(evaluated_test_object,operation.modifier_name)
elif isinstance(operation, OperatorSpec):
self._apply_operator(evaluated_test_object, operation)
More information about the Bf-blender-cvs
mailing list