Runs tests based on blend files with minimum python interaction.
Developed as part of GSoC 2021 - Regression Testing of Geometry Nodes.
Earlier, tests were built from scratch by adding a modifier/operation
from the Python API.
Now, tests can also be created inside blender and are compared using
Python script.
Features: Automatically adding expected object if it doesn't exist.
This patch adds tests for the following Geometry Nodes category:
- Curves
- Geometry
- Mesh
- Points
The implemented UML diagram for refactoring of mesh test framework.
Technical Changes:
SpecMeshTest: It adds the modifier/operation based on the Spec provided.
BlendFileTest: It applies already existing modifier/operation from the blend file.
Test folders hierarchy with tests. This folder should be extracted to lib\tests\modeling
Note: The geometry_nodes folder might lie under another geometry_nodes folder while extracting, please double check. Use the inner-most one.
The hierarchy should be:
-lib\tests\modeling\geometry_nodes\mesh
-lib\tests\modeling\geometry_nodes\points
and so on.
- From ctest the tests should be run as ctest -R geo_node -C [Configuration] on Windows.
- Each single test can be run with its entire name e..g ctest -R geo_node_geometry_join_geometry.(just an example). Run ctest -N -R geo_node to see all tests.
- From blender, the tests can be run blender -b path\to\blend\file --python path\to\geo_node_test.py
