[Bf-blender-cvs] [25e388c8b12] soc-2021-geometry-nodes-regression-test: Addressed comments by Habib
Himanshi Kalra
noreply at git.blender.org
Tue Jul 20 11:59:08 CEST 2021
Commit: 25e388c8b120ef269a0b6e064c5a72b504f1657e
Author: Himanshi Kalra
Date: Tue Jul 20 15:06:44 2021 +0530
Branches: soc-2021-geometry-nodes-regression-test
https://developer.blender.org/rB25e388c8b120ef269a0b6e064c5a72b504f1657e
Addressed comments by Habib
===================================================================
M tests/python/geo_node_test.py
M tests/python/modules/mesh_test.py
===================================================================
diff --git a/tests/python/geo_node_test.py b/tests/python/geo_node_test.py
index 6d6f5cc2963..fa87fb23bee 100644
--- a/tests/python/geo_node_test.py
+++ b/tests/python/geo_node_test.py
@@ -30,4 +30,4 @@ result = geo_node_test.run_test()
# Telling `ctest` about the failed test by raising Exception.
if result == False:
- raise Exception("Failed {}".format(geo_node_test.test_name))
\ No newline at end of file
+ raise Exception("Failed {}".format(geo_node_test.test_name))
diff --git a/tests/python/modules/mesh_test.py b/tests/python/modules/mesh_test.py
index b03a865cf7b..78da41f4dee 100644
--- a/tests/python/modules/mesh_test.py
+++ b/tests/python/modules/mesh_test.py
@@ -205,7 +205,8 @@ class MeshTest(ABC):
Creates an expected object 10 units away
in Y direction from test object.
"""
- print("Creating expected object...")
+ if self.verbose:
+ print("Creating expected object...")
evaluated_object = self.create_evaluated_object()
self.expected_object = evaluated_object
self.expected_object.name = self.exp_object_name
@@ -245,7 +246,7 @@ class MeshTest(ABC):
"""
self.create_evaluated_object()
- self.apply_operations(self.evaluated_object)
+ self.apply_operations(self.evaluated_object.name)
if not self.do_compare:
print("\nVisualization purpose only: Open Blender in GUI mode")
@@ -333,7 +334,9 @@ class MeshTest(ABC):
items[index].select = True
def update_failed_test(self):
- # Update expected object.
+ """
+ Updates expected object.
+ """
self.evaluated_object.location = self.expected_object.location
expected_object_name = self.expected_object.name
evaluated_selection = {
@@ -402,13 +405,18 @@ class MeshTest(ABC):
return result_codes
@abstractmethod
- def apply_operations(self, any_object):
+ def apply_operations(self, object_name):
+ """
+ Apply operations on this object.
+
+ object_name (str): Name of the test object on which operations will be applied.
+ """
pass
class SpecMeshTest(MeshTest):
"""
- A mesh testing inherited from MeshTest class targeted at testing modifiers and operators on a single object.
+ A mesh testing class inherited from MeshTest class targeted at testing modifiers and operators on a single object.
It holds a stack of mesh operations, i.e. modifiers or operators. The test is executed using MeshTest's run_test.
"""
@@ -429,7 +437,6 @@ class SpecMeshTest(MeshTest):
:param apply_modifier: bool - True if we want to apply the modifiers right after adding them to the object.
- True if we want to apply the modifier to list of modifiers, after some operation.
This affects operations of type ModifierSpec and DeformModifierSpec.
- :param do_compare: bool - True if we want to compare the test and expected objects, False otherwise.
"""
super().__init__(test_object_name, exp_object_name, test_name, threshold)
@@ -440,9 +447,12 @@ class SpecMeshTest(MeshTest):
self.operations_stack = operations_stack
self.apply_modifier = apply_modifier
- def apply_operations(self, evaluated_test_object):
+ def apply_operations(self, evaluated_test_object_name):
# Add modifiers and operators.
- print("Applying operations...")
+ SpecMeshTest.apply_operations.__doc__ = MeshTest.apply_operations.__doc__
+ evaluated_test_object = bpy.data.objects[evaluated_test_object_name]
+ if self.verbose:
+ print("Applying operations...")
for operation in self.operations_stack:
if isinstance(operation, ModifierSpec):
self._add_modifier(evaluated_test_object, operation)
@@ -701,11 +711,13 @@ class BlendFileTest(MeshTest):
blend file i.e. without adding them from scratch or without adding specifications.
"""
- def apply_operations(self, evaluated_test_object):
- """
- Apply all modifiers added to the current object.
- """
+ def apply_operations(self, evaluated_test_object_name):
+
+ BlendFileTest.apply_operations.__doc__ = MeshTest.apply_operations.__doc__
+ evaluated_test_object = bpy.data.objects[evaluated_test_object_name]
modifiers_list = evaluated_test_object.modifiers
+ if not modifiers_list:
+ raise Exception("No modifiers are added to test object.")
for modifier in modifiers_list:
bpy.ops.object.modifier_apply(modifier=modifier.name)
@@ -812,15 +824,8 @@ class RunTest:
raise Exception('No test called {} found!'.format(test_name))
test = case
- if self.apply_modifiers:
- test.apply_modifier = True
- else:
- test.apply_modifier = False
-
- if self.do_compare:
- test.do_compare = True
- else:
- test.do_compare = False
+ test.apply_modifier = self.apply_modifiers
+ test.do_compare = self.do_compare
success = test.run_test()
return success
More information about the Bf-blender-cvs
mailing list