Example, imagine an object Cube in collections 1 and 2 where both collections are nested to A. Now we set a "color" property as follow: ``` Scene -> GREEN -- A -> RED ↳ 1 -> BLUE ↳ 2 -> - ``` In this case the object will be RED, because of A↳ 2. Now if we have: ``` Scene -> GREEN -- A -> RED ↳ 1 -> - ↳ 2 -> PINK 1 -> - -- The object will be PINK because of A↳ 2. Note that the (top level) collection 1 doesn't influence the object color because there are no overrides on it. The scene render settings (GREEN in this case) are only used as fallback if an override is not set at all.
173 lines
7.5 KiB
CMake
173 lines
7.5 KiB
CMake
# ***** 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.
|
|
#
|
|
# Contributor(s): Jacques Beaurain, Dalai Felinto.
|
|
#
|
|
# ***** END GPL LICENSE BLOCK *****
|
|
|
|
# --env-system-scripts allows to run without the install target.
|
|
|
|
# Use '--write-blend=/tmp/test.blend' to view output
|
|
|
|
set(TEST_SRC_DIR ${CMAKE_SOURCE_DIR}/../lib/tests)
|
|
set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests)
|
|
|
|
# ugh, any better way to do this on testing only?
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR})
|
|
|
|
#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
|
|
#~ message(FATAL_ERROR "CMake test directory not found!")
|
|
#~ endif()
|
|
|
|
# all calls to blender use this
|
|
if(APPLE)
|
|
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
|
set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/Debug/blender.app/Contents/MacOS/blender)
|
|
else()
|
|
set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender.app/Contents/MacOS/blender)
|
|
endif()
|
|
else()
|
|
set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender)
|
|
endif()
|
|
|
|
# for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no
|
|
set(TEST_BLENDER_EXE ${TEST_BLENDER_EXE} --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts)
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
macro(RENDER_LAYER_TEST test_name)
|
|
# Adds ${CMAKE_CURRENT_LIST_DIR} to sys.path so that the tests can import
|
|
# things from render_layer_common.py
|
|
add_test(render_layer_${test_name} ${TEST_BLENDER_EXE}
|
|
--python-expr "import sys; sys.path.append('${CMAKE_CURRENT_LIST_DIR}')"
|
|
--python-exit-code 1
|
|
--python ${CMAKE_CURRENT_LIST_DIR}/test_${test_name}.py --
|
|
--testdir="${TEST_SRC_DIR}/layers"
|
|
)
|
|
endmacro()
|
|
|
|
RENDER_LAYER_TEST(active_collection)
|
|
RENDER_LAYER_TEST(collection_rename)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_a)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_b)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_c)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_d)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_e)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_f)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_g)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_h)
|
|
RENDER_LAYER_TEST(evaluation_render_settings_i)
|
|
RENDER_LAYER_TEST(evaluation_visibility_a)
|
|
RENDER_LAYER_TEST(evaluation_visibility_b)
|
|
RENDER_LAYER_TEST(evaluation_visibility_c)
|
|
RENDER_LAYER_TEST(evaluation_visibility_d)
|
|
RENDER_LAYER_TEST(evaluation_visibility_e)
|
|
RENDER_LAYER_TEST(evaluation_visibility_f)
|
|
RENDER_LAYER_TEST(evaluation_visibility_g)
|
|
RENDER_LAYER_TEST(evaluation_visibility_h)
|
|
RENDER_LAYER_TEST(evaluation_visibility_i)
|
|
RENDER_LAYER_TEST(evaluation_selectability_a)
|
|
RENDER_LAYER_TEST(evaluation_selectability_b)
|
|
RENDER_LAYER_TEST(evaluation_selectability_c)
|
|
RENDER_LAYER_TEST(evaluation_selectability_d)
|
|
RENDER_LAYER_TEST(evaluation_selectability_e)
|
|
RENDER_LAYER_TEST(evaluation_selectability_f)
|
|
RENDER_LAYER_TEST(object_add_cylinder)
|
|
RENDER_LAYER_TEST(object_add_empty)
|
|
RENDER_LAYER_TEST(object_add_torus)
|
|
RENDER_LAYER_TEST(object_add_no_collection_cylinder)
|
|
RENDER_LAYER_TEST(object_add_no_collection_empty)
|
|
RENDER_LAYER_TEST(object_add_no_collection_torus)
|
|
RENDER_LAYER_TEST(object_copy)
|
|
RENDER_LAYER_TEST(object_delete_a)
|
|
RENDER_LAYER_TEST(object_delete_b)
|
|
RENDER_LAYER_TEST(object_link_a)
|
|
RENDER_LAYER_TEST(object_link_b)
|
|
RENDER_LAYER_TEST(object_link_c)
|
|
RENDER_LAYER_TEST(operator_context)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_a)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_b)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_c)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_d)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_e)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_f)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_g)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_h)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_i)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_a)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_b)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_c)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_d)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_e)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_f)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_g)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_h)
|
|
RENDER_LAYER_TEST(move_above_below_scene_collection_sync_i)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_a)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_b)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_c)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_d)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_e)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_f)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_g)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_h)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_i)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_j)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_k)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_l)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_a)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_b)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_c)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_d)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_e)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_f)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_g)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_h)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_i)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_j)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_k)
|
|
RENDER_LAYER_TEST(move_into_scene_collection_sync_l)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_a)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_b)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_c)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_d)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_e)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_f)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_g)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_h)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_i)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_j)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_k)
|
|
RENDER_LAYER_TEST(move_above_below_layer_collection_l)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_a)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_b)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_c)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_d)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_e)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_f)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_g)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_h)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_i)
|
|
RENDER_LAYER_TEST(move_into_layer_collection_j)
|
|
RENDER_LAYER_TEST(layer_linking)
|
|
RENDER_LAYER_TEST(layer_syncing)
|
|
RENDER_LAYER_TEST(scene_copy_a)
|
|
RENDER_LAYER_TEST(scene_copy_b)
|
|
RENDER_LAYER_TEST(scene_copy_c)
|
|
RENDER_LAYER_TEST(scene_copy_d)
|
|
RENDER_LAYER_TEST(scene_write_read)
|