Repository navigation
Test SlotDrop on two Windows machines - #1
Merged
Merged
Conversation
Builds SlotDrop.exe once, then on each machine starts a fake RomM, opens the real app with WebView2's debugging port on, picks a scratch card folder, signs in with a token, adds a GBA game and a zipped GBC game, checks the game files, label and cart_shell.txt on the card, and reopens the app to check the sign-in was remembered. Screenshots and a pass/fail table are kept with each run. Test-only code lives in ci/. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
Server 2025 (closest to Windows 11 24H2) at 150% scale, and Windows 11 on ARM with German settings and an accented card path. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
danblu3
marked this pull request as ready for review
October 11, 2026 17:00
Wails' WebView2 loader clears WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS on purpose, so the test never reached the window. The build job now makes SlotDrop-test.exe with a one-line patch to that library which adds switches from SLOTDROP_TEST_WEBVIEW_ARGS; SlotDrop's own code and the shipped build are unchanged. Also: skip the results job on cancelled runs, cope with missing results, and log WebView2's processes when the window never appears. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
The patch file got Windows line endings on checkout and no longer applied. The workflow now edits the one line directly and stops with a clear error if go-webview2 ever changes it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
At 150% scale the + button (shown on hover) was off screen, so the mouse-based click never reached it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Dan · project thread
Before: SlotDrop was only ever tried on Dan's own PC.
After: every push to main and every pull request runs SlotDrop on two Windows machines and reports pass or fail for each, with screenshots.
The machines: Server 2025 at 150% scale, standing in for a Windows 11 PC because GitHub has no plain Windows 11 x64 machines. And Windows 11 on ARM, which runs the x64 exe under emulation, set to German with a card folder path that has accents in it.
On each one the test signs in to a fake RomM with a token, adds a GBA game and a zipped GBC game, checks the game files, label and
Labels/cart_shell.txton the card, then reopens the app to check the saved sign-in still works.How: one job builds SlotDrop.exe (same command as build.bat), a test copy of it, and
ci/fakeromm, a pretend RomM with made-up games and drawn cartridges. Wails' WebView2 loader deliberately clears the usual setting for WebView2's debugging port, so the test copy changes one line in that library (go-webview2) to let the test add it; SlotDrop's own code is identical. Each machine job launches the test copy and drives the window with Playwright (ci/smoke/drive.mjs). Windows' folder picker can't be scripted, so the test supplies the scratch folder's path in its place; everything after that is the app's own code. No real RomM address or token is used. Nothing in the app itself changes.🤖 Generated with Claude Code
https://claude.ai/code/session_017tvaMaK2pCRsYnhkC57qDm