[blender] EEVEE engine name drift and symlink-dependent previews (9 test failures on stock Windows)

Author: SleepyOldOrbsCreated Jul 22, 2026Updated Jul 22, 2026

[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:

  1. Copy the file instead of symlinking (bundles are small).
  2. Fall back to a copy when OSError/WinError 1314 is raised.
  3. If symlinks are genuinely required, pytest.skip with 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)