mirror of
https://github.com/MCKero6423/uv-k5-v3-emulator.git
synced 2026-10-02 03:15:36 +00:00
Keep what the page installed when the server restarts
The page edits a working copy of the flash image on purpose -- the file it was first pointed at may be a real calibration dump -- but a restart pointed at a different image switched to that file's copy instead, and the games installed through the page looked like they had vanished (measured: the app table came back holding an older slot). work/run-webui.ps1 now prefers the working copy the page has been editing, ahead of the original, and the page's own hint says which image it is editing and that the loaded one is never modified. A test asserts the order in the script.
This commit is contained in:
1 parent
673c181d59
commit
dcf9dc00f5
3 files changed
+29
-2
No files matched your search
@@ -299,3 +299,23 @@ class TestRecoversFromAnExternalKill(unittest.TestCase):
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
|
||||
class TestLauncherPrefersTheWorkingCopy(unittest.TestCase):
|
||||
"""A restart must not look like the page's installs vanished."""
|
||||
|
||||
def test_the_script_lists_the_working_copy_before_the_original(self):
|
||||
import os as _os
|
||||
path = _os.path.join(_os.path.dirname(_os.path.abspath(__file__)),
|
||||
"..", "work", "run-webui.ps1")
|
||||
if not _os.path.exists(path):
|
||||
self.skipTest("work/run-webui.ps1 is not in this checkout")
|
||||
with open(path, encoding="utf-8") as fh:
|
||||
text = fh.read()
|
||||
# the working copy the page edits comes before the file it was first pointed at
|
||||
working = text.find("work\\firmware\\flash-current.img")
|
||||
original = text.find("work\\user-flash.img")
|
||||
self.assertNotEqual(working, -1, "the working copy is not in the list")
|
||||
self.assertNotEqual(original, -1)
|
||||
self.assertLess(working, original,
|
||||
"a restart would fall back to the original image")
|
||||
+3
-1
@@ -975,7 +975,9 @@ def render_index(scale: int) -> str:
|
||||
<div class="fwbar">
|
||||
<label class="mini">flash image<input type="file" id="flashfile" accept=".img,.bin"></label>
|
||||
<span class="hint">the multi-system slots live in the external flash;
|
||||
write a .bin into one, then press Multiboot</span>
|
||||
write a .bin into one, then press Multiboot. Edits go to a working copy of the image
|
||||
(the file named above), so the one you loaded is never modified — and a restart keeps
|
||||
that copy rather than reverting to the original</span>
|
||||
</div>
|
||||
<table id="slottable"><tbody></tbody></table>
|
||||
</details>
|
||||
|
||||
Reference in new issue
Block a user