Changeset View
Changeset View
Standalone View
Standalone View
tests/python/modifiers.py
- This file was added.
| # ##### BEGIN GPL LICENSE BLOCK ##### | |||||
| # | |||||
| # This program is free software; you can redistribute it and/or | |||||
| # modify it under the terms of the GNU General Public License | |||||
| # as published by the Free Software Foundation; either version 2 | |||||
| # of the License, or (at your option) any later version. | |||||
| # | |||||
| # This program is distributed in the hope that it will be useful, | |||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| # GNU General Public License for more details. | |||||
| # | |||||
| # You should have received a copy of the GNU General Public License | |||||
| # along with this program; if not, write to the Free Software Foundation, | |||||
| # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
| # | |||||
| # ##### END GPL LICENSE BLOCK ##### | |||||
| # <pep8 compliant> | |||||
| import bpy | |||||
| import os | |||||
| import pathlib | |||||
| import sys | |||||
| import importlib | |||||
| blend_dir = pathlib.Path(bpy.data.filepath) | |||||
| test_dir = blend_dir.parent.parent.parent.parent/"blender"/"tests"/"python"/"modules" | |||||
| if str(test_dir) not in sys.path: | |||||
| sys.path.append(str(test_dir)) | |||||
| import mesh_test | |||||
| importlib.reload(mesh_test) | |||||
brecht: This list seems unused, so can be removed?
It's going to go out of date quickly. | |||||
| from mesh_test import MeshTest, ModifierSpec | |||||
| def main(): | |||||
| modifier_list = [ | |||||
| ModifierSpec( "firstSUBSURF", "SUBSURF", {"quality" : 5}, True ), | |||||
brechtUnsubmitted Done Inline ActionsStyle: no space before or after brackets. brecht: Style: no space before or after brackets. | |||||
| ModifierSpec( "firstSOLIDIFY", "SOLIDIFY", {"thickness_clamp" : 0.9, "thickness" : 1}, True ) | |||||
| ] | |||||
| test_object_name = "testCube" | |||||
| expected_object_name = "expectedCube" | |||||
| test = MeshTest(test_object_name, expected_object_name) | |||||
| test.add_modifier(modifier_list[0]) | |||||
| test.add_modifier(modifier_list[1]) | |||||
| success = test.run_test() | |||||
| if test.is_test_updated(): | |||||
| # run the test again if the blend file has been updated | |||||
| success = test.run_test() | |||||
| if not success: | |||||
| raise Exception("Test failed.") | |||||
| if __name__ == "__main__": | |||||
| try: | |||||
| main() | |||||
| except: | |||||
| import traceback | |||||
| traceback.print_exc() | |||||
| sys.exit(1) | |||||
This list seems unused, so can be removed?
It's going to go out of date quickly.