blender/tests/python
Habib Gahbiche 1b4daf9d2e Nodes: remove "Use Nodes" in Shader Editor for Object Materials
"Use Nodes" was removed in the compositor to simplify the compositing
workflow. This introduced a slight inconsistency with the Shader Node
Editor.

This PR removes "Use Nodes" for object materials.

For Line Style, no changes are planned (not sure how to preserve
compatibility yet).
This simplifies the state of objects; either they have a material or
they don't.

Backward compatibility:
- If Use Nodes is turned Off, new nodes are added to the node tree to
simulate the same material:
- DNA: Only `use_nodes` is marked deprecated
- Python API:
  - `material.use_nodes` is marked deprecated and will be removed in
6.0. Reading it always returns `True` and setting it has no effect.
  - `material.diffuse_color`, `material.specular` etc.. Are not used by
EEVEE anymore but are kept because they are used by Workbench.

Forward compatibility:
Always enable 'Use Nodes' when writing blend files.

Known Issues:
Some UI tests are failing on macOS

Pull Request: https://projects.blender.org/blender/blender/pulls/141278
2025-09-14 17:53:54 +02:00
..
modules Fix #145594: Tests: Check Windows command line length for batched tests 2025-09-10 17:57:01 +02:00
overlay Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
sculpt_paint Fix #140556: Mask filter operations behave incorrectly on dense meshes 2025-06-23 19:22:33 +02:00
system_python Add 'system python' validation for some py scripts. 2024-12-24 11:55:29 +01:00
ui_simulate Tests: Compositor: add UI test case for undo 2025-07-24 11:41:46 +02:00
view_layer Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
alembic_export_tests.py Merge branch 'blender-v4.3-release' 2024-11-03 22:04:44 +11:00
batch_import.py
bevel_operator.py Fix #79163: Bevel operation produces disconnected UVs #139595. 2025-06-19 10:00:58 -04:00
bl_alembic_io_test.py Fix #141633: Various subdivision problems during Alembic import 2025-07-14 21:49:23 +02:00
bl_animation_action.py Core: Increase MAX_ID_NAME length from 66 to 258 (Blender 5.0) 2025-06-19 16:39:20 +02:00
bl_animation_armature.py
bl_animation_bake.py Fix: Retain slot name when baking action 2025-04-03 10:18:15 +02:00
bl_animation_drivers.py Modeling: Set shape key default value to 1.0 2025-08-01 15:43:31 +02:00
bl_animation_fcurves.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
bl_animation_keyframing.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
bl_animation_nla_strip.py Anim: rename RNA Slot.id_root to Slot.target_id_type 2025-01-20 15:24:08 +01:00
bl_blendfile_header.py Cleanup: make the blend file header private 2025-06-28 08:40:31 +10:00
bl_blendfile_io.py Fix typo in blendfile_io test. 2025-06-30 17:10:11 +02:00
bl_blendfile_liblink.py Refactor: Tests: bl_blendfile: Use unittest module instead of asserts. 2025-01-17 21:05:39 +01:00
bl_blendfile_library_overrides.py Tests: LibOverride: Simply some code, add 'empty lib' test case. 2025-08-13 15:16:02 +02:00
bl_blendfile_relationships.py VSE: Scene Selector & Scene Time Synchronization 2025-08-25 11:58:17 +02:00
bl_blendfile_utils.py Nodes: remove "Use Nodes" in Shader Editor for Object Materials 2025-09-14 17:53:54 +02:00
bl_blendfile_versioning.py Core: extract blendfile_header.py as common utility for parsing .blend files 2025-06-23 12:53:55 +02:00
bl_brush_test.py Refactor: Paint: Rename brush _tool properties to _brush_type 2025-06-06 23:40:13 +02:00
bl_bundled_modules.py Tests: include cattrs and fastjsonschema in bundled modules test 2025-07-31 16:28:52 +02:00
bl_constraints.py Anim: Add "replace" mix mode to the Action Constraint 2025-05-15 14:30:01 +02:00
bl_geometry_attributes.py Attributes: Use AttributeStorage for curves and Grease Pencil 2025-07-01 16:30:00 +02:00
bl_geonode_file_reporting.py Geometry Nodes: implement file path callback for import nodes 2025-08-26 11:03:27 +02:00
bl_http_downloader.py Python: add HTTP file downloader 2025-08-01 12:27:56 +02:00
bl_id_management.py Cleanup: pass multiple arguments to str.startswith 2024-10-30 16:33:37 +11:00
bl_imbuf_load.py Fix: Operator, app template and benchmarking script errors after media type 2025-07-28 11:55:11 +02:00
bl_imbuf_save.py Cleanup: format 2024-10-16 21:09:25 +11:00
bl_io_curve_svg_test.py Cleanup: declare __all__ for Python scripts 2025-01-06 16:45:36 +11:00
bl_keymap_completeness.py
bl_keymap_validate.py mypy: add 3 scripts to the "make check_mypy" config 2024-11-02 23:18:59 +11:00
bl_load_addons.py Cleanup: declare __all__ for Python scripts 2025-01-06 16:45:36 +11:00
bl_load_py_modules.py Cleanup: restore error, exclude extensions tests from bl_load_py_modules 2024-05-16 16:02:25 +10:00
bl_mesh_modifiers.py Fix: Operator, app template and benchmarking script errors after media type 2025-07-28 11:55:11 +02:00
bl_mesh_validate.py Cleanup: declare __all__ for Python scripts 2025-01-06 16:45:36 +11:00
bl_multires.py Tests: Add Multires Apply Base test 2025-07-08 22:17:36 +02:00
bl_node_group_compat.py Compositor: remove scene.node_tree from Python API 2025-08-01 10:30:11 +02:00
bl_node_group_interface.py Nodes: remove "Use Nodes" in Shader Editor for Object Materials 2025-09-14 17:53:54 +02:00
bl_node_socket_usage_inference.py Fix #142828: broken socket usage inference for some nodes 2025-07-24 08:13:34 +02:00
bl_node_structure_type_inference.py Fix #143585: wrong structure type inferencing for lists 2025-08-08 09:07:20 +02:00
bl_object.py Tests: Add tests for object.voxel_remesh 2025-04-16 07:01:24 +02:00
bl_pose_assets.py Fix #141909: Creating a pose assets captures unkeyed custom properties 2025-07-17 11:05:31 +02:00
bl_pyapi_bmesh.py BMesh: Python: Add minimal API test for bmesh. 2025-06-16 16:18:41 +02:00
bl_pyapi_bpy_app_tempdir.py Core: remove use of the environment variable TMP on Unix 2025-08-07 10:17:51 +10:00
bl_pyapi_bpy_driver_secure_eval.py PyAPI: remove use of BaseException 2024-10-01 13:18:46 +10:00
bl_pyapi_bpy_path.py
bl_pyapi_bpy_utils_units.py Cleanup: declare __all__ for Python scripts 2025-01-06 16:45:36 +11:00
bl_pyapi_grease_pencil.py Fix: Grease Pencil: Wrong layer attributes after reorder 2025-07-18 16:30:41 +02:00
bl_pyapi_idprop.py BPY: Implement get_transform and set_transform for runtime-defined RNA properties. 2025-09-02 11:30:09 +02:00
bl_pyapi_idprop_datablock.py Compositor: remove scene.node_tree from Python API 2025-08-01 10:30:11 +02:00
bl_pyapi_mathutils.py PyDoc: include buffer access in examples, cleanup 2025-08-16 17:39:35 +10:00
bl_pyapi_prop.py BPY: Implement get_transform and set_transform for runtime-defined RNA properties. 2025-09-02 11:30:09 +02:00
bl_pyapi_prop_array.py Cleanup: correct comments, add __all__ to bl_pyapi_prop_array.py 2025-09-04 16:55:41 +10:00
bl_pyapi_text.py
bl_reorder.py Mesh: Spatial Reordering for Sculpt Speed Improvements 2025-07-04 20:02:37 +02:00
bl_rigging_symmetrize.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
bl_rna_accessors.py Fix #133551: Crash accessing scene.tool_settings.uv_sculpt 2025-01-27 14:51:22 +01:00
bl_rna_defaults.py Fix #143715: Grease Pencil: Replace uses of legacy BlendData type 2025-07-31 18:14:44 +02:00
bl_rna_manual_reference.py Cleanup: use str.format for bl_rna_manual_reference test 2025-09-06 04:36:12 +00:00
bl_rna_paths.py Merge branch 'blender-v4.4-release' 2025-02-28 17:14:34 +01:00
bl_rst_completeness.py Python: Remove deprecated BGL API 2025-06-16 12:50:50 +02:00
bl_sculpt.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
bl_test.py Cleanup: use context-manager for opening files 2025-01-04 22:26:18 +11:00
bl_usd_export_test.py Nodes: remove "Use Nodes" in Shader Editor for Object Materials 2025-09-14 17:53:54 +02:00
bl_usd_import_test.py Nodes: remove "Use Nodes" in Shader Editor for Object Materials 2025-09-14 17:53:54 +02:00
boolean_operator.py Fix: #141639: Renaming Boolean Operation Solver From Fast to Float 2025-07-10 10:44:44 -04:00
CMakeLists.txt Shader Nodes: support repeat zones, closures and bundles 2025-09-09 16:15:43 +02:00
compositing_node_group.py Fix: wrong user count for compositing node tree 2025-07-30 13:18:47 +02:00
compositor_file_output_tests.py Fix #134920: File Output writes frame for single render 2025-09-12 09:01:31 +02:00
compositor_render_tests.py Merge branch 'blender-v4.5-release' 2025-07-09 15:16:46 +02:00
curve_to_mesh.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
curves_extrude.py Cleanup: move binary operator to line end in Python scripts 2024-11-02 15:43:26 +11:00
cycles_render_tests.py Color Management: Add working color space for blend files 2025-09-05 19:04:47 +02:00
deform_modifiers.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
eevee_render_tests.py Vulkan: Pass EEVEE render tests 2025-09-08 14:33:42 +02:00
ffmpeg_tests.py VSE: Python API: Deprecate sequence properties and replace with new ones 2025-01-21 11:30:20 +01:00
geo_node_sim_test.py
geo_node_test.py Geometry Nodes: move bundle and closure nodes out of experimental 2025-08-08 13:48:02 +02:00
gpu_info.py
io_fbx_import_test.py Tests: switch FBX import tests to use the new importer 2025-04-16 13:01:46 +02:00
io_obj_import_test.py Tests: Add FBX import tests, switch OBJ/PLY/STL import tests to the same machinery 2025-01-15 05:52:15 +01:00
io_ply_import_test.py Tests: Add FBX import tests, switch OBJ/PLY/STL import tests to the same machinery 2025-01-15 05:52:15 +01:00
io_stl_import_test.py Tests: Add FBX import tests, switch OBJ/PLY/STL import tests to the same machinery 2025-01-15 05:52:15 +01:00
modifiers.py Fix: #141639: Renaming Boolean Operation Solver From Fast to Float 2025-07-10 10:44:44 -04:00
object_conversion.py Move tests/data and assets to the main repository 2025-05-05 15:10:22 +02:00
operators.py Cleanup: wrap long lines in operator tests 2025-07-11 17:13:50 +10:00
overlay_render_tests.py GPU: Remove WITH_GPU_RENDER_TESTS_SILENT option 2025-04-15 17:56:16 +02:00
pep8.py Cleanup: exclude "./lib/" from pep8 checker 2024-11-06 10:49:53 +11:00
physics_cloth.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
physics_dynamic_paint.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
physics_ocean.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
physics_particle_instance.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
physics_particle_system.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
physics_softbody.py Tests: Remove suite level apply_modifiers option for modifier tests 2025-06-24 19:27:36 +02:00
rna_array.py
rna_info_dump.py
rst_to_doctree_mini.py
sculpt_brush_render_tests.py Tests: Add initial sculpt mesh render test 2025-02-14 07:36:00 +01:00
sequencer_input_colorspace.py Video: Save colorspace metadata based on display, remove HDR option 2025-09-03 16:32:33 +02:00
sequencer_load_meta_stack.py Python: VSE: Remove deprecated "sequence" context API 2025-09-03 19:31:30 +02:00
sequencer_render_tests.py Video: Save colorspace metadata based on display, remove HDR option 2025-09-03 16:32:33 +02:00
sequencer_video_output_tests.py Video: HDR video input/output support 2025-07-21 19:26:07 +02:00
storm_render_tests.py Tests: update GPU volume tests 2025-08-15 18:15:34 +02:00
ui_screenshot_tests.py Tests: Fix "opengl_draw" tests 2025-01-30 18:44:23 +01:00
workbench_render_tests.py EEVEE: Remove all remaining reference of EEVEE next 2025-06-13 12:36:14 +02:00