Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/blender_as_python_module/CMakeLists.txt22
-rw-r--r--tests/blender_as_python_module/import_bpy.py17
-rw-r--r--tests/check_deprecated.py18
-rw-r--r--tests/gtests/CMakeLists.txt1
-rw-r--r--tests/gtests/runner/CMakeLists.txt21
-rw-r--r--tests/gtests/runner/blender_test.cc20
-rw-r--r--tests/gtests/testing/CMakeLists.txt21
-rw-r--r--tests/gtests/testing/testing.h2
-rw-r--r--tests/gtests/testing/testing_main.cc20
-rw-r--r--tests/performance/api/__init__.py2
-rw-r--r--tests/performance/api/config.py2
-rw-r--r--tests/performance/api/device.py2
-rw-r--r--tests/performance/api/environment.py2
-rw-r--r--tests/performance/api/graph.py2
-rw-r--r--tests/performance/api/test.py2
-rw-r--r--tests/performance/tests/__init__.py2
-rw-r--r--tests/performance/tests/animation.py2
-rw-r--r--tests/performance/tests/blend_load.py2
-rw-r--r--tests/performance/tests/cycles.py2
-rw-r--r--tests/python/CMakeLists.txt24
-rw-r--r--tests/python/alembic_export_tests.py18
-rw-r--r--tests/python/batch_import.py18
-rw-r--r--tests/python/bevel_operator.py18
-rw-r--r--tests/python/bl_alembic_io_test.py18
-rw-r--r--tests/python/bl_animation_fcurves.py18
-rw-r--r--tests/python/bl_blendfile_io.py2
-rw-r--r--tests/python/bl_blendfile_liblink.py2
-rw-r--r--tests/python/bl_blendfile_library_overrides.py2
-rw-r--r--tests/python/bl_blendfile_utils.py2
-rw-r--r--tests/python/bl_bundled_modules.py18
-rw-r--r--tests/python/bl_constraints.py18
-rw-r--r--tests/python/bl_id_management.py2
-rw-r--r--tests/python/bl_keymap_completeness.py18
-rw-r--r--tests/python/bl_keymap_validate.py20
-rw-r--r--tests/python/bl_load_addons.py18
-rw-r--r--tests/python/bl_load_py_modules.py18
-rw-r--r--tests/python/bl_mesh_modifiers.py18
-rw-r--r--tests/python/bl_mesh_validate.py18
-rw-r--r--tests/python/bl_pyapi_bpy_path.py2
-rw-r--r--tests/python/bl_pyapi_bpy_utils_units.py2
-rw-r--r--tests/python/bl_pyapi_idprop.py2
-rw-r--r--tests/python/bl_pyapi_idprop_datablock.py18
-rw-r--r--tests/python/bl_pyapi_mathutils.py2
-rw-r--r--tests/python/bl_pyapi_prop_array.py2
-rw-r--r--tests/python/bl_rigging_symmetrize.py228
-rw-r--r--tests/python/bl_rna_defaults.py2
-rw-r--r--tests/python/bl_rna_manual_reference.py18
-rw-r--r--tests/python/bl_rst_completeness.py18
-rw-r--r--tests/python/bl_run_operators.py18
-rw-r--r--tests/python/bl_run_operators_event_simulate.py18
-rw-r--r--tests/python/bl_test.py18
-rw-r--r--tests/python/bl_usd_import_test.py18
-rw-r--r--tests/python/boolean_operator.py18
-rw-r--r--tests/python/collada/CMakeLists.txt17
-rw-r--r--tests/python/collada/animation/test_animation_simple.py28
-rw-r--r--tests/python/collada/mesh/test_mesh_simple.py28
-rw-r--r--tests/python/compositor_render_tests.py2
-rw-r--r--tests/python/curve_to_mesh.py18
-rw-r--r--tests/python/cycles_render_tests.py2
-rw-r--r--tests/python/deform_modifiers.py18
-rw-r--r--tests/python/eevee_render_tests.py2
-rw-r--r--tests/python/ffmpeg_tests.py18
-rw-r--r--tests/python/geo_node_test.py18
-rw-r--r--tests/python/modifiers.py18
-rwxr-xr-xtests/python/modules/global_report.py4
-rw-r--r--tests/python/modules/mesh_test.py18
-rwxr-xr-xtests/python/modules/render_report.py10
-rwxr-xr-xtests/python/modules/test_utils.py18
-rw-r--r--tests/python/opengl_draw_tests.py2
-rw-r--r--tests/python/operators.py18
-rw-r--r--tests/python/pep8.py18
-rw-r--r--tests/python/physics_cloth.py18
-rw-r--r--tests/python/physics_dynamic_paint.py18
-rw-r--r--tests/python/physics_ocean.py18
-rw-r--r--tests/python/physics_particle_instance.py18
-rw-r--r--tests/python/physics_particle_system.py18
-rw-r--r--tests/python/physics_softbody.py18
-rw-r--r--tests/python/rna_array.py2
-rw-r--r--tests/python/rna_info_dump.py18
-rw-r--r--tests/python/rst_to_doctree_mini.py18
-rw-r--r--tests/python/sequencer_render_tests.py2
-rw-r--r--tests/python/view_layer/CMakeLists.txt17
-rw-r--r--tests/python/view_layer/test_active_collection.py2
-rw-r--r--tests/python/view_layer/test_background_set.py2
-rw-r--r--tests/python/view_layer/test_collection_new_sync.py2
-rw-r--r--tests/python/view_layer/test_collection_rename_a.py2
-rw-r--r--tests/python/view_layer/test_collection_rename_b.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_a.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_b.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_c.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_d.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_e.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_f.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_g.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_h.py2
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_i.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_a.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_b.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_c.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_d.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_e.py2
-rw-r--r--tests/python/view_layer/test_evaluation_selectability_f.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_a.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_b.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_c.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_d.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_e.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_f.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_g.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_h.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_i.py2
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_j.py2
-rw-r--r--tests/python/view_layer/test_group_a.py2
-rw-r--r--tests/python/view_layer/test_group_b.py2
-rw-r--r--tests/python/view_layer/test_group_c.py2
-rw-r--r--tests/python/view_layer/test_group_d.py2
-rw-r--r--tests/python/view_layer/test_group_e.py2
-rw-r--r--tests/python/view_layer/test_layer_linking.py2
-rw-r--r--tests/python/view_layer/test_layer_syncing.py2
-rw-r--r--tests/python/view_layer/test_make_single_user.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_a.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_b.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_c.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_d.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_e.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_f.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_g.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_h.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_i.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_j.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_k.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_layer_collection_l.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_a.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_b.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_c.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_d.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_e.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_f.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_g.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_h.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_i.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_a.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_b.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_c.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_d.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_e.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_f.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_g.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_h.py2
-rw-r--r--tests/python/view_layer/test_move_above_below_scene_collection_sync_i.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_a.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_b.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_c.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_d.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_e.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_f.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_g.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_h.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_i.py2
-rw-r--r--tests/python/view_layer/test_move_into_layer_collection_j.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_a.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_b.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_c.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_d.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_e.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_f.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_g.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_h.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_i.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_j.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_k.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_l.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_a.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_b.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_c.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_d.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_e.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_f.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_g.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_h.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_i.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_j.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_k.py2
-rw-r--r--tests/python/view_layer/test_move_into_scene_collection_sync_l.py2
-rw-r--r--tests/python/view_layer/test_object_add_cylinder.py2
-rw-r--r--tests/python/view_layer/test_object_add_empty.py2
-rw-r--r--tests/python/view_layer/test_object_add_no_collection_cylinder.py2
-rw-r--r--tests/python/view_layer/test_object_add_no_collection_empty.py2
-rw-r--r--tests/python/view_layer/test_object_add_no_collection_torus.py2
-rw-r--r--tests/python/view_layer/test_object_add_torus.py2
-rw-r--r--tests/python/view_layer/test_object_copy.py2
-rw-r--r--tests/python/view_layer/test_object_delete_a.py2
-rw-r--r--tests/python/view_layer/test_object_delete_b.py2
-rw-r--r--tests/python/view_layer/test_object_link_a.py2
-rw-r--r--tests/python/view_layer/test_object_link_b.py2
-rw-r--r--tests/python/view_layer/test_object_link_c.py2
-rw-r--r--tests/python/view_layer/test_operator_context.py2
-rw-r--r--tests/python/view_layer/test_scene_collection_delete.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_a.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_b.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_c.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_d.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_e.py2
-rw-r--r--tests/python/view_layer/test_scene_copy_f.py2
-rw-r--r--tests/python/view_layer/test_scene_delete.py2
-rw-r--r--tests/python/view_layer/test_scene_objects.py2
-rw-r--r--tests/python/view_layer/test_scene_write_read.py2
-rw-r--r--tests/python/view_layer/test_view_layer_rename.py2
-rw-r--r--tests/python/view_layer/view_layer_common.py2
-rw-r--r--tests/python/workbench_render_tests.py2
211 files changed, 597 insertions, 898 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 3d9201bec04..484ffd17046 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
# Always run tests from install path, so all required scripts and libraries
# are available and we are testing the actual installation layout.
diff --git a/tests/blender_as_python_module/CMakeLists.txt b/tests/blender_as_python_module/CMakeLists.txt
index 98e081672e9..334b3288246 100644
--- a/tests/blender_as_python_module/CMakeLists.txt
+++ b/tests/blender_as_python_module/CMakeLists.txt
@@ -1,23 +1,5 @@
-# ***** 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.
-#
-# The Original Code is Copyright (C) 2021, Blender Foundation
-# All rights reserved.
-#
-# ***** END GPL LICENSE BLOCK *****
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2021 Blender Foundation. All rights reserved.
function(add_blender_as_python_module_test testname testscript)
if(NOT TEST_PYTHON_EXE)
diff --git a/tests/blender_as_python_module/import_bpy.py b/tests/blender_as_python_module/import_bpy.py
index bdc0277cfec..ea75c0f2fe6 100644
--- a/tests/blender_as_python_module/import_bpy.py
+++ b/tests/blender_as_python_module/import_bpy.py
@@ -1,19 +1,4 @@
-# ***** 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 *****
+# SPDX-License-Identifier: GPL-2.0-or-later
# Just import bpy and see if there are any dynamic loader errors.
import bpy
diff --git a/tests/check_deprecated.py b/tests/check_deprecated.py
index 7595bb4ff81..089e0275229 100644
--- a/tests/check_deprecated.py
+++ b/tests/check_deprecated.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/gtests/CMakeLists.txt b/tests/gtests/CMakeLists.txt
index 6e2dd380793..4723bc40394 100644
--- a/tests/gtests/CMakeLists.txt
+++ b/tests/gtests/CMakeLists.txt
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
if(WITH_GTESTS)
# Otherwise we get warnings here that we can't fix in external projects
diff --git a/tests/gtests/runner/CMakeLists.txt b/tests/gtests/runner/CMakeLists.txt
index 732ae08822b..97b95851be8 100644
--- a/tests/gtests/runner/CMakeLists.txt
+++ b/tests/gtests/runner/CMakeLists.txt
@@ -1,22 +1,5 @@
-# ***** 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.
-#
-# The Original Code is Copyright (C) 2020, Blender Foundation
-# All rights reserved.
-# ***** END GPL LICENSE BLOCK *****
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2020 Blender Foundation. All rights reserved.
# Build the test runner. This runner takes care of running all GTests, i.e.
# the code that was built using the blender_add_test_lib() CMake macro (see
diff --git a/tests/gtests/runner/blender_test.cc b/tests/gtests/runner/blender_test.cc
index fbce7a4283f..0e504eb461f 100644
--- a/tests/gtests/runner/blender_test.cc
+++ b/tests/gtests/runner/blender_test.cc
@@ -1,21 +1,5 @@
-/*
- * 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.
- *
- * The Original Code is Copyright (C) 2020 Blender Foundation.
- * All rights reserved.
- */
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2020 Blender Foundation. All rights reserved. */
/* This file is intentionally left blank. It is necessary for CMake to have a source file for each
* executable. However, the blender_tests test runner only comprises of statically linked library
diff --git a/tests/gtests/testing/CMakeLists.txt b/tests/gtests/testing/CMakeLists.txt
index d557b27f272..5d3881a6c06 100644
--- a/tests/gtests/testing/CMakeLists.txt
+++ b/tests/gtests/testing/CMakeLists.txt
@@ -1,22 +1,5 @@
-# ***** 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.
-#
-# The Original Code is Copyright (C) 2014, Blender Foundation
-# All rights reserved.
-# ***** END GPL LICENSE BLOCK *****
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2014 Blender Foundation. All rights reserved.
add_definitions(${GFLAGS_DEFINES})
add_definitions(${GLOG_DEFINES})
diff --git a/tests/gtests/testing/testing.h b/tests/gtests/testing/testing.h
index 81ff4470221..7b3e6e667aa 100644
--- a/tests/gtests/testing/testing.h
+++ b/tests/gtests/testing/testing.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2014 Blender Foundation. All rights reserved. */
#ifndef __BLENDER_TESTING_H__
#define __BLENDER_TESTING_H__
diff --git a/tests/gtests/testing/testing_main.cc b/tests/gtests/testing/testing_main.cc
index 6238101b319..1310a8b6477 100644
--- a/tests/gtests/testing/testing_main.cc
+++ b/tests/gtests/testing/testing_main.cc
@@ -1,21 +1,5 @@
-/*
- * 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.
- *
- * The Original Code is Copyright (C) 2014 Blender Foundation.
- * All rights reserved.
- */
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright 2014 Blender Foundation. All rights reserved. */
#include "testing/testing.h"
diff --git a/tests/performance/api/__init__.py b/tests/performance/api/__init__.py
index 2dc9283c44a..2bd7b98d406 100644
--- a/tests/performance/api/__init__.py
+++ b/tests/performance/api/__init__.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
from .environment import TestEnvironment
from .device import TestDevice, TestMachine
diff --git a/tests/performance/api/config.py b/tests/performance/api/config.py
index 5e7ee380068..03d699cfdfb 100644
--- a/tests/performance/api/config.py
+++ b/tests/performance/api/config.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import fnmatch
import json
diff --git a/tests/performance/api/device.py b/tests/performance/api/device.py
index 1e930a12352..fb11c5948e6 100644
--- a/tests/performance/api/device.py
+++ b/tests/performance/api/device.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import platform
import subprocess
diff --git a/tests/performance/api/environment.py b/tests/performance/api/environment.py
index 4db81524120..61a7c5dff7b 100644
--- a/tests/performance/api/environment.py
+++ b/tests/performance/api/environment.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import base64
import glob
diff --git a/tests/performance/api/graph.py b/tests/performance/api/graph.py
index 721b04d1f43..6c9ba70141f 100644
--- a/tests/performance/api/graph.py
+++ b/tests/performance/api/graph.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
from . import TestQueue
diff --git a/tests/performance/api/test.py b/tests/performance/api/test.py
index 7e8193d2c21..72e72463cd1 100644
--- a/tests/performance/api/test.py
+++ b/tests/performance/api/test.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import abc
import fnmatch
diff --git a/tests/performance/tests/__init__.py b/tests/performance/tests/__init__.py
index ac3e613174f..9881313609a 100644
--- a/tests/performance/tests/__init__.py
+++ b/tests/performance/tests/__init__.py
@@ -1 +1 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
diff --git a/tests/performance/tests/animation.py b/tests/performance/tests/animation.py
index c1a5c77860f..8dad1889a0f 100644
--- a/tests/performance/tests/animation.py
+++ b/tests/performance/tests/animation.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import api
import os
diff --git a/tests/performance/tests/blend_load.py b/tests/performance/tests/blend_load.py
index 5fe498fd3d7..fa16eaf2dad 100644
--- a/tests/performance/tests/blend_load.py
+++ b/tests/performance/tests/blend_load.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import api
import os
diff --git a/tests/performance/tests/cycles.py b/tests/performance/tests/cycles.py
index e702fa445d2..b782f910ed9 100644
--- a/tests/performance/tests/cycles.py
+++ b/tests/performance/tests/cycles.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import api
import os
diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt
index 5f52b34c389..fabac659555 100644
--- a/tests/python/CMakeLists.txt
+++ b/tests/python/CMakeLists.txt
@@ -1,19 +1,4 @@
-# ***** 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 *****
+# SPDX-License-Identifier: GPL-2.0-or-later
# Use '--write-blend=/tmp/test.blend' to view output
@@ -293,6 +278,13 @@ add_blender_test(
--testdir "${TEST_SRC_DIR}/animation"
)
+add_blender_test(
+ bl_rigging_symmetrize
+ --python ${CMAKE_CURRENT_LIST_DIR}/bl_rigging_symmetrize.py
+ --
+ --testdir "${TEST_SRC_DIR}/animation"
+)
+
# ------------------------------------------------------------------------------
# IO TESTS
diff --git a/tests/python/alembic_export_tests.py b/tests/python/alembic_export_tests.py
index 23a4a376533..f6c05d955c9 100644
--- a/tests/python/alembic_export_tests.py
+++ b/tests/python/alembic_export_tests.py
@@ -1,21 +1,5 @@
#!/usr/bin/env python3
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/batch_import.py b/tests/python/batch_import.py
index 134ee091bb7..a6b44bc7478 100644
--- a/tests/python/batch_import.py
+++ b/tests/python/batch_import.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bevel_operator.py b/tests/python/bevel_operator.py
index 726bf4b5b03..64cf034bb85 100644
--- a/tests/python/bevel_operator.py
+++ b/tests/python/bevel_operator.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# To run all tests, use
# BLENDER_VERBOSE=1 blender path/to/bevel_regression.blend --python path/to/bevel_operator.py -- --run-all-tests
diff --git a/tests/python/bl_alembic_io_test.py b/tests/python/bl_alembic_io_test.py
index da75d4f0731..f3480380911 100644
--- a/tests/python/bl_alembic_io_test.py
+++ b/tests/python/bl_alembic_io_test.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_animation_fcurves.py b/tests/python/bl_animation_fcurves.py
index 9017c1ee037..b93c201dc08 100644
--- a/tests/python/bl_animation_fcurves.py
+++ b/tests/python/bl_animation_fcurves.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_blendfile_io.py b/tests/python/bl_blendfile_io.py
index 4123f06b7c4..f79ee2a240b 100644
--- a/tests/python/bl_blendfile_io.py
+++ b/tests/python/bl_blendfile_io.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_blendfile_io.py
import bpy
diff --git a/tests/python/bl_blendfile_liblink.py b/tests/python/bl_blendfile_liblink.py
index 4cf81c9beae..9a6aa9c9e10 100644
--- a/tests/python/bl_blendfile_liblink.py
+++ b/tests/python/bl_blendfile_liblink.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_blendfile_liblink.py
import bpy
diff --git a/tests/python/bl_blendfile_library_overrides.py b/tests/python/bl_blendfile_library_overrides.py
index e0da1082ee0..6d9530e771e 100644
--- a/tests/python/bl_blendfile_library_overrides.py
+++ b/tests/python/bl_blendfile_library_overrides.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_blendfile_library_overrides.py -- --output-dir=/tmp/
import pathlib
diff --git a/tests/python/bl_blendfile_utils.py b/tests/python/bl_blendfile_utils.py
index c87b47e5ce7..3cb23070d4a 100644
--- a/tests/python/bl_blendfile_utils.py
+++ b/tests/python/bl_blendfile_utils.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import os
import pprint
diff --git a/tests/python/bl_bundled_modules.py b/tests/python/bl_bundled_modules.py
index 012eaf8246d..4a055960f83 100644
--- a/tests/python/bl_bundled_modules.py
+++ b/tests/python/bl_bundled_modules.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_constraints.py b/tests/python/bl_constraints.py
index a2690fa4e11..dc4f06d4799 100644
--- a/tests/python/bl_constraints.py
+++ b/tests/python/bl_constraints.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
"""
./blender.bin --background -noaudio --factory-startup --python tests/python/bl_constraints.py -- --testdir /path/to/lib/tests/constraints
diff --git a/tests/python/bl_id_management.py b/tests/python/bl_id_management.py
index 615c0b13d9d..9ca53b4214b 100644
--- a/tests/python/bl_id_management.py
+++ b/tests/python/bl_id_management.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_id_management.py -- --verbose
import bpy
diff --git a/tests/python/bl_keymap_completeness.py b/tests/python/bl_keymap_completeness.py
index e9315a7a425..ee24a531f53 100644
--- a/tests/python/bl_keymap_completeness.py
+++ b/tests/python/bl_keymap_completeness.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_keymap_validate.py b/tests/python/bl_keymap_validate.py
index ebc35c1178c..ce2022f6ae7 100644
--- a/tests/python/bl_keymap_validate.py
+++ b/tests/python/bl_keymap_validate.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
@@ -162,7 +146,7 @@ def keymap_data_clean(keyconfig_data: typing.List, *, relaxed: bool) -> None:
item_prop.pop("properties")
# Needed so: `{"properties": ()}` matches `None` as there is no meaningful difference.
- # Wruting `None` makes the most sense when explicitly written, however generated properties
+ # Writing `None` makes the most sense when explicitly written, however generated properties
# might be empty and it's not worth adding checks in the generation logic to use `None`
# just to satisfy this check.
if not item_prop:
diff --git a/tests/python/bl_load_addons.py b/tests/python/bl_load_addons.py
index 60f44c9452a..8fee31f7a2b 100644
--- a/tests/python/bl_load_addons.py
+++ b/tests/python/bl_load_addons.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_load_py_modules.py b/tests/python/bl_load_py_modules.py
index c6ad53b1f74..4d4196d1f64 100644
--- a/tests/python/bl_load_py_modules.py
+++ b/tests/python/bl_load_py_modules.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_mesh_modifiers.py b/tests/python/bl_mesh_modifiers.py
index 746e7a183a3..3b653402083 100644
--- a/tests/python/bl_mesh_modifiers.py
+++ b/tests/python/bl_mesh_modifiers.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_mesh_validate.py b/tests/python/bl_mesh_validate.py
index 8c5d914f92a..38d84c42a55 100644
--- a/tests/python/bl_mesh_validate.py
+++ b/tests/python/bl_mesh_validate.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_pyapi_bpy_path.py b/tests/python/bl_pyapi_bpy_path.py
index ddb13cfe2ce..e755da1da79 100644
--- a/tests/python/bl_pyapi_bpy_path.py
+++ b/tests/python/bl_pyapi_bpy_path.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_bpy_path.py -- --verbose
import unittest
diff --git a/tests/python/bl_pyapi_bpy_utils_units.py b/tests/python/bl_pyapi_bpy_utils_units.py
index bdb64fc361e..2e0ac5550fe 100644
--- a/tests/python/bl_pyapi_bpy_utils_units.py
+++ b/tests/python/bl_pyapi_bpy_utils_units.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_bpy_utils_units.py -- --verbose
import unittest
diff --git a/tests/python/bl_pyapi_idprop.py b/tests/python/bl_pyapi_idprop.py
index 4cee39fafb0..0e93ba0b690 100644
--- a/tests/python/bl_pyapi_idprop.py
+++ b/tests/python/bl_pyapi_idprop.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_idprop.py -- --verbose
import bpy
diff --git a/tests/python/bl_pyapi_idprop_datablock.py b/tests/python/bl_pyapi_idprop_datablock.py
index ddea613aae1..42c9ec1b16f 100644
--- a/tests/python/bl_pyapi_idprop_datablock.py
+++ b/tests/python/bl_pyapi_idprop_datablock.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_idprop_datablock.py -- --verbose
diff --git a/tests/python/bl_pyapi_mathutils.py b/tests/python/bl_pyapi_mathutils.py
index c3a22be421a..23c97d7fc24 100644
--- a/tests/python/bl_pyapi_mathutils.py
+++ b/tests/python/bl_pyapi_mathutils.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_mathutils.py -- --verbose
import unittest
diff --git a/tests/python/bl_pyapi_prop_array.py b/tests/python/bl_pyapi_prop_array.py
index 2f38b67d7a1..1132914b14c 100644
--- a/tests/python/bl_pyapi_prop_array.py
+++ b/tests/python/bl_pyapi_prop_array.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_prop_array.py -- --verbose
import bpy
diff --git a/tests/python/bl_rigging_symmetrize.py b/tests/python/bl_rigging_symmetrize.py
new file mode 100644
index 00000000000..dcd0ab65ced
--- /dev/null
+++ b/tests/python/bl_rigging_symmetrize.py
@@ -0,0 +1,228 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# <pep8 compliant>
+
+"""
+blender -b -noaudio --factory-startup --python tests/python/bl_rigging_symmetrize.py -- --testdir /path/to/lib/tests/animation
+"""
+
+import pathlib
+import sys
+import unittest
+
+import bpy
+
+
+def check_loc_rot_scale(self, bone, exp_bone):
+ # Check if posistions are the same
+ self.assertEqualVector(
+ bone.head, exp_bone.head, "Head position", bone.name)
+ self.assertEqualVector(
+ bone.tail, exp_bone.tail, "Tail position", bone.name)
+
+ # Scale
+ self.assertEqualVector(
+ bone.scale, exp_bone.scale, "Scale", bone.name)
+
+ # Rotation
+ rot_mode = exp_bone.rotation_mode
+ self.assertEqual(bone.rotation_mode, rot_mode, "Rotations mode does not match on bone %s" % (bone.name))
+
+ if rot_mode == 'QUATERNION':
+ self.assertEqualVector(
+ bone.rotation_quaternion, exp_bone.rotation_quaternion, "Quaternion rotation", bone.name)
+ elif rot_mode == 'AXIS_ANGLE':
+ self.assertEqualVector(
+ bone.axis_angle, exp_bone.axis_angle, "Axis Angle rotation", bone.name)
+ else:
+ # Euler rotation
+ self.assertEqualVector(
+ bone.rotation_euler, exp_bone.rotation_euler, "Euler rotation", bone.name)
+
+
+def check_parent(self, bone, exp_bone):
+ self.assertEqual(type(bone.parent), type(exp_bone.parent),
+ "Missmatching types in pose.bones[%s].parent" % (bone.name))
+ self.assertTrue(bone.parent is None or bone.parent.name == exp_bone.parent.name,
+ "Bone parent does not match on bone %s" % (bone.name))
+
+
+def check_bendy_bones(self, bone, exp_bone):
+ bone_variables = bone.bl_rna.properties.keys()
+
+ bendy_bone_variables = [
+ var for var in bone_variables if var.startswith("bbone_")]
+
+ for var in bendy_bone_variables:
+ value = getattr(bone, var)
+ exp_value = getattr(exp_bone, var)
+
+ self.assertEqual(type(value), type(exp_value),
+ "Missmatching types in pose.bones[%s].%s" % (bone.name, var))
+
+ if isinstance(value, str):
+ self.assertEqual(value, exp_value,
+ "Missmatching value in pose.bones[%s].%s" % (bone.name, var))
+ elif hasattr(value, "name"):
+ self.assertEqual(value.name, exp_value.name,
+ "Missmatching value in pose.bones[%s].%s" % (bone.name, var))
+ else:
+ self.assertAlmostEqual(value, exp_value,
+ "Missmatching value in pose.bones[%s].%s" % (bone.name, var))
+
+
+def check_ik(self, bone, exp_bone):
+ bone_variables = bone.bl_rna.properties.keys()
+ prefixes = ("ik_", "lock_ik", "use_ik")
+ ik_bone_variables = (
+ var for var in bone_variables
+ if var.startswith(prefixes)
+ )
+
+ for var in ik_bone_variables:
+ value = getattr(bone, var)
+ exp_value = getattr(exp_bone, var)
+ self.assertAlmostEqual(value, exp_value,
+ "Missmatching value in pose.bones[%s].%s" % (bone.name, var))
+
+
+def check_constraints(self, input_arm, expected_arm, bone, exp_bone):
+ const_len = len(bone.constraints)
+ expo_const_len = len(exp_bone.constraints)
+
+ self.assertEqual(const_len, expo_const_len,
+ "Constraints missmatch on bone %s" % (bone.name))
+
+ for exp_constraint in exp_bone.constraints:
+ const_name = exp_constraint.name
+ # Make sure that the constraint exists
+ self.assertTrue(const_name in bone.constraints,
+ "Bone %s is expected to contain constraint %s, but it does not." % (
+ bone.name, const_name))
+ constraint = bone.constraints[const_name]
+ const_variables = constraint.bl_rna.properties.keys()
+
+ for var in const_variables:
+
+ if var == "is_override_data":
+ # This variable is not used for local (non linked) data.
+ # For local object it is not initialized, so don't check this value.
+ continue
+
+ value = getattr(constraint, var)
+ exp_value = getattr(exp_constraint, var)
+
+ self.assertEqual(type(value), type(exp_value),
+ "Missmatching constraint value types in pose.bones[%s].constraints[%s].%s" % (
+ bone.name, const_name, var))
+
+ if isinstance(value, str):
+ self.assertEqual(value, exp_value,
+ "Missmatching constraint value in pose.bones[%s].constraints[%s].%s" % (
+ bone.name, const_name, var))
+ elif hasattr(value, "name"):
+ # Some constraints targets the armature itself, so the armature name should missmatch.
+ if value.name == input_arm.name and exp_value.name == expected_arm.name:
+ continue
+
+ self.assertEqual(value.name, exp_value.name,
+ "Missmatching constraint value in pose.bones[%s].constraints[%s].%s" % (
+ bone.name, const_name, var))
+
+ elif isinstance(value, bool):
+ self.assertEqual(value, exp_value,
+ "Missmatching constraint boolean in pose.bones[%s].constraints[%s].%s" % (
+ bone.name, const_name, var))
+ else:
+ self.assertAlmostEqual(value, exp_value,
+ "Missmatching constraint value in pose.bones[%s].constraints[%s].%s" % (
+ bone.name, const_name, var))
+
+
+class AbstractAnimationTest:
+ @classmethod
+ def setUpClass(cls):
+ cls.testdir = args.testdir
+
+ def setUp(self):
+ self.assertTrue(self.testdir.exists(),
+ 'Test dir %s should exist' % self.testdir)
+
+
+class ArmatureSymmetrizeTest(AbstractAnimationTest, unittest.TestCase):
+ def test_symmetrize_operator(self):
+ """Test that the symmetrize operator is working correctly."""
+ bpy.ops.wm.open_mainfile(filepath=str(
+ self.testdir / "symm_test.blend"))
+
+ # T81541 (D9214)
+ arm = bpy.data.objects['transform_const_rig']
+ expected_arm = bpy.data.objects['expected_transform_const_rig']
+ self.assertEqualSymmetrize(arm, expected_arm)
+
+ # T66751 (D6009)
+ arm = bpy.data.objects['dragon_rig']
+ expected_arm = bpy.data.objects['expected_dragon_rig']
+ self.assertEqualSymmetrize(arm, expected_arm)
+
+ def assertEqualSymmetrize(self, input_arm, expected_arm):
+
+ # Symmetrize our input armature
+ bpy.context.view_layer.objects.active = input_arm
+ bpy.ops.object.mode_set(mode='EDIT')
+ bpy.ops.armature.select_all(action='SELECT')
+ bpy.ops.armature.symmetrize()
+ bpy.ops.object.mode_set(mode='OBJECT')
+
+ # Make sure that the bone count is the same
+ bone_len = len(input_arm.pose.bones)
+ expected_bone_len = len(expected_arm.pose.bones)
+ self.assertEqual(bone_len, expected_bone_len,
+ "Expected bone count to match")
+
+ for exp_bone in expected_arm.pose.bones:
+ bone_name = exp_bone.name
+ # Make sure that the bone exists
+ self.assertTrue(bone_name in input_arm.pose.bones,
+ "Armature is expected to contain bone %s, but it does not." % (bone_name))
+ bone = input_arm.pose.bones[bone_name]
+
+ # Loc Rot Scale
+ check_loc_rot_scale(self, bone, exp_bone)
+
+ # Parent settings
+ check_parent(self, bone, exp_bone)
+
+ # Bendy Bones
+ check_bendy_bones(self, bone, exp_bone)
+
+ # IK
+ check_ik(self, bone, exp_bone)
+
+ # Constraints
+ check_constraints(self, input_arm, expected_arm, bone, exp_bone)
+
+ def assertEqualVector(self, vec1, vec2, check_str, bone_name) -> None:
+ for idx, value in enumerate(vec1):
+ self.assertAlmostEqual(
+ value, vec2[idx], 3, "%s does not match with expected value on bone %s" % (check_str, bone_name))
+
+
+def main():
+ global args
+ import argparse
+
+ if '--' in sys.argv:
+ argv = [sys.argv[0]] + sys.argv[sys.argv.index('--') + 1:]
+ else:
+ argv = sys.argv
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--testdir', required=True, type=pathlib.Path)
+ args, remaining = parser.parse_known_args(argv)
+
+ unittest.main(argv=remaining)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tests/python/bl_rna_defaults.py b/tests/python/bl_rna_defaults.py
index fc895dbddfc..55095804696 100644
--- a/tests/python/bl_rna_defaults.py
+++ b/tests/python/bl_rna_defaults.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
# ./blender.bin --background -noaudio --factory-startup --python tests/python/bl_rna_defaults.py
diff --git a/tests/python/bl_rna_manual_reference.py b/tests/python/bl_rna_manual_reference.py
index 00e40fe571b..70f218f0bb2 100644
--- a/tests/python/bl_rna_manual_reference.py
+++ b/tests/python/bl_rna_manual_reference.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_rst_completeness.py b/tests/python/bl_rst_completeness.py
index 3266621c43b..59e532c433b 100644
--- a/tests/python/bl_rst_completeness.py
+++ b/tests/python/bl_rst_completeness.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_run_operators.py b/tests/python/bl_run_operators.py
index 6554dd8e414..7e73ec163a4 100644
--- a/tests/python/bl_run_operators.py
+++ b/tests/python/bl_run_operators.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_run_operators_event_simulate.py b/tests/python/bl_run_operators_event_simulate.py
index adaacf6cd83..56f96847d0b 100644
--- a/tests/python/bl_run_operators_event_simulate.py
+++ b/tests/python/bl_run_operators_event_simulate.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_test.py b/tests/python/bl_test.py
index 6315ffbfa9d..7e79639a226 100644
--- a/tests/python/bl_test.py
+++ b/tests/python/bl_test.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/bl_usd_import_test.py b/tests/python/bl_usd_import_test.py
index 6f157c3f928..fc2fc819c8d 100644
--- a/tests/python/bl_usd_import_test.py
+++ b/tests/python/bl_usd_import_test.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/boolean_operator.py b/tests/python/boolean_operator.py
index 7d4de7143dd..afad48fad36 100644
--- a/tests/python/boolean_operator.py
+++ b/tests/python/boolean_operator.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/collada/CMakeLists.txt b/tests/python/collada/CMakeLists.txt
index 1b24875578e..ecc092250c9 100644
--- a/tests/python/collada/CMakeLists.txt
+++ b/tests/python/collada/CMakeLists.txt
@@ -1,19 +1,4 @@
-# ***** 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 *****
+# SPDX-License-Identifier: GPL-2.0-or-later
# --env-system-scripts allows to run without the install target.
diff --git a/tests/python/collada/animation/test_animation_simple.py b/tests/python/collada/animation/test_animation_simple.py
index 6b18313c3cd..038ad522109 100644
--- a/tests/python/collada/animation/test_animation_simple.py
+++ b/tests/python/collada/animation/test_animation_simple.py
@@ -1,25 +1,11 @@
#!/usr/bin/env python3
-# ##### 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 #####
-#
-# Call as follows:
-# python collada_mesh_simple.py --blender PATH_TO_BLENDER_EXE --testdir PATH_TO_SVN/lib/tests/collada/mesh
-#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+"""
+Call as follows:
+python collada_mesh_simple.py --blender PATH_TO_BLENDER_EXE --testdir PATH_TO_SVN/lib/tests/collada/mesh
+"""
+
import sys
import bpy
import argparse
diff --git a/tests/python/collada/mesh/test_mesh_simple.py b/tests/python/collada/mesh/test_mesh_simple.py
index 5899d986a14..badd6c53d06 100644
--- a/tests/python/collada/mesh/test_mesh_simple.py
+++ b/tests/python/collada/mesh/test_mesh_simple.py
@@ -1,25 +1,11 @@
#!/usr/bin/env python3
-# ##### 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 #####
-#
-# Call as follows:
-# python collada_mesh_simple.py --blender PATH_TO_BLENDER_EXE --testdir PATH_TO_SVN/lib/tests/collada/mesh
-#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+"""
+Call as follows:
+python collada_mesh_simple.py --blender PATH_TO_BLENDER_EXE --testdir PATH_TO_SVN/lib/tests/collada/mesh
+"""
+
import sys
import bpy
import argparse
diff --git a/tests/python/compositor_render_tests.py b/tests/python/compositor_render_tests.py
index 199e1c13b8e..b7283b3a55e 100644
--- a/tests/python/compositor_render_tests.py
+++ b/tests/python/compositor_render_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os
diff --git a/tests/python/curve_to_mesh.py b/tests/python/curve_to_mesh.py
index 654cfc750d7..d37e7ef23a8 100644
--- a/tests/python/curve_to_mesh.py
+++ b/tests/python/curve_to_mesh.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# To run all tests, use
# BLENDER_VERBOSE=1 ./bin/blender ../lib/tests/modeling/curve_to_mesh.blend --python ../blender/tests/python/bl_curve_to_mesh.py -- --run-all-tests
diff --git a/tests/python/cycles_render_tests.py b/tests/python/cycles_render_tests.py
index b0938c06ecf..598e4b6828c 100644
--- a/tests/python/cycles_render_tests.py
+++ b/tests/python/cycles_render_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os
diff --git a/tests/python/deform_modifiers.py b/tests/python/deform_modifiers.py
index d1241e4d9f0..cf0d1924e8f 100644
--- a/tests/python/deform_modifiers.py
+++ b/tests/python/deform_modifiers.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/eevee_render_tests.py b/tests/python/eevee_render_tests.py
index 6a21afc7c9a..bd14fadb3b3 100644
--- a/tests/python/eevee_render_tests.py
+++ b/tests/python/eevee_render_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os
diff --git a/tests/python/ffmpeg_tests.py b/tests/python/ffmpeg_tests.py
index 92734b5bc7d..abbe38193b5 100644
--- a/tests/python/ffmpeg_tests.py
+++ b/tests/python/ffmpeg_tests.py
@@ -1,21 +1,5 @@
#!/usr/bin/env python3
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/geo_node_test.py b/tests/python/geo_node_test.py
index 5da28977ba4..65ea500d2a1 100644
--- a/tests/python/geo_node_test.py
+++ b/tests/python/geo_node_test.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/modifiers.py b/tests/python/modifiers.py
index 1d9242046b3..2433ecd29f9 100644
--- a/tests/python/modifiers.py
+++ b/tests/python/modifiers.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/modules/global_report.py b/tests/python/modules/global_report.py
index 636ec61d471..f0b2ef5b173 100755
--- a/tests/python/modules/global_report.py
+++ b/tests/python/modules/global_report.py
@@ -1,5 +1,5 @@
-# Apache License, Version 2.0
-#
+# SPDX-License-Identifier: Apache-2.0
+
# Generate a HTML page that links to all test reports.
import glob
diff --git a/tests/python/modules/mesh_test.py b/tests/python/modules/mesh_test.py
index e3990bc207b..730c0d61a26 100644
--- a/tests/python/modules/mesh_test.py
+++ b/tests/python/modules/mesh_test.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/modules/render_report.py b/tests/python/modules/render_report.py
index 90f16dc80fb..cae81af3144 100755
--- a/tests/python/modules/render_report.py
+++ b/tests/python/modules/render_report.py
@@ -1,7 +1,9 @@
-# Apache License, Version 2.0
-#
-# Compare renders or screenshots against reference versions and generate
-# a HTML report showing the differences, for regression testing.
+# SPDX-License-Identifier: Apache-2.0
+
+"""
+Compare renders or screenshots against reference versions and generate
+a HTML report showing the differences, for regression testing.
+"""
import glob
import os
diff --git a/tests/python/modules/test_utils.py b/tests/python/modules/test_utils.py
index 9c23d511813..18b4eb78f4b 100755
--- a/tests/python/modules/test_utils.py
+++ b/tests/python/modules/test_utils.py
@@ -1,21 +1,5 @@
#!/usr/bin/env python3
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/opengl_draw_tests.py b/tests/python/opengl_draw_tests.py
index a2d9d510382..cdeb2efbd16 100644
--- a/tests/python/opengl_draw_tests.py
+++ b/tests/python/opengl_draw_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os
diff --git a/tests/python/operators.py b/tests/python/operators.py
index e2a5e78cff7..645ce31390d 100644
--- a/tests/python/operators.py
+++ b/tests/python/operators.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/pep8.py b/tests/python/pep8.py
index fde86892782..9a2871c9ed5 100644
--- a/tests/python/pep8.py
+++ b/tests/python/pep8.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8-80 compliant>
diff --git a/tests/python/physics_cloth.py b/tests/python/physics_cloth.py
index 83f1366037c..c507a85c087 100644
--- a/tests/python/physics_cloth.py
+++ b/tests/python/physics_cloth.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/physics_dynamic_paint.py b/tests/python/physics_dynamic_paint.py
index d1f31b2718b..f5fabb23adc 100644
--- a/tests/python/physics_dynamic_paint.py
+++ b/tests/python/physics_dynamic_paint.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/physics_ocean.py b/tests/python/physics_ocean.py
index 59eb71aa9f1..7a02fc9de4b 100644
--- a/tests/python/physics_ocean.py
+++ b/tests/python/physics_ocean.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/physics_particle_instance.py b/tests/python/physics_particle_instance.py
index ce0bdffcd8b..d31ce68c7b2 100644
--- a/tests/python/physics_particle_instance.py
+++ b/tests/python/physics_particle_instance.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/physics_particle_system.py b/tests/python/physics_particle_system.py
index 4f54b87e8b0..d304d11a894 100644
--- a/tests/python/physics_particle_system.py
+++ b/tests/python/physics_particle_system.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/physics_softbody.py b/tests/python/physics_softbody.py
index 6d4d4cc08d5..b167529ccca 100644
--- a/tests/python/physics_softbody.py
+++ b/tests/python/physics_softbody.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/rna_array.py b/tests/python/rna_array.py
index 623766aa0a1..77d9b9cb3e7 100644
--- a/tests/python/rna_array.py
+++ b/tests/python/rna_array.py
@@ -1,4 +1,4 @@
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import unittest
import random
diff --git a/tests/python/rna_info_dump.py b/tests/python/rna_info_dump.py
index bca912f39cf..afedf670f2f 100644
--- a/tests/python/rna_info_dump.py
+++ b/tests/python/rna_info_dump.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/rst_to_doctree_mini.py b/tests/python/rst_to_doctree_mini.py
index b5e643ac46d..3466c915aa0 100644
--- a/tests/python/rst_to_doctree_mini.py
+++ b/tests/python/rst_to_doctree_mini.py
@@ -1,20 +1,4 @@
-# ##### 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 #####
+# SPDX-License-Identifier: GPL-2.0-or-later
# <pep8 compliant>
diff --git a/tests/python/sequencer_render_tests.py b/tests/python/sequencer_render_tests.py
index 54c9d68817b..8d3a44be8a5 100644
--- a/tests/python/sequencer_render_tests.py
+++ b/tests/python/sequencer_render_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os
diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt
index 3cac2b6d85f..56dc1c8b5e9 100644
--- a/tests/python/view_layer/CMakeLists.txt
+++ b/tests/python/view_layer/CMakeLists.txt
@@ -1,19 +1,4 @@
-# ***** 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 *****
+# SPDX-License-Identifier: GPL-2.0-or-later
# --env-system-scripts allows to run without the install target.
diff --git a/tests/python/view_layer/test_active_collection.py b/tests/python/view_layer/test_active_collection.py
index 1c6c3cd1983..dfd80c8151e 100644
--- a/tests/python/view_layer/test_active_collection.py
+++ b/tests/python/view_layer/test_active_collection.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_background_set.py b/tests/python/view_layer/test_background_set.py
index f522f425920..31e377966fb 100644
--- a/tests/python/view_layer/test_background_set.py
+++ b/tests/python/view_layer/test_background_set.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_collection_new_sync.py b/tests/python/view_layer/test_collection_new_sync.py
index 46b63c64f45..5bfb643cd24 100644
--- a/tests/python/view_layer/test_collection_new_sync.py
+++ b/tests/python/view_layer/test_collection_new_sync.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_collection_rename_a.py b/tests/python/view_layer/test_collection_rename_a.py
index ea156d7346f..f4495e0c64b 100644
--- a/tests/python/view_layer/test_collection_rename_a.py
+++ b/tests/python/view_layer/test_collection_rename_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_collection_rename_b.py b/tests/python/view_layer/test_collection_rename_b.py
index 3787066e1b9..bb7511ef735 100644
--- a/tests/python/view_layer/test_collection_rename_b.py
+++ b/tests/python/view_layer/test_collection_rename_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_a.py b/tests/python/view_layer/test_evaluation_render_settings_a.py
index 1299737cd2c..526e7462716 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_a.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_b.py b/tests/python/view_layer/test_evaluation_render_settings_b.py
index 77e01d85a87..1674ae6a93e 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_b.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_c.py b/tests/python/view_layer/test_evaluation_render_settings_c.py
index 033dd7bcb69..ca572253dff 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_c.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_d.py b/tests/python/view_layer/test_evaluation_render_settings_d.py
index 85808c548b4..2c2173af0d6 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_d.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_e.py b/tests/python/view_layer/test_evaluation_render_settings_e.py
index 2375a6e575e..f2cc6f579d7 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_e.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_f.py b/tests/python/view_layer/test_evaluation_render_settings_f.py
index f334880b6b4..966bdbd4392 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_f.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_g.py b/tests/python/view_layer/test_evaluation_render_settings_g.py
index 1b4262934fb..dfc34e76975 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_g.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_h.py b/tests/python/view_layer/test_evaluation_render_settings_h.py
index 937fab1521a..0e3bc5faaa8 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_h.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_render_settings_i.py b/tests/python/view_layer/test_evaluation_render_settings_i.py
index 2842f2adb92..d44e00ae665 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_i.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_a.py b/tests/python/view_layer/test_evaluation_selectability_a.py
index 16ad38d1d7e..8f252f77c54 100644
--- a/tests/python/view_layer/test_evaluation_selectability_a.py
+++ b/tests/python/view_layer/test_evaluation_selectability_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_b.py b/tests/python/view_layer/test_evaluation_selectability_b.py
index 3828d2013ff..fdcfcfe7950 100644
--- a/tests/python/view_layer/test_evaluation_selectability_b.py
+++ b/tests/python/view_layer/test_evaluation_selectability_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_c.py b/tests/python/view_layer/test_evaluation_selectability_c.py
index 91c1c75c1f9..cb39f228101 100644
--- a/tests/python/view_layer/test_evaluation_selectability_c.py
+++ b/tests/python/view_layer/test_evaluation_selectability_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_d.py b/tests/python/view_layer/test_evaluation_selectability_d.py
index bab3ad8c35a..a892167e30c 100644
--- a/tests/python/view_layer/test_evaluation_selectability_d.py
+++ b/tests/python/view_layer/test_evaluation_selectability_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_e.py b/tests/python/view_layer/test_evaluation_selectability_e.py
index ff75bdcddfe..2ef3c4a71c2 100644
--- a/tests/python/view_layer/test_evaluation_selectability_e.py
+++ b/tests/python/view_layer/test_evaluation_selectability_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_selectability_f.py b/tests/python/view_layer/test_evaluation_selectability_f.py
index 16aa86a0c2a..08ae72ad5be 100644
--- a/tests/python/view_layer/test_evaluation_selectability_f.py
+++ b/tests/python/view_layer/test_evaluation_selectability_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_a.py b/tests/python/view_layer/test_evaluation_visibility_a.py
index 13c05c28744..e9ca47a9dec 100644
--- a/tests/python/view_layer/test_evaluation_visibility_a.py
+++ b/tests/python/view_layer/test_evaluation_visibility_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_b.py b/tests/python/view_layer/test_evaluation_visibility_b.py
index 88bf0808d1f..432c7203da9 100644
--- a/tests/python/view_layer/test_evaluation_visibility_b.py
+++ b/tests/python/view_layer/test_evaluation_visibility_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_c.py b/tests/python/view_layer/test_evaluation_visibility_c.py
index e337a22e561..54f9f2d168e 100644
--- a/tests/python/view_layer/test_evaluation_visibility_c.py
+++ b/tests/python/view_layer/test_evaluation_visibility_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_d.py b/tests/python/view_layer/test_evaluation_visibility_d.py
index 66145dd3048..02a23e95ee9 100644
--- a/tests/python/view_layer/test_evaluation_visibility_d.py
+++ b/tests/python/view_layer/test_evaluation_visibility_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_e.py b/tests/python/view_layer/test_evaluation_visibility_e.py
index 3c3ccb61d5c..8829df36e3e 100644
--- a/tests/python/view_layer/test_evaluation_visibility_e.py
+++ b/tests/python/view_layer/test_evaluation_visibility_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_f.py b/tests/python/view_layer/test_evaluation_visibility_f.py
index a4b9df1ab8c..00cc4b7ab67 100644
--- a/tests/python/view_layer/test_evaluation_visibility_f.py
+++ b/tests/python/view_layer/test_evaluation_visibility_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_g.py b/tests/python/view_layer/test_evaluation_visibility_g.py
index d2dc7f27e87..665132d9305 100644
--- a/tests/python/view_layer/test_evaluation_visibility_g.py
+++ b/tests/python/view_layer/test_evaluation_visibility_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_h.py b/tests/python/view_layer/test_evaluation_visibility_h.py
index 0b1d779c152..28c0f251444 100644
--- a/tests/python/view_layer/test_evaluation_visibility_h.py
+++ b/tests/python/view_layer/test_evaluation_visibility_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_i.py b/tests/python/view_layer/test_evaluation_visibility_i.py
index 5a292eadd91..fe125151f22 100644
--- a/tests/python/view_layer/test_evaluation_visibility_i.py
+++ b/tests/python/view_layer/test_evaluation_visibility_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_evaluation_visibility_j.py b/tests/python/view_layer/test_evaluation_visibility_j.py
index d46da80ec08..8908cdf2965 100644
--- a/tests/python/view_layer/test_evaluation_visibility_j.py
+++ b/tests/python/view_layer/test_evaluation_visibility_j.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_group_a.py b/tests/python/view_layer/test_group_a.py
index 47511d78be7..8f658662612 100644
--- a/tests/python/view_layer/test_group_a.py
+++ b/tests/python/view_layer/test_group_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_group_b.py b/tests/python/view_layer/test_group_b.py
index ca99eb832e0..c7a96893ef5 100644
--- a/tests/python/view_layer/test_group_b.py
+++ b/tests/python/view_layer/test_group_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_group_c.py b/tests/python/view_layer/test_group_c.py
index 5b477b86224..a7ab1b15da4 100644
--- a/tests/python/view_layer/test_group_c.py
+++ b/tests/python/view_layer/test_group_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_group_d.py b/tests/python/view_layer/test_group_d.py
index 709d27df184..61500e74c93 100644
--- a/tests/python/view_layer/test_group_d.py
+++ b/tests/python/view_layer/test_group_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_group_e.py b/tests/python/view_layer/test_group_e.py
index 09d94b33347..bbde0aa8fb0 100644
--- a/tests/python/view_layer/test_group_e.py
+++ b/tests/python/view_layer/test_group_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_layer_linking.py b/tests/python/view_layer/test_layer_linking.py
index 43c88aa65f9..d80448e8b5d 100644
--- a/tests/python/view_layer/test_layer_linking.py
+++ b/tests/python/view_layer/test_layer_linking.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_layer_syncing.py b/tests/python/view_layer/test_layer_syncing.py
index 9baf25f9e9e..e473c2484b0 100644
--- a/tests/python/view_layer/test_layer_syncing.py
+++ b/tests/python/view_layer/test_layer_syncing.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_make_single_user.py b/tests/python/view_layer/test_make_single_user.py
index 38bd524a82d..a1be0660d91 100644
--- a/tests/python/view_layer/test_make_single_user.py
+++ b/tests/python/view_layer/test_make_single_user.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_a.py b/tests/python/view_layer/test_move_above_below_layer_collection_a.py
index 7c6c1fccfa9..df6170f66e5 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_a.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_b.py b/tests/python/view_layer/test_move_above_below_layer_collection_b.py
index 671978a27f3..5f607e82430 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_b.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_c.py b/tests/python/view_layer/test_move_above_below_layer_collection_c.py
index 671978a27f3..5f607e82430 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_c.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_d.py b/tests/python/view_layer/test_move_above_below_layer_collection_d.py
index b13e87985ee..91db9bed8cd 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_d.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_e.py b/tests/python/view_layer/test_move_above_below_layer_collection_e.py
index a9b0181083e..d16b4d91e3b 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_e.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_f.py b/tests/python/view_layer/test_move_above_below_layer_collection_f.py
index 036486bf55a..cff9aceda4b 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_f.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_g.py b/tests/python/view_layer/test_move_above_below_layer_collection_g.py
index aca6c5d5ff6..85b458f7401 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_g.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_h.py b/tests/python/view_layer/test_move_above_below_layer_collection_h.py
index 4fe2c857e50..9e3cdb497b7 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_h.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_i.py b/tests/python/view_layer/test_move_above_below_layer_collection_i.py
index dada882a412..34153262d92 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_i.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_j.py b/tests/python/view_layer/test_move_above_below_layer_collection_j.py
index cb56ca0b963..90b27d0433f 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_j.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_j.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_k.py b/tests/python/view_layer/test_move_above_below_layer_collection_k.py
index f6d442619f5..8b318be62a7 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_k.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_k.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_layer_collection_l.py b/tests/python/view_layer/test_move_above_below_layer_collection_l.py
index a8fad414685..f8fcf140d62 100644
--- a/tests/python/view_layer/test_move_above_below_layer_collection_l.py
+++ b/tests/python/view_layer/test_move_above_below_layer_collection_l.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_a.py b/tests/python/view_layer/test_move_above_below_scene_collection_a.py
index f558491527e..ad56491ce3d 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_a.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_b.py b/tests/python/view_layer/test_move_above_below_scene_collection_b.py
index 037ee01e205..5d032281ed3 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_b.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_c.py b/tests/python/view_layer/test_move_above_below_scene_collection_c.py
index 07b67092d3e..e09e7f5dad7 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_c.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_d.py b/tests/python/view_layer/test_move_above_below_scene_collection_d.py
index 9923d917abf..4bf2f38acf4 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_d.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_e.py b/tests/python/view_layer/test_move_above_below_scene_collection_e.py
index b9076826551..d28802c8079 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_e.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_f.py b/tests/python/view_layer/test_move_above_below_scene_collection_f.py
index 3343d0d774b..5eea0ff2a8e 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_f.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_g.py b/tests/python/view_layer/test_move_above_below_scene_collection_g.py
index 39848103ca2..ffa4a6c6ca9 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_g.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_h.py b/tests/python/view_layer/test_move_above_below_scene_collection_h.py
index af2f54f3db1..3da90f722c7 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_h.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_i.py b/tests/python/view_layer/test_move_above_below_scene_collection_i.py
index a6b3cb568c9..47fea4c7a77 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_i.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_a.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_a.py
index 73c79b0de87..a8d2a25d404 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_a.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_b.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_b.py
index 552ca0d5c9b..e596c8b693d 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_b.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_c.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_c.py
index c54115b0d13..f66196ddbb4 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_c.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_d.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_d.py
index bb770f61344..c1428c38fb0 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_d.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_e.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_e.py
index 88a77bf8385..61885e80d93 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_e.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_f.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_f.py
index 013165986f4..eb379a34fdf 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_f.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_g.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_g.py
index 8c64dd6f32d..aad453bfb95 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_g.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_h.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_h.py
index dd0fcc1f732..61c9fea8512 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_h.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_above_below_scene_collection_sync_i.py b/tests/python/view_layer/test_move_above_below_scene_collection_sync_i.py
index cdd43f5b8df..3d777ba2ca6 100644
--- a/tests/python/view_layer/test_move_above_below_scene_collection_sync_i.py
+++ b/tests/python/view_layer/test_move_above_below_scene_collection_sync_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_a.py b/tests/python/view_layer/test_move_into_layer_collection_a.py
index 85e24e53463..d674e64ec92 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_a.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_b.py b/tests/python/view_layer/test_move_into_layer_collection_b.py
index 77f5d2f2630..5acb3c94a86 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_b.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_c.py b/tests/python/view_layer/test_move_into_layer_collection_c.py
index 8ce07dd332e..ea7bd9ecb29 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_c.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_d.py b/tests/python/view_layer/test_move_into_layer_collection_d.py
index 715ea6de1da..f41a18fa47e 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_d.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_e.py b/tests/python/view_layer/test_move_into_layer_collection_e.py
index 6be1a27481f..68cccb88380 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_e.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_f.py b/tests/python/view_layer/test_move_into_layer_collection_f.py
index 7595619f42a..56ead29f1b9 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_f.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_g.py b/tests/python/view_layer/test_move_into_layer_collection_g.py
index 90f6739d249..dd6cdf1be0f 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_g.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_h.py b/tests/python/view_layer/test_move_into_layer_collection_h.py
index 0e5a86c57ae..2a10b11af0a 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_h.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_i.py b/tests/python/view_layer/test_move_into_layer_collection_i.py
index 23c6e9f997c..c7371104a30 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_i.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_layer_collection_j.py b/tests/python/view_layer/test_move_into_layer_collection_j.py
index e3d0f6c7cc8..f88d78fbadc 100644
--- a/tests/python/view_layer/test_move_into_layer_collection_j.py
+++ b/tests/python/view_layer/test_move_into_layer_collection_j.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_a.py b/tests/python/view_layer/test_move_into_scene_collection_a.py
index ab997ddf9b6..aa840e75deb 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_a.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_b.py b/tests/python/view_layer/test_move_into_scene_collection_b.py
index 4254a736b40..c6444eb90ee 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_b.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_c.py b/tests/python/view_layer/test_move_into_scene_collection_c.py
index 1c9aa295f72..4ff625281c5 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_c.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_d.py b/tests/python/view_layer/test_move_into_scene_collection_d.py
index c8346c43e05..ce686776135 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_d.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_e.py b/tests/python/view_layer/test_move_into_scene_collection_e.py
index f8d37eb769d..8babd7e7b26 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_e.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_f.py b/tests/python/view_layer/test_move_into_scene_collection_f.py
index a89c7dd81e9..840fdd3ad64 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_f.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_g.py b/tests/python/view_layer/test_move_into_scene_collection_g.py
index 04919ca720b..9fdeb439078 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_g.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_h.py b/tests/python/view_layer/test_move_into_scene_collection_h.py
index 57b15c4ef44..cc7940fbbef 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_h.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_i.py b/tests/python/view_layer/test_move_into_scene_collection_i.py
index 7b4076f3fd9..b1c8b53c750 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_i.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_j.py b/tests/python/view_layer/test_move_into_scene_collection_j.py
index 1625b6c517e..0158818b773 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_j.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_j.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_k.py b/tests/python/view_layer/test_move_into_scene_collection_k.py
index 2d4d5b51e29..5c049b8c04a 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_k.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_k.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_l.py b/tests/python/view_layer/test_move_into_scene_collection_l.py
index f2d52b38fe5..f1b805bbfcc 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_l.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_l.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_a.py b/tests/python/view_layer/test_move_into_scene_collection_sync_a.py
index 60001b9b049..9ec9d295d02 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_a.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_b.py b/tests/python/view_layer/test_move_into_scene_collection_sync_b.py
index a485d7160d6..dfbd5f743b5 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_b.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_c.py b/tests/python/view_layer/test_move_into_scene_collection_sync_c.py
index e68e1d04a56..64f788075e4 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_c.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_d.py b/tests/python/view_layer/test_move_into_scene_collection_sync_d.py
index 87234efef20..0e133d386ff 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_d.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_e.py b/tests/python/view_layer/test_move_into_scene_collection_sync_e.py
index fac8d46e471..136420d0dec 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_e.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_f.py b/tests/python/view_layer/test_move_into_scene_collection_sync_f.py
index bce9e45a764..2e42b783e50 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_f.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_g.py b/tests/python/view_layer/test_move_into_scene_collection_sync_g.py
index 8b08eb9f210..d69a18ce4ca 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_g.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_g.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_h.py b/tests/python/view_layer/test_move_into_scene_collection_sync_h.py
index f7eeb00b150..94459ddbb4b 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_h.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_h.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_i.py b/tests/python/view_layer/test_move_into_scene_collection_sync_i.py
index 373665dd732..45253e80316 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_i.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_i.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_j.py b/tests/python/view_layer/test_move_into_scene_collection_sync_j.py
index 519c1b81269..e21e9c699d2 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_j.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_j.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_k.py b/tests/python/view_layer/test_move_into_scene_collection_sync_k.py
index 4c785418b0e..c4a28693531 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_k.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_k.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_move_into_scene_collection_sync_l.py b/tests/python/view_layer/test_move_into_scene_collection_sync_l.py
index f50cd6f7072..7126a57730a 100644
--- a/tests/python/view_layer/test_move_into_scene_collection_sync_l.py
+++ b/tests/python/view_layer/test_move_into_scene_collection_sync_l.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_cylinder.py b/tests/python/view_layer/test_object_add_cylinder.py
index c982219a2c9..5724b9a1740 100644
--- a/tests/python/view_layer/test_object_add_cylinder.py
+++ b/tests/python/view_layer/test_object_add_cylinder.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_empty.py b/tests/python/view_layer/test_object_add_empty.py
index 376d9361319..91d26011252 100644
--- a/tests/python/view_layer/test_object_add_empty.py
+++ b/tests/python/view_layer/test_object_add_empty.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_no_collection_cylinder.py b/tests/python/view_layer/test_object_add_no_collection_cylinder.py
index d6138040092..dc5ba8c1638 100644
--- a/tests/python/view_layer/test_object_add_no_collection_cylinder.py
+++ b/tests/python/view_layer/test_object_add_no_collection_cylinder.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_no_collection_empty.py b/tests/python/view_layer/test_object_add_no_collection_empty.py
index 4c4ed45dfe8..27830497b26 100644
--- a/tests/python/view_layer/test_object_add_no_collection_empty.py
+++ b/tests/python/view_layer/test_object_add_no_collection_empty.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_no_collection_torus.py b/tests/python/view_layer/test_object_add_no_collection_torus.py
index 0bb6b03692d..83ed814fb0f 100644
--- a/tests/python/view_layer/test_object_add_no_collection_torus.py
+++ b/tests/python/view_layer/test_object_add_no_collection_torus.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_add_torus.py b/tests/python/view_layer/test_object_add_torus.py
index 7ee138bb93e..69fc67db002 100644
--- a/tests/python/view_layer/test_object_add_torus.py
+++ b/tests/python/view_layer/test_object_add_torus.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_copy.py b/tests/python/view_layer/test_object_copy.py
index 2ca5e170192..94bb41b1e18 100644
--- a/tests/python/view_layer/test_object_copy.py
+++ b/tests/python/view_layer/test_object_copy.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_delete_a.py b/tests/python/view_layer/test_object_delete_a.py
index 39304d1dcfc..53c34aef8d9 100644
--- a/tests/python/view_layer/test_object_delete_a.py
+++ b/tests/python/view_layer/test_object_delete_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_delete_b.py b/tests/python/view_layer/test_object_delete_b.py
index 58dae9fc8a3..8db6c398899 100644
--- a/tests/python/view_layer/test_object_delete_b.py
+++ b/tests/python/view_layer/test_object_delete_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_link_a.py b/tests/python/view_layer/test_object_link_a.py
index 4f79e1c16ad..755f7d20a17 100644
--- a/tests/python/view_layer/test_object_link_a.py
+++ b/tests/python/view_layer/test_object_link_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_link_b.py b/tests/python/view_layer/test_object_link_b.py
index 8a78251a167..84431db57c5 100644
--- a/tests/python/view_layer/test_object_link_b.py
+++ b/tests/python/view_layer/test_object_link_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_object_link_c.py b/tests/python/view_layer/test_object_link_c.py
index f0118beaefe..5b3922cab13 100644
--- a/tests/python/view_layer/test_object_link_c.py
+++ b/tests/python/view_layer/test_object_link_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_operator_context.py b/tests/python/view_layer/test_operator_context.py
index d11666de118..c613c264917 100644
--- a/tests/python/view_layer/test_operator_context.py
+++ b/tests/python/view_layer/test_operator_context.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_collection_delete.py b/tests/python/view_layer/test_scene_collection_delete.py
index 96ae122af8c..afe3b0509c0 100644
--- a/tests/python/view_layer/test_scene_collection_delete.py
+++ b/tests/python/view_layer/test_scene_collection_delete.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_a.py b/tests/python/view_layer/test_scene_copy_a.py
index 8f0f2316ce1..02ceab24ded 100644
--- a/tests/python/view_layer/test_scene_copy_a.py
+++ b/tests/python/view_layer/test_scene_copy_a.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_b.py b/tests/python/view_layer/test_scene_copy_b.py
index 73c6976c32c..887b4af981e 100644
--- a/tests/python/view_layer/test_scene_copy_b.py
+++ b/tests/python/view_layer/test_scene_copy_b.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_c.py b/tests/python/view_layer/test_scene_copy_c.py
index 57c875c047c..bc0462df77b 100644
--- a/tests/python/view_layer/test_scene_copy_c.py
+++ b/tests/python/view_layer/test_scene_copy_c.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_d.py b/tests/python/view_layer/test_scene_copy_d.py
index 6db3fb797e5..036ba0bac0e 100644
--- a/tests/python/view_layer/test_scene_copy_d.py
+++ b/tests/python/view_layer/test_scene_copy_d.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_e.py b/tests/python/view_layer/test_scene_copy_e.py
index a2d314a037a..c0673e293aa 100644
--- a/tests/python/view_layer/test_scene_copy_e.py
+++ b/tests/python/view_layer/test_scene_copy_e.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_copy_f.py b/tests/python/view_layer/test_scene_copy_f.py
index 6ea3058adc5..40add52bb8a 100644
--- a/tests/python/view_layer/test_scene_copy_f.py
+++ b/tests/python/view_layer/test_scene_copy_f.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_delete.py b/tests/python/view_layer/test_scene_delete.py
index edc997d6495..59a484187a7 100644
--- a/tests/python/view_layer/test_scene_delete.py
+++ b/tests/python/view_layer/test_scene_delete.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_objects.py b/tests/python/view_layer/test_scene_objects.py
index c5d3a0196ed..8872ef8489c 100644
--- a/tests/python/view_layer/test_scene_objects.py
+++ b/tests/python/view_layer/test_scene_objects.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_scene_write_read.py b/tests/python/view_layer/test_scene_write_read.py
index 92f3395d819..00c295f4de1 100644
--- a/tests/python/view_layer/test_scene_write_read.py
+++ b/tests/python/view_layer/test_scene_write_read.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/test_view_layer_rename.py b/tests/python/view_layer/test_view_layer_rename.py
index fefb317d0b1..546ae5f0dd4 100644
--- a/tests/python/view_layer/test_view_layer_rename.py
+++ b/tests/python/view_layer/test_view_layer_rename.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
diff --git a/tests/python/view_layer/view_layer_common.py b/tests/python/view_layer/view_layer_common.py
index d570298f4a2..46343bf5f4d 100644
--- a/tests/python/view_layer/view_layer_common.py
+++ b/tests/python/view_layer/view_layer_common.py
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
import unittest
__all__ = (
diff --git a/tests/python/workbench_render_tests.py b/tests/python/workbench_render_tests.py
index 03a85c58dd9..3ceb0fb3226 100644
--- a/tests/python/workbench_render_tests.py
+++ b/tests/python/workbench_render_tests.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Apache License, Version 2.0
+# SPDX-License-Identifier: Apache-2.0
import argparse
import os