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

RetroAchievements - Patch Allowlist Unit Test #12913

Conversation

LillyJadeKatrin
Copy link
Contributor

This unit test compares ApprovedInis.json with the contents of the GameSettings folder to verify that every patch marked allowed for use with RetroAchievements has a hash in ApprovedInis.json. If not, that hash is reported in the test logs so that the hash may be updated more easily.

@LillyJadeKatrin LillyJadeKatrin force-pushed the retroachievements-allowlist-test branch 24 times, most recently from 36f8a40 to 2955e73 Compare July 5, 2024 12:26
@AdmiralCurtiss
Copy link
Contributor

Before you start rewriting the entire test system here, have you considered just embedding the allowed patch list in the executable instead of loading them at runtime?

@LillyJadeKatrin LillyJadeKatrin force-pushed the retroachievements-allowlist-test branch 5 times, most recently from 0ecec9a to d00984c Compare July 5, 2024 12:47
@LillyJadeKatrin LillyJadeKatrin force-pushed the retroachievements-allowlist-test branch 2 times, most recently from c2cf259 to 96c9510 Compare July 7, 2024 17:12
Prototype of a system to whitelist known game patches that are allowed to be used while RetroAchievements Hardcore mode is active. ApprovedInis.txt contains known hashes for the ini files as they appear in the repo, and can be compared to the local versions of these files to ensure they have not been edited locally by the player. ApprovedInis.txt is hashed and verified similarly first, with its hash residing as a const string within AchievementManager.h, ensuring ApprovedInis and the hashes within cannot be modified without editing Dolphin's source code and recompiling completely.
@LillyJadeKatrin LillyJadeKatrin force-pushed the retroachievements-allowlist-test branch 13 times, most recently from 5779f5c to 067fd40 Compare July 7, 2024 18:49
@AdmiralCurtiss AdmiralCurtiss force-pushed the retroachievements-allowlist-test branch 3 times, most recently from 6afe567 to d039418 Compare July 7, 2024 19:07
@AdmiralCurtiss AdmiralCurtiss force-pushed the retroachievements-allowlist-test branch 2 times, most recently from c243e47 to 05698e5 Compare July 7, 2024 19:19
This unit test compares ApprovedInis.json with the contents of the GameSettings folder to verify that every patch marked allowed for use with RetroAchievements has a hash in ApprovedInis.json. If not, that hash is reported in the test logs so that the hash may be updated more easily.
@AdmiralCurtiss AdmiralCurtiss force-pushed the retroachievements-allowlist-test branch from 05698e5 to ae87bf9 Compare July 7, 2024 19:29
@AdmiralCurtiss AdmiralCurtiss merged commit b10d62c into dolphin-emu:master Jul 7, 2024
11 checks passed
SternXD pushed a commit to SternXD/dolphin-uwp that referenced this pull request Feb 7, 2025
…ements-allowlist-test

RetroAchievements - Patch Allowlist Unit Test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants