30650cad6e
gates / gates (push) Successful in 1m59s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
506 lines
32 KiB
Plaintext
506 lines
32 KiB
Plaintext
|
|
==================== R-591 — red-proof ====================
|
|
Fix undone in: internal/stacks/manager.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestDeepCopyStackI18nIsNotShared -v ./internal/stacks) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestDeepCopyStackI18nIsNotShared
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's data path overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's initial creds overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's description overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's tagline overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's deploy label overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's option label overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's use case overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's optional group overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's optional help overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:55: R-591: mutating the copy's integration overlay changed the ORIGINAL — the overlay is shared, not copied
|
|
r591_copy_i18n_test.go:59: R-591: adding a language to the copy's I18n map added it to the ORIGINAL — the map is shared
|
|
--- FAIL: TestDeepCopyStackI18nIsNotShared (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.007s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestDeepCopyStackI18nIsNotShared -v ./internal/stacks) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestDeepCopyStackI18nIsNotShared
|
|
--- PASS: TestDeepCopyStackI18nIsNotShared (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.007s
|
|
|
|
==================== R-568 — red-proof ====================
|
|
Fix undone in: internal/web/disk_health.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestDiskHealthRows_OrderIsStable -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestDiskHealthRows_OrderIsStable
|
|
r568_disk_order_test.go:31: R-568: the same two disks render in a different order depending on the agent's order: [nvme0n1 sda] vs [sda nvme0n1]
|
|
--- FAIL: TestDiskHealthRows_OrderIsStable (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.009s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestDiskHealthRows_OrderIsStable -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestDiskHealthRows_OrderIsStable
|
|
--- PASS: TestDiskHealthRows_OrderIsStable (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.009s
|
|
|
|
==================== R-567 — red-proof ====================
|
|
Fix undone in: internal/web/templates/layout.html (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestStorageWizardPages_OpenTheStorageNavGroup -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestStorageWizardPages_OpenTheStorageNavGroup
|
|
r567_storage_wizard_nav_test.go:21: R-567 storage_init: the storage menu group is not open
|
|
r567_storage_wizard_nav_test.go:21: R-567 storage_attach: the storage menu group is not open
|
|
--- FAIL: TestStorageWizardPages_OpenTheStorageNavGroup (0.06s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.072s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestStorageWizardPages_OpenTheStorageNavGroup -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestStorageWizardPages_OpenTheStorageNavGroup
|
|
--- PASS: TestStorageWizardPages_OpenTheStorageNavGroup (0.06s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.069s
|
|
|
|
==================== R-363 + R-547 — red-proof ====================
|
|
Fix undone in: cmd/controller/main.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestFillWatchRunsOnAnInterval -v ./cmd/controller) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestFillWatchRunsOnAnInterval
|
|
r363_fillwatch_interval_test.go:56: R-363: main.go registers fillWatcher.Check on a periodic (sched.Every, fillWatchInterval) job 0 times, want 1 — without it the fill check is daily only
|
|
--- FAIL: TestFillWatchRunsOnAnInterval (0.01s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.016s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestFillWatchRunsOnAnInterval -v ./cmd/controller) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestFillWatchRunsOnAnInterval
|
|
--- PASS: TestFillWatchRunsOnAnInterval (0.01s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.017s
|
|
|
|
==================== R-10 — red-proof ====================
|
|
Fix undone in: internal/appbackup/dbdump.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestDumpOneTo_SyncsTheDumpDirectoryAfterRename -v ./internal/appbackup) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestDumpOneTo_SyncsTheDumpDirectoryAfterRename
|
|
r10_dump_dirsync_test.go:51: R-10: the dump directory was not fsynced after the rename: synced=[], want [/tmp/TestDumpOneTo_SyncsTheDumpDirectoryAfterRename3850100245/002/unit]
|
|
--- FAIL: TestDumpOneTo_SyncsTheDumpDirectoryAfterRename (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/appbackup 0.009s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestDumpOneTo_SyncsTheDumpDirectoryAfterRename -v ./internal/appbackup) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestDumpOneTo_SyncsTheDumpDirectoryAfterRename
|
|
--- PASS: TestDumpOneTo_SyncsTheDumpDirectoryAfterRename (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/appbackup 0.008s
|
|
|
|
==================== R-552 (a: the clear itself) — red-proof ====================
|
|
Fix undone in: internal/backup/restore_record.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR552 -v ./internal/api) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR552_RemoveClearsTheInterruptedRestoreNotice
|
|
r552_remove_clears_notice_test.go:60: R-552: the removed app's interrupted-restore notice is still listed
|
|
r552_remove_clears_notice_test.go:67: R-552: the notice comes back after a restart — the clear was not persisted
|
|
--- FAIL: TestR552_RemoveClearsTheInterruptedRestoreNotice (0.02s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/api 0.023s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR552 -v ./internal/api) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR552_RemoveClearsTheInterruptedRestoreNotice
|
|
--- PASS: TestR552_RemoveClearsTheInterruptedRestoreNotice (0.02s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/api 0.024s
|
|
|
|
==================== R-552 (b: the wiring in removeStack) — red-proof ====================
|
|
Fix undone in: internal/api/router.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR552 -v ./internal/api) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR552_RemoveClearsTheInterruptedRestoreNotice
|
|
r552_remove_clears_notice_test.go:87: R-552: removeStack does not call clearInterruptedRestoreNotice
|
|
--- FAIL: TestR552_RemoveClearsTheInterruptedRestoreNotice (0.02s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/api 0.023s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR552 -v ./internal/api) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR552_RemoveClearsTheInterruptedRestoreNotice
|
|
--- PASS: TestR552_RemoveClearsTheInterruptedRestoreNotice (0.02s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/api 0.027s
|
|
|
|
==================== R-251 — red-proof ====================
|
|
Fix undone in: internal/backup/offbox_inventory.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR251 -v ./internal/backup) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR251_MarkerTagIsNotAnApp
|
|
r251_marker_tag_test.go:48: R-251: the recovery listing shows [calibre-web felhom-offbox]; want only [calibre-web] — the marker tag is not an app
|
|
r251_marker_tag_test.go:51: R-251: 2 size calls for one app, want 1
|
|
r251_marker_tag_test.go:59: R-251: the marker tag is reported as an app with a snapshot time
|
|
--- FAIL: TestR251_MarkerTagIsNotAnApp (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.007s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR251 -v ./internal/backup) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR251_MarkerTagIsNotAnApp
|
|
--- PASS: TestR251_MarkerTagIsNotAnApp (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.007s
|
|
|
|
==================== R-104 — red-proof ====================
|
|
Fix undone in: internal/backup/offbox.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR104_SurvivingLockIsNamed -v ./internal/backup) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR104_SurvivingLockIsNamed
|
|
r104_lock_class_test.go:36: R-104: a lock that survived the self-heal is classed "unknown", want "locked"
|
|
r104_lock_class_test.go:40: R-104: the Hungarian message does not name the lock: "A távoli mentés ismeretlen okból nem sikerült (1m0s): offbox backup app: exit status 1 (offsite repository is still locked after the self-heal)"
|
|
r104_lock_class_test.go:44: R-104: the English message does not name the lock: "The remote backup failed for an unknown reason (1m0s): offbox backup app: exit status 1 (offsite repository is still locked after the self-heal)"
|
|
r104_lock_class_test.go:49: R-104: restic's lock text is classed "unknown", want "locked"
|
|
--- FAIL: TestR104_SurvivingLockIsNamed (0.01s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.017s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR104_SurvivingLockIsNamed -v ./internal/backup) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR104_SurvivingLockIsNamed
|
|
--- PASS: TestR104_SurvivingLockIsNamed (0.01s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.017s
|
|
|
|
==================== R-619 — red-proof ====================
|
|
Fix undone in: internal/api/router.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR619 -v ./internal/api) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR619_PasswordFieldIsServedAsRequired
|
|
r619_password_required_test.go:81: R-619: the password field reaches the wire as required:false, but the deploy refuses without it
|
|
--- FAIL: TestR619_PasswordFieldIsServedAsRequired (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/api 0.009s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR619 -v ./internal/api) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR619_PasswordFieldIsServedAsRequired
|
|
--- PASS: TestR619_PasswordFieldIsServedAsRequired (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/api 0.011s
|
|
|
|
==================== R-362 — red-proof ====================
|
|
Fix undone in: internal/backup/restore_dir_err.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR362 -v ./internal/backup) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR362_DetachedDriveIsNamed
|
|
r362_restore_drive_gone_test.go:41: R-362: the Hungarian refusal does not name the missing drive: "restore dir: mkdir /mnt/felhom-drives/hdd_1/backups: permission denied"
|
|
r362_restore_drive_gone_test.go:44: R-362: the English refusal does not name the missing drive: "restore dir: mkdir /mnt/felhom-drives/hdd_1/backups: permission denied"
|
|
r362_restore_drive_gone_test.go:49: R-362: a drive the registry marks disconnected is not named: "restore dir: mkdir /mnt/hdd_legacy: permission denied"
|
|
--- FAIL: TestR362_DetachedDriveIsNamed (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.009s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR362 -v ./internal/backup) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR362_DetachedDriveIsNamed
|
|
[WARN] [backup] restore dir /mnt/felhom-drives/hdd_1/backups/offsite-restore/app: mkdir /mnt/felhom-drives/hdd_1/backups: permission denied — the drive /mnt/felhom-drives/hdd_1 (Kulso HDD) is not connected; reported as a missing drive (R-362)
|
|
[WARN] [backup] restore dir /mnt/hdd_legacy/x: mkdir /mnt/hdd_legacy: permission denied — the drive /mnt/hdd_legacy (Regi HDD) is not connected; reported as a missing drive (R-362)
|
|
--- PASS: TestR362_DetachedDriveIsNamed (0.01s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.017s
|
|
|
|
==================== R-675 — red-proof ====================
|
|
Fix undone in: internal/web/handlers.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR675 -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR675_RefusalNamesTheWholeCopy
|
|
r675_refusal_whole_copy_test.go:33: R-675 whole copy on the second drive: the Hungarian refusal reads "Ez a mentés nem tartalmazza az alkalmazás fájljait, ezért nem állítjuk vissza az adatbázist föléjük — a fájlok így a helyükön maradnak. A fájlok a második meghajtó másolatából állíthatók vissza: „Fájlok visszaállítása”."; want it to name "Teljes visszaállítás a másolatból" and not "Fájlok visszaállítása"
|
|
r675_refusal_whole_copy_test.go:36: R-675 whole copy on the second drive: the English refusal reads "This backup does not hold the files of the app, so we do not restore the database over them — the files stay where they are. The files can be restored from the copy on the second drive: “Restore files”."; want it to name "Full restore from the copy"
|
|
--- FAIL: TestR675_RefusalNamesTheWholeCopy (0.06s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.073s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR675 -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR675_RefusalNamesTheWholeCopy
|
|
--- PASS: TestR675_RefusalNamesTheWholeCopy (0.07s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.081s
|
|
|
|
==================== R-240 — red-proof ====================
|
|
Fix undone in: internal/backup/offbox.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR240 -v ./internal/backup) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR240_ZeroSelectionRunDoesNotSaySuccess
|
|
[ERROR] [backup] Database discovery failed: docker ps failed: R-650: refused to run the real "docker ps --format {{.ID}}\t{{.Names}}\t{{.Label \"com.docker.compose.project\"}}\t{{.Image}} --filter status=running" under go test (this host may be production Docker); use a seam or a stub on PATH, or set FELHOM_TEST_REAL_DOCKER=1 deliberately
|
|
[WARN] [offbox] pre-push dump leg failed (docker ps failed: R-650: refused to run the real "docker ps --format {{.ID}}\t{{.Names}}\t{{.Label \"com.docker.compose.project\"}}\t{{.Image}} --filter status=running" under go test (this host may be production Docker); use a seam or a stub on PATH, or set FELHOM_TEST_REAL_DOCKER=1 deliberately) — continuing with the existing dumps; the snapshot's DB half may be older than its files
|
|
r240_zero_selection_test.go:30: R-240: the note for a run that saved nothing still calls itself successful: "Sikeres — nincs mentésre jelölt alkalmazás"
|
|
r240_zero_selection_test.go:33: R-240: the note does not say the run saved nothing: "Sikeres — nincs mentésre jelölt alkalmazás"
|
|
--- FAIL: TestR240_ZeroSelectionRunDoesNotSaySuccess (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.008s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR240 -v ./internal/backup) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR240_ZeroSelectionRunDoesNotSaySuccess
|
|
[ERROR] [backup] Database discovery failed: docker ps failed: R-650: refused to run the real "docker ps --format {{.ID}}\t{{.Names}}\t{{.Label \"com.docker.compose.project\"}}\t{{.Image}} --filter status=running" under go test (this host may be production Docker); use a seam or a stub on PATH, or set FELHOM_TEST_REAL_DOCKER=1 deliberately
|
|
[WARN] [offbox] pre-push dump leg failed (docker ps failed: R-650: refused to run the real "docker ps --format {{.ID}}\t{{.Names}}\t{{.Label \"com.docker.compose.project\"}}\t{{.Image}} --filter status=running" under go test (this host may be production Docker); use a seam or a stub on PATH, or set FELHOM_TEST_REAL_DOCKER=1 deliberately) — continuing with the existing dumps; the snapshot's DB half may be older than its files
|
|
--- PASS: TestR240_ZeroSelectionRunDoesNotSaySuccess (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.009s
|
|
|
|
==================== R-256 (hu copy restored to the old sentence) — red-proof ====================
|
|
Fix undone in: internal/i18n/locales/hu.json (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR256 -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR256_R257_OffboxRefusalsNameARoute
|
|
r256_r257_offbox_refusals_test.go:37: R-256: the Hungarian refusal names no route or still names the component: "A mentéskezelő nem elérhető."
|
|
r256_r257_offbox_refusals_test.go:45: R-256: the restore page's twin refusal differs: "A mentések kezelése most nem érhető el. Próbáld újra néhány perc múlva; ha akkor sem megy, keresd a Felhom ügyfélszolgálatát." vs "A mentéskezelő nem elérhető."
|
|
--- FAIL: TestR256_R257_OffboxRefusalsNameARoute (0.06s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.070s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR256 -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR256_R257_OffboxRefusalsNameARoute
|
|
--- PASS: TestR256_R257_OffboxRefusalsNameARoute (0.06s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.075s
|
|
|
|
==================== R-257 (hu copy restored to the old sentence) — red-proof ====================
|
|
Fix undone in: internal/i18n/locales/hu.json (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR256 -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR256_R257_OffboxRefusalsNameARoute
|
|
r256_r257_offbox_refusals_test.go:67: R-257: the Hungarian refusal still says "offsite": "Az offsite tároló nincs elárvult állapotban."
|
|
r256_r257_offbox_refusals_test.go:67: R-257: the Hungarian refusal still says "elárvult": "Az offsite tároló nincs elárvult állapotban."
|
|
r256_r257_offbox_refusals_test.go:71: R-257: the Hungarian refusal does not say why or where to go: "Az offsite tároló nincs elárvult állapotban."
|
|
--- FAIL: TestR256_R257_OffboxRefusalsNameARoute (0.06s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.071s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR256 -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR256_R257_OffboxRefusalsNameARoute
|
|
--- PASS: TestR256_R257_OffboxRefusalsNameARoute (0.07s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.078s
|
|
|
|
==================== R-365 — red-proof ====================
|
|
Fix undone in: internal/web/handlers.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR365 -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR365_OverdueCountdownIsNotFutureTense
|
|
r365_abandon_overdue_test.go:41: R-365: an overdue countdown does not say the deletion is due since 2026-10-04
|
|
r365_abandon_overdue_test.go:44: R-365: an overdue countdown still renders a past date in the future tense
|
|
--- FAIL: TestR365_OverdueCountdownIsNotFutureTense (0.14s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.149s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR365 -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR365_OverdueCountdownIsNotFutureTense
|
|
--- PASS: TestR365_OverdueCountdownIsNotFutureTense (0.15s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.159s
|
|
|
|
==================== R-564 — red-proof (gate; Python, so no go test -run) ====================
|
|
Fix undone: SPLIT_PATTERNS emptied in scripts/retrieval_promise_gate.py; decoy harness run.
|
|
$ (cd controller && python3 scripts/test_gate_decoys.py | grep split) # FIX UNDONE
|
|
ok retrieval-promise/split-verb decoy rejected
|
|
FAIL: retrieval-promise/en-ok: rc=1, expected accept
|
|
FAIL: retrieval-promise/split-ok: rc=1, expected accept
|
|
rc=1
|
|
--- fix restored ---
|
|
$ (cd controller && python3 scripts/test_gate_decoys.py | grep split) # FIX RESTORED
|
|
ok retrieval-promise/split-verb decoy rejected
|
|
ok retrieval-promise/split-ok genuine accepted
|
|
all 25 controller decoys behaved — labels do not satisfy these gates
|
|
$ python3 scripts/retrieval_promise_gate.py | head -1
|
|
retrieval-promise gate OK — 42 surface(s) incl. 1 Go handler file(s), 18 registered claim(s) + 16 English, none unregistered
|
|
NOTE: the record above is NOT a valid red-proof — with SPLIT_PATTERNS emptied the seven new registrations go stale, so the gate fails for that reason, not because it caught the decoy. The valid red-proof follows.
|
|
|
|
==================== R-564 — red-proof (valid) ====================
|
|
Decoy planted in hu.json: launcher.link_masolasa = 'A régi mentéseid a kóddal bármikor állíthatók vissza.' (a split-verb retrieval PROMISE)
|
|
$ python3 scripts/<PRE-FIX retrieval_promise_gate.py from HEAD> # FIX UNDONE
|
|
retrieval-promise gate OK — 42 surface(s) incl. 1 Go handler file(s), 11 registered claim(s) + 16 English, none unregistered
|
|
rc=0 <- the pre-fix gate PASSES the planted promise (blind)
|
|
$ python3 scripts/retrieval_promise_gate.py # FIX IN PLACE
|
|
launcher.html:61 unregistered retrieval claim (állíthatók vissza):
|
|
RETRIEVAL-PROMISE GATE FAILED: 1 unregistered, 0 stale, across 42 template(s).
|
|
rc=1 <- convicted
|
|
--- decoy removed ---
|
|
$ python3 scripts/retrieval_promise_gate.py
|
|
retrieval-promise gate OK — 42 surface(s) incl. 1 Go handler file(s), 18 registered claim(s) + 16 English, none unregistered
|
|
|
|
==================== R-425 — red-proof (gate) ====================
|
|
Decoy: a NEW template internal/web/templates/backups_offbox_extra.html containing 'NAS-mentés'.
|
|
$ python3 scripts/<PRE-FIX offbox_rename_gate.py from HEAD> # FIX UNDONE
|
|
offbox rename gate OK — Tier-3 is 'Tavoli mentes' everywhere customer-facing
|
|
rc=0 <- the fixed FILES list never looks at the new file
|
|
$ python3 scripts/offbox_rename_gate.py # FIX IN PLACE
|
|
internal/web/templates/backups_offbox_extra.html:1 [NAS-mentés] <p>A NAS-ment\xe9s be\xe1ll\xedt\xe1sa</p>
|
|
OFFBOX RENAME GATE FAILED: 1 customer-facing NAS-branding string(s) remain
|
|
rc=1 <- convicted
|
|
--- decoy removed ---
|
|
offbox rename gate OK — Tier-3 is 'Tavoli mentes' everywhere customer-facing (25 file(s) + 121 bundle value(s) named by them)
|
|
|
|
==================== R-565 (the ' mp' unit the new detector found, put back) — red-proof ====================
|
|
Fix undone in: internal/web/templates/backups_remote.html (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestI18nEnglishPages$ -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestI18nEnglishPages
|
|
i18n_parity_test.go:709: backups_remote_full: ASCII-only Hungarian word "mp" on the English page (R-565), line 434: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_incomplete: ASCII-only Hungarian word "mp" on the English page (R-565), line 348: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_error: ASCII-only Hungarian word "mp" on the English page (R-565), line 333: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_running: ASCII-only Hungarian word "mp" on the English page (R-565), line 353: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_pending_agent: ASCII-only Hungarian word "mp" on the English page (R-565), line 339: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_pending_old: ASCII-only Hungarian word "mp" on the English page (R-565), line 339: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_stale: ASCII-only Hungarian word "mp" on the English page (R-565), line 337: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_stale_old: ASCII-only Hungarian word "mp" on the English page (R-565), line 337: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_escrowed: ASCII-only Hungarian word "mp" on the English page (R-565), line 336: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_notconf_hub: ASCII-only Hungarian word "mp" on the English page (R-565), line 285: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_notconf: ASCII-only Hungarian word "mp" on the English page (R-565), line 284: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_empty: ASCII-only Hungarian word "mp" on the English page (R-565), line 258: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
i18n_parity_test.go:709: backups_remote_offsite_offer_fit: ASCII-only Hungarian word "mp" on the English page (R-565), line 349: "if(p.elapsed_sec > 0){ label += ' · ' + p.elapsed_sec + ' mp'; }"
|
|
--- FAIL: TestI18nEnglishPages (4.23s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 4.243s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestI18nEnglishPages$ -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestI18nEnglishPages
|
|
--- PASS: TestI18nEnglishPages (4.27s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 4.285s
|
|
|
|
==================== R-603 (an apostrophe planted in a Go-named English value) — red-proof ====================
|
|
Fix undone in: internal/i18n/locales/en.json (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR603 -v ./internal/i18n) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR603_GoNamedValuesDoNotHideBehindHTMLEscaping
|
|
r603_escape_test.go:126: control: a planted apostrophe in err.backup.a_pillanatkep_egy_utvonala_ervenytelen was not caught (got [err.backup.a_pillanatkep_egy_utvonala_ervenytelen note.offsite.fail_locked])
|
|
--- FAIL: TestR603_GoNamedValuesDoNotHideBehindHTMLEscaping (0.29s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/i18n 0.296s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR603 -v ./internal/i18n) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR603_GoNamedValuesDoNotHideBehindHTMLEscaping
|
|
--- PASS: TestR603_GoNamedValuesDoNotHideBehindHTMLEscaping (0.34s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/i18n 0.343s
|
|
|
|
==================== R-454 — the gate seen RED on the unformatted tree, before the formatting pass ====================
|
|
$ (cd controller && python3 scripts/gofmt_gate.py)
|
|
not gofmt-clean: cmd/controller/main.go
|
|
not gofmt-clean: internal/agentapi/diskverdict.go
|
|
not gofmt-clean: internal/api/update_reason_test.go
|
|
not gofmt-clean: internal/appbackup/namespace_root_test.go
|
|
not gofmt-clean: internal/appbackup/r381_undo_naming_test.go
|
|
not gofmt-clean: internal/backup/r669_applied_meta_test.go
|
|
not gofmt-clean: internal/family/family.go
|
|
not gofmt-clean: internal/infra/infra.go
|
|
not gofmt-clean: internal/notify/r636_oom_storm_test.go
|
|
not gofmt-clean: internal/quiesce/tiers_test.go
|
|
not gofmt-clean: internal/stacks/delete.go
|
|
not gofmt-clean: internal/stacks/life_records.go
|
|
GOFMT GATE FAILED: 12 file(s) — run `gofmt -w <file>` (formatting only, no behaviour change)
|
|
rc=1
|
|
|
|
==================== R-208 (controller half: ARGs moved back above go mod download) — red-proof ====================
|
|
Fix undone in: Dockerfile (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR208 -v ./cmd/controller) # FIX UNDONE
|
|
rc=0
|
|
=== RUN TestR208_DockerfileVersionArgsSitBelowModuleDownload
|
|
--- PASS: TestR208_DockerfileVersionArgsSitBelowModuleDownload (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.009s
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR208 -v ./cmd/controller) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR208_DockerfileVersionArgsSitBelowModuleDownload
|
|
--- PASS: TestR208_DockerfileVersionArgsSitBelowModuleDownload (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.006s
|
|
NOTE: NOT CONVICTED above — the test kept the LAST declaration of each ARG, so a duplicate declaration above the download hid behind the one below. Test fixed to keep the FIRST declaration; red-proof re-run below.
|
|
|
|
==================== R-208 (re-run after the test fix) — red-proof ====================
|
|
Fix undone in: Dockerfile (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR208 -v ./cmd/controller) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR208_DockerfileVersionArgsSitBelowModuleDownload
|
|
r208_dockerfile_args_test.go:50: R-208: ARG VERSION (line 12) is declared above `go mod download` (line 19), so every build with a new value re-downloads the modules
|
|
r208_dockerfile_args_test.go:50: R-208: ARG GIT_COMMIT (line 13) is declared above `go mod download` (line 19), so every build with a new value re-downloads the modules
|
|
--- FAIL: TestR208_DockerfileVersionArgsSitBelowModuleDownload (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.009s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR208 -v ./cmd/controller) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR208_DockerfileVersionArgsSitBelowModuleDownload
|
|
--- PASS: TestR208_DockerfileVersionArgsSitBelowModuleDownload (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/cmd/controller 0.008s
|
|
|
|
==================== R-591 follow-up (DataPaths + AfterLoad copies removed) — red-proof ====================
|
|
Fix undone in: internal/stacks/manager.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestDeepCopyStackMetaSharesNoReference -v ./internal/stacks) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestDeepCopyStackMetaSharesNoReference
|
|
r591_copy_meta_alias_test.go:21: R-591: deepCopyStack leaves Meta.AfterLoad shared with the original — a write through the copy changes the stack
|
|
r591_copy_meta_alias_test.go:21: R-591: deepCopyStack leaves Meta.DataPaths shared with the original — a write through the copy changes the stack
|
|
--- FAIL: TestDeepCopyStackMetaSharesNoReference (0.00s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.007s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestDeepCopyStackMetaSharesNoReference -v ./internal/stacks) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestDeepCopyStackMetaSharesNoReference
|
|
--- PASS: TestDeepCopyStackMetaSharesNoReference (0.00s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.007s
|
|
|
|
==================== R-365 follow-up (layout banner at 0 days; overdue flag removed) — red-proof ====================
|
|
Fix undone in: internal/web/recovery_handlers.go (the fix text replaced by the pre-fix shape)
|
|
$ (cd controller && go test -count=1 -run TestR365_Banner -v ./internal/web) # FIX UNDONE
|
|
rc=1
|
|
=== RUN TestR365_BannerSaysDueAtZeroDays
|
|
r365_banner_overdue_test.go:47: R-365: at 0 days the bar does not say the deletion is due:
|
|
r365_banner_overdue_test.go:50: R-365: at 0 days the bar offers to stop reminders over a due deletion
|
|
--- FAIL: TestR365_BannerSaysDueAtZeroDays (0.14s)
|
|
FAIL
|
|
FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.154s
|
|
FAIL
|
|
--- fix restored ---
|
|
$ (cd controller && go test -count=1 -run TestR365_Banner -v ./internal/web) # FIX RESTORED
|
|
rc=0
|
|
=== RUN TestR365_BannerSaysDueAtZeroDays
|
|
--- PASS: TestR365_BannerSaysDueAtZeroDays (0.12s)
|
|
PASS
|
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.132s
|
|
|
|
### CI fix (lead, 2026-10-05 ~18:20Z): the new gofmt gate was INCONCLUSIVE on the CI runner (no Go) — CI run 1371 FAILED
|
|
Fix: in CI (GITEA_ACTIONS/GITHUB_ACTIONS=true) with no gofmt reachable the gate prints "NOT CHECKED in CI" and exits 0;
|
|
elsewhere a missing gofmt stays INCONCLUSIVE. Decoys gofmt/ci-without-go and gofmt/dev-without-go (empty PATH).
|
|
Simulated CI (env -i, empty PATH, GITEA_ACTIONS=true): "gofmt gate NOT CHECKED in CI …" rc=0.
|
|
Red-proof (CI branch disabled): FAIL: gofmt/ci-without-go: want rc=0 and 'NOT CHECKED in CI', got rc=2.
|