The first push of the branch ran the Tests matrix on all three operating systems. Every Python job failed; the causes were: - numpy missing in CI: the WD14 engine tests import it (requirements-dev) - macOS: temp directories resolve through /private; the admin API tests now use the real path like the gallery roots they compare against - Windows: the startup banner printed an emoji, which raises UnicodeEncodeError on a legacy-code-page console and aborted loading the whole node; the banner is ASCII now and a test loads the package under a cp1252 stdout - Windows: gallery subfolders came back with backslashes, which neither the folder tree nor the search filter understand; they are "/" joined on every platform. A relative DEFAULT_DB_PATH kept its forward slashes after being joined to the extension root; it is normalised now - Windows: sqlite connections opened with `with sqlite3.connect()` are not closed by the context manager and linger until garbage collection, which holds a file lock there. Production sites (vacuum, diagnostics, restore inspection) close explicitly; a restore that swaps the API's database object closes the previous one; PromptModel keeps a registry so a shutdown or a test can close every instance - Windows: served files were still open when their temp directory was removed (tests now read the body), a log download test compared text mode newlines, two tests compared paths with a hard-coded separator tests/open_handles.py makes the Linux run fail the way Windows would: every database test base checks, right before deleting its files, that nothing in the process still holds them open.
19 lines
260 B
Plaintext
19 lines
260 B
Plaintext
# Runtime dependencies
|
|
watchdog>=2.1.0
|
|
Pillow>=8.0.0
|
|
aiohttp>=3.8.0
|
|
|
|
# Tests and coverage
|
|
coverage>=7.0
|
|
numpy>=1.24 # WD14 engine tests
|
|
|
|
# Code quality
|
|
black>=24.0.0
|
|
flake8>=7.0.0
|
|
|
|
# Security scanning
|
|
bandit[toml]>=1.7.0
|
|
|
|
# Pre-commit hooks
|
|
pre-commit>=4.0.0
|