[blender] EEVEE engine name drift and symlink-dependent previews (9 test failures on stock Windows)
[blender] Two smaller portability issues: EEVEE engine name and symlink-dependent previews
Filed together as they are both low-severity and both in the Blender harness. Split if you prefer.
1. test_script_render_settings_eevee asserts an engine name that no longer exists
FAILED TestBPYScriptGeneration::test_script_render_settings_eevee
- assert 'BLENDER_EEVEE_NEXT' in '#!/usr/bin/env python3\n"""Auto-generated B...
registry.json says requires: blender >= 4.2, but the engine identifier has changed
again since. The changelog shows a "Blender EEVEE engine name corrected" fix on
2026-03-25, so this has already been chased once.
Rather than hardcoding the current name, it may be worth mapping the engine id by detected Blender version, or asserting on a set of accepted identifiers, so the next rename doesn't break the suite again.
Tested against Blender 5.2.0 LTS.
2. Preview module requires symlink privilege — 7 test failures on stock Windows
FAILED TestPreview::test_live_start_publishes_session OSError: [WinError 1314]
FAILED TestPreview::test_live_push_updates_history OSError: [WinError 1314]
FAILED TestPreview::test_live_status_includes_trajectory_summary
FAILED TestPreview::test_live_push_appends_trajectory_even_when_bundle_is_reused
FAILED TestPreview::test_live_stop_marks_session_stopped
FAILED TestPreview::test_poll_live_session_once_captures_after_source_change
FAILED TestPreview::test_poll_live_session_once_exits_for_manual_mode
WinError 1314: A required privilege is not held by the client — creating a symlink on
Windows needs either administrator rights or Developer Mode enabled. Neither is on by
default.
Two further failures (TestCLISubprocess::test_cli_preview_live_manual_session,
TestPreviewE2E::test_preview_live_poll_auto_refresh) appear to be downstream of the
same cause.
This is partly environmental — enabling Developer Mode clears it — but a preview bundle arguably shouldn't need symlinks at all. Suggested options, in order of preference:
- Copy the file instead of symlinking (bundles are small).
- Fall back to a copy when
OSError/WinError 1314is raised. - If symlinks are genuinely required,
pytest.skipwith a clear message on Windows without the privilege, as the Joplin suite already does (134 passed ✅ (107 unit + 27 e2e, 1 skipped on Windows)).
Option 2 keeps behaviour identical where symlinks work.
Environment
| OS | Windows 11 Pro 10.0.26100 (Developer Mode off, non-elevated) |
| Python | 3.14.6 |
| Blender | 5.2.0 LTS |
| Repo | bc536c9 (2026-07-09) |
Source: HKUDS/CLI-Anything