test(symbol-library): init _cache_lock in __new__-based fixture
The background warm-cache change made list_symbols() guard cache writes with self._cache_lock. _manager_for_fixture() builds the manager via __new__ (to skip disk I/O to system libs), bypassing __init__ where the lock is created, so the 8 SPICE-parsing tests raised AttributeError. Set the lock in the fixture. The string-aware parser itself is correct — all 8 pass once the lock exists. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ Covers:
|
||||
"""
|
||||
|
||||
import sys
|
||||
import threading
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
@@ -24,6 +25,9 @@ def _manager_for_fixture() -> SymbolLibraryManager:
|
||||
manager.project_path = None
|
||||
manager.libraries = {"Simulation_SPICE": str(FIXTURE)}
|
||||
manager.symbol_cache = {}
|
||||
# list_symbols() guards cache writes with this lock (added alongside the
|
||||
# background warm-cache). The fixture bypasses __init__, so set it here.
|
||||
manager._cache_lock = threading.Lock()
|
||||
return manager
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user