[Bf-blender-cvs] [b4038986c16] soc-2020-testing-frameworks: Cleaned up mesh test file and added/updated physics test files

calra123 noreply at git.blender.org
Sat Aug 8 13:57:04 CEST 2020


Commit: b4038986c16088bba8e28d3acc8e19ddc7e8bfa7
Author: calra123
Date:   Fri Aug 7 23:30:47 2020 +0530
Branches: soc-2020-testing-frameworks
https://developer.blender.org/rBb4038986c16088bba8e28d3acc8e19ddc7e8bfa7

Cleaned up mesh test file and added/updated physics test files

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

M	tests/python/CMakeLists.txt
M	tests/python/modules/mesh_test.py
M	tests/python/physics_cloth.py
M	tests/python/physics_dynamic_paint.py
A	tests/python/physics_ocean.py
M	tests/python/physics_softbody.py

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

diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt
index a3df01fdbe2..d309a11545e 100644
--- a/tests/python/CMakeLists.txt
+++ b/tests/python/CMakeLists.txt
@@ -200,6 +200,40 @@ add_blender_test(
   --run-all-tests
 )
 
+add_blender_test(
+  physics_dynamic_paint
+  ${TEST_SRC_DIR}/physics/dynamic_paint_test.blend
+  --python ${TEST_PYTHON_DIR}/physics_dynamic_paint.py
+  --
+  --run-all-tests
+)
+
+add_blender_test(
+  deform_modifiers
+  ${TEST_SRC_DIR}/modeling/deform_modifiers.blend
+  --python ${TEST_PYTHON_DIR}/deform_modifiers.py
+  --
+  --run-all-tests
+)
+
+add_blender_test(
+  physics_ocean
+  ${TEST_SRC_DIR}/physics/ocean_test.blend
+  --python ${TEST_PYTHON_DIR}/physics_ocean.py
+  --
+  --run-all-tests
+)
+
+
+add_blender_test(
+  particle_system
+  ${TEST_SRC_DIR}/modeling/particle_test.blend
+  --python ${TEST_PYTHON_DIR}/physics_particle_system.py
+  --
+  --run-all-tests
+)
+
+
 add_blender_test(
   constraints
   --python ${CMAKE_CURRENT_LIST_DIR}/bl_constraints.py
diff --git a/tests/python/modules/mesh_test.py b/tests/python/modules/mesh_test.py
index 3f3c6f0d0dc..ad5cb600d42 100644
--- a/tests/python/modules/mesh_test.py
+++ b/tests/python/modules/mesh_test.py
@@ -75,52 +75,6 @@ class ModifierSpec:
                " with parameters: " + str(self.modifier_parameters)
 
 
-class PhysicsSpec:
-    """
-    Holds one Physics modifier and its parameters.
-    """
-
-    def __init__(self, modifier_name: str, modifier_type: str, modifier_parameters: dict, frame_end: int):
-        """
-        Constructs a physics spec.
-        :param modifier_name: str - name of object modifier, e.g. "Cloth"
-        :param modifier_type: str - type of object modifier, e.g. "CLOTH"
-        :param modifier_parameters: dict - {name : val} dictionary giving modifier parameters, e.g. {"quality" : 4}
-        :param frame_end:int - the last frame of the simulation at which it is baked
-        """
-        self.modifier_name = modifier_name
-        self.modifier_type = modifier_type
-        self.modifier_parameters = modifier_parameters
-        self.frame_end = frame_end
-
-    def __str__(self):
-        return "Physics Modifier: " + self.modifier_name + " of type " + self.modifier_type + \
-               " with parameters: " + str(self.modifier_parameters) + " with frame end: " + str(self.frame_end)
-
-
-class FluidDyanmicPaintSpec:
-    """
-    Holds a Fluid modifier and a Dynamic Paint modifier and their parameters.
-    """
-
-    def __init__(self, modifier_name: str, modifier_type: str, sub_type: str, modifier_parameters: dict, frame_end: int):
-        """
-        Constructs a Fluid/Dynamic Paint spec.
-        :param modifier_name: str - name of object modifier, e.g. "FLUID"
-        :param sub_type: str - type of fluid, e.g. "Domain"
-        :param modifier_parameters: dict - {name : val} dictionary giving modifier parameters, e.g. {"use_mesh" : True}
-        :param frame_end:int - the frame at which the modifier is "applied"
-        """
-        self.modifier_name = modifier_name
-        self.sub_type = sub_type
-        self.modifier_parameters = modifier_parameters
-        self.modifier_type = modifier_type
-        self.frame_end = frame_end
-
-    def __str__(self):
-        return "Modifier: " + self.modifier_name + " of type " + self.modifier_type + \
-               " with parameters: " + str(self.modifier_parameters) + " with frame end: " + str(self.frame_end)
-
 class ParticleSystemSpec:
     """
     Holds a Particle System modifier and its parameters.
@@ -144,7 +98,6 @@ class ParticleSystemSpec:
                " with parameters: " + str(self.modifier_parameters) + " with frame end: " + str(self.frame_end)
 
 
-
 class OperatorSpec:
     """
     Holds one operator and its parameters.
@@ -231,12 +184,12 @@ class MeshTest:
         if operations_stack is None:
             operations_stack = []
         for operation in operations_stack:
-            if not (isinstance(operation, ModifierSpec) or isinstance(operation, OperatorSpec) or isinstance(operation, PhysicsSpec)
+            if not (isinstance(operation, ModifierSpec) or isinstance(operation, OperatorSpec)
                     or isinstance(operation, ObjectOperatorSpec) or isinstance(operation, DeformModifierSpec)
-                    or isinstance(operation, FluidDyanmicPaintSpec) or isinstance(operation, ParticleSystemSpec)):
-                raise ValueError("Expected operation of type {} or {} or {} or {} or {} or {}. Got {}".
-                                 format(type(ModifierSpec), type(OperatorSpec), type(PhysicsSpec),
-                                        type(DeformModifierSpec), type(FluidDyanmicPaintSpec), type(ParticleSystemSpec),
+                    or isinstance(operation, ParticleSystemSpec)):
+                raise ValueError("Expected operation of type {} or {} or {} or {}. Got {}".
+                                 format(type(ModifierSpec), type(OperatorSpec),
+                                        type(DeformModifierSpec), type(ParticleSystemSpec),
                                         type(operation)))
         self.operations_stack = operations_stack
         self.apply_modifier = apply_modifiers
@@ -402,7 +355,7 @@ class MeshTest:
         self.set_parameters(modifier, modifier_spec.modifier_parameters)
 
         if modifier.type in bakers_list:
-            self._bake_current_simulation(test_object, modifier.type, modifier.name, modifier_spec.frame_end)
+            self._bake_current_simulation(test_object, modifier.name, modifier_spec.frame_end)
 
         scene.frame_set(modifier_spec.frame_end)
 
@@ -441,105 +394,6 @@ class MeshTest:
                     bpy.ops.ptcache.bake(override, bake=True)
                     break
 
-
-    def _apply_physics_settings(self, test_object, physics_spec: PhysicsSpec):
-        """
-        Apply Physics settings to test objects.
-        """
-        scene = bpy.context.scene
-        scene.frame_set(1)
-        modifier = test_object.modifiers.new(physics_spec.modifier_name,
-                                             physics_spec.modifier_type)
-        physics_setting = modifier.settings
-        if self.verbose:
-            print("Created modifier '{}' of type '{}'.".
-                  format(physics_spec.modifier_name, physics_spec.modifier_type))
-
-        for param_name in physics_spec.modifier_parameters:
-            try:
-                setattr(physics_setting, param_name, physics_spec.modifier_parameters[param_name])
-                if self.verbose:
-                    print("\t set parameter '{}' with value '{}'".
-                          format(param_name, physics_spec.modifier_parameters[param_name]))
-            except AttributeError:
-                # Clean up first
-                bpy.ops.object.delete()
-                raise AttributeError("Modifier '{}' has no parameter named '{}'".
-                                     format(physics_spec.modifier_type, param_name))
-
-        scene.frame_set(physics_spec.frame_end + 1)
-
-        self._bake_current_simulation(test_object, physics_spec.modifier_type, physics_spec.modifier_name, physics_spec.frame_end)
-        if self.apply_modifier:
-            self._apply_modifier(test_object, physics_spec.modifier_name)
-
-    def _apply_fluid_settings(self, test_object, fluid_paint_spec: FluidDyanmicPaintSpec):
-        """
-        Apply Fluid settings to test objects.
-        """
-        scene = bpy.context.scene
-        scene.frame_set(1)
-        modifier = test_object.modifiers.new(fluid_paint_spec.modifier_name,
-                                             fluid_paint_spec.modifier_type)
-
-        physics_setting = None
-        physics_canvas_surface_settings = None
-
-        if fluid_paint_spec.modifier_type == "FLUID":
-            modifier.fluid_type = fluid_paint_spec.sub_type
-            if fluid_paint_spec.sub_type == "DOMAIN":
-                physics_setting = modifier.domain_settings
-            elif fluid_paint_spec.sub_type == "FLOW":
-                physics_setting = modifier.flow_settings
-            elif fluid_paint_spec.sub_type == "EFFECTOR":
-                physics_setting = modifier.effector_settings
-
-        elif fluid_paint_spec.modifier_type == "DYNAMIC_PAINT":
-            modifier.ui_type = fluid_paint_spec.sub_type
-
-            if fluid_paint_spec.sub_type == "CANVAS":
-                bpy.ops.dpaint.type_toggle(type='CANVAS')
-                physics_setting = modifier.canvas_settings
-            elif fluid_paint_spec.sub_type == "BRUSH":
-                bpy.ops.dpaint.type_toggle(type='BRUSH')
-                physics_setting = modifier.brush_settings
-
-        if self.verbose:
-            print("Created modifier '{}' of type '{}'.".
-                  format(fluid_paint_spec.modifier_name, fluid_paint_spec.modifier_type))
-
-        for param_name in fluid_paint_spec.modifier_parameters:
-            try:
-                setattr(physics_setting, param_name, fluid_paint_spec.modifier_parameters[param_name])
-                if self.verbose:
-                    print("\t set parameter '{}' with value '{}'".
-                          format(param_name, fluid_paint_spec.modifier_parameters[param_name]))
-            except AttributeError:
-                try:
-                    physics_canvas_surface_settings = physics_setting.canvas_surfaces.active
-                    setattr(physics_canvas_surface_settings, param_name, fluid_paint_spec.modifier_parameters[param_name])
-                    if self.verbose:
-                        print("\t set parameter '{}' with value '{}'".
-                              format(param_name, fluid_paint_spec.modifier_parameters[param_name]))
-                except AttributeError:
-                    # Clean up first
-                    bpy.ops.object.delete()
-                    raise AttributeError("Modifier '{}' has no parameter named '{}'".
-                                         format(fluid_paint_spec.modifier_type, param_name))
-
-        if fluid_paint_spec.modifier_type == "FLUID":
-            bpy.ops.fluid.bake_all()
-        elif fluid_paint_spec.modifier_type == "DYNAMIC_PAINT":
-   

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list