Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WORKFLOW: Automatically test importing save files from old versions #1793

Open
catloversg opened this issue Nov 23, 2024 · 2 comments
Open
Labels
operational improvement Everything relating to the build process: Github configuration, programming tool configuration files

Comments

@catloversg
Copy link
Contributor

In #1790, we fixed a bug related to migration code. Currently, our CI workflows do not test importing save files from old versions. In risky PRs, d0sboots has to manually test it manually. It's best to implement a workflow doing it automatically for each PR.

My plan:

  • Use an E2E testing framework (Selenium, Cypress, etc.) to simulate loading save files and check regression bugs (Recovery mode UI, exception alert popup, etc.)
  • Generate testing save files from old versions. d0sboots has a collection of user-provided save files, but using them publicly in a testing workflow is risky due to potential licensing issues. It's best to create our own collection.

This plan is fairly low on my priority list, so I created this issue to make sure that I don't forget about it (or procrastinate too much).

@d0sboots
Copy link
Collaborator

I think our existing testing framework would be sufficient. We don't need to test end-to-end behavior like "does the screen look like this," it is sufficient to ensure that the game manages to toPage somewhere else without crashing.

Also, the savegames I have tickle specific loading bugs we used to have, although we can probably recreate some of those scenarios. The point being, artificially created saves don't cover the same breath of code (sadly).

@catloversg
Copy link
Contributor Author

I think our existing testing framework would be sufficient.

Maybe. Some regression bugs may only be shown with special conditions (for example, when processing invalid AllGangs, the game only throws an error when switching to the Gang page or processing the TW tick). When I have time to deal with this issue, I'll check if Jest is good enough for us.

@gmcew gmcew added the operational improvement Everything relating to the build process: Github configuration, programming tool configuration files label Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
operational improvement Everything relating to the build process: Github configuration, programming tool configuration files
Projects
None yet
Development

No branches or pull requests

3 participants