Windows test package wintest-3: lead the tester through the desktop app on a real PC #36

Manually merged
SkyfaR merged 11 commits from windows-wintest3 into main 2026-10-06 08:49:37 +02:00
Owner

The Windows test package as published for the friend's PC as wintest-3 (ogc-messungen release wintest-3). It was built from the integration branch windows-next; these are its eleven script commits, cherry-picked onto main now that #33, #34 and #35 are merged. No Rust code is touched.

  • What ships: dist.sh puts the setup into the test package, so part 3 runs by default. It also adds a small helper, tests/notification-state.exe (packaging/windows/test/notification-state.c), for H19, with its imports checked. The package is named ogc-wintest-<version>-<run> (OGC_WINTEST_RUN, default 3), so a tester does not mix it up with an older one.
  • Part 3 (installer-test.ps1, app-test.ps1, dot-sourced by run-tests.ps1, script version 4) leads the tester through the desktop app on a real PC. Each step is recorded in the report, as a check or as the tester's answer:
    1. Install, then check the shortcut's AppUserModelID.
    2. Start the app; check the headings, take a screenshot, and check that light and dark mode follow Windows.
    3. Look at the settings and switch the background task on. If --include-new was switched on too, the script reports an error and skips "Jetzt prüfen".
    4. Record ogc timer status, the task XML and the H23 schtasks questions. These include a throwaway probe task, which is removed in a finally block.
    5. Run "Jetzt prüfen".
    6. Compress a game in the app; check the toast and that clicking it opens the history.
    7. Start the app a second time; the running window should come to the front.
    8. Optional: Narrator (H22) and the full-screen probe (H19).
    9. Switch the task off, decompress, and uninstall, then check that nothing is left.
  • Privacy: the report masks the computer's part of the SID. Arguments inside the test folder are shown by file name only.
  • Guide: ANLEITUNG.txt is rewritten to match (times, what changes, sending the report and screenshots, cleaning up).
  • Tests: ps-test.sh with PowerShell 7 and fakes passes (191 checks). dist.sh passes with the app's bundle, including the installer under Wine. check.sh passes. The commits had a review with adversarial verification and a fix round before wintest-3 was published.
The Windows test package as published for the friend's PC as `wintest-3` (ogc-messungen release wintest-3). It was built from the integration branch `windows-next`; these are its eleven script commits, cherry-picked onto main now that #33, #34 and #35 are merged. No Rust code is touched. - **What ships:** `dist.sh` puts the setup into the test package, so part 3 runs by default. It also adds a small helper, `tests/notification-state.exe` (`packaging/windows/test/notification-state.c`), for H19, with its imports checked. The package is named `ogc-wintest-<version>-<run>` (`OGC_WINTEST_RUN`, default 3), so a tester does not mix it up with an older one. - **Part 3** (`installer-test.ps1`, `app-test.ps1`, dot-sourced by `run-tests.ps1`, script version 4) leads the tester through the desktop app on a real PC. Each step is recorded in the report, as a check or as the tester's answer: 1. Install, then check the shortcut's AppUserModelID. 2. Start the app; check the headings, take a screenshot, and check that light and dark mode follow Windows. 3. Look at the settings and switch the background task on. If `--include-new` was switched on too, the script reports an error and skips "Jetzt prüfen". 4. Record `ogc timer status`, the task XML and the H23 schtasks questions. These include a throwaway probe task, which is removed in a `finally` block. 5. Run "Jetzt prüfen". 6. Compress a game in the app; check the toast and that clicking it opens the history. 7. Start the app a second time; the running window should come to the front. 8. Optional: Narrator (H22) and the full-screen probe (H19). 9. Switch the task off, decompress, and uninstall, then check that nothing is left. - **Privacy:** the report masks the computer's part of the SID. Arguments inside the test folder are shown by file name only. - **Guide:** `ANLEITUNG.txt` is rewritten to match (times, what changes, sending the report and screenshots, cleaning up). - **Tests:** `ps-test.sh` with PowerShell 7 and fakes passes (191 checks). `dist.sh` passes with the app's bundle, including the installer under Wine. `check.sh` passes. The commits had a review with adversarial verification and a fix round before wintest-3 was published.
dist.sh copies the setup next to run-tests.ps1, so that part 3 runs by
default, and builds tests/notification-state.exe, which records once a
second what SHQueryUserNotificationState says, the program in front and
whether its window covers the screen (plan H19). wine-check.sh checks
both.
Part 3 moves into installer-test.ps1 and, when the tester checks the app
by hand, installs with the installer's pages and goes through app-test.ps1:
the start from the Start menu, whole headings and a screenshot, light and
dark following Windows, the settings, the background task switched on in
the app and what schtasks says of it and of tasks that do not exist (plan
H23, with a disabled probe task made and removed in a new folder), CHECK
NOW, a game compressed in the app with its toast, a second start, Narrator
and the full-screen state (both optional), then the task off, the game
decompressed and the uninstall, with or without the data. Each observation
is a question whose answer goes into the report, which now hides the
computer's part of a SID too. installer-test.tests.ps1 runs part 3 with
fakes; ps-test.sh runs both test files.
Part 3 now runs by default with the installer in the package: the guide
gives its time, what it changes (the install, the background task, the
probe task, light and dark), its steps, how to send the screenshots with
the report, and how to undo each change by hand.
Describe the wintest-3 fixes in the architecture notes
All checks were successful
CI / Windows, MSYS2 sysroot (pull_request) Successful in 21s
CI / Windows, command line (clippy with tests) (pull_request) Successful in 1m11s
CI / Windows, command line (tests under Wine) (pull_request) Successful in 1m51s
CI / Windows, installer (tests under Wine) (pull_request) Successful in 2m30s
CI / Format, lint and test (pull_request) Successful in 5m40s
CI / Windows, desktop app (clippy, script tests) (pull_request) Successful in 1m57s
CI / Windows, GTK with AccessKit (pull_request) Successful in 2m12s
CI / Bundle programs, command line and helper (pull_request) Successful in 2m22s
CI / Arch package (pull_request) Successful in 3m11s
CI / Bundle programs, desktop app (pull_request) Successful in 3m6s
CI / Windows, desktop app (tests under Wine) (pull_request) Successful in 2m13s
CI / Bundle for any distribution (pull_request) Successful in 52s
CI / Windows, installer and portable zip (pull_request) Successful in 5m39s
CI / Release (pull_request) Has been skipped
917efff4a8
SkyfaR manually merged commit 7f16ad9296 into main 2026-10-06 08:49:37 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LevelXStudios/OpenGameCompressor!36
No description provided.