Make i18n steady-state tests handle pending translations

This commit is contained in:
Jonatan
2026-10-16 22:16:45 +02:00
parent c9cdac58aa
commit ada0f1109f
3 changed files with 90 additions and 165 deletions
+14 -1
View File
@@ -818,7 +818,7 @@ Note that the dev server has no Flask backend on the same host by default: the a
### Testing
#### Offline i18n script tests
#### Offline script regressions (including i18n)
From the repository root, run the complete script suite:
@@ -836,6 +836,14 @@ It does not launch React or require `npm install`, `pip install`, a Proxmox host
API keys, or a translation provider. Generator tests use isolated temporary
catalogs and fake/forbidden providers; repository catalogs are not regenerated.
The command-description recovery regression first completes disposable copies
of the shipped catalogs with the real generator and a deterministic offline
provider, then requires a second run to make zero provider calls and zero
writes. It checks that all existing nonempty translations and the frozen
command-description arrays survive unchanged. A synthetic EN-only feature tests
new nested strings, arrays, placeholders and non-text values. New message keys
do not need to be added to a test-specific translation seed list.
Scheduler fixtures discover every shipped `lang/*.json` cache and run the actual
`translate` lookup at both empty-job consumers for PBS and local archive backends.
They accept English fallback for missing/empty entries; complete translations are
@@ -859,6 +867,11 @@ than silently skipping the consumer assertions. `.github/workflows/test-i18n.yml
provisions Python and Node and runs this same command on relevant pull requests
and main/develop pushes (or manually). It is separate from the translation
publication workflow and has read-only repository permissions.
Its Actions name is **Offline script regressions** because it also covers menus,
downloads, scheduler behavior and other scripts. The `offline-i18n` check ID is
retained for compatibility with existing branch protection rules; a failure of
that check is not necessarily a translation failure. Read its failing test name
and traceback before changing catalogs or translation-provider settings.
#### Qualified offline `tests/` CI lanes