Download tests/test_boot.py from AEUPH/hdcstorage: direct link, hf CLI and curl.
- Browser
- Download file 5.7 kB
-
https://huggingface.co/AEUPH/hdcstorage/resolve/main/tests/test_boot.py
- Command line
-
hf download hf://AEUPH/hdcstorage/tests/test_boot.py
-
curl -L -o test_boot.py https://huggingface.co/AEUPH/hdcstorage/resolve/main/tests/test_boot.py
5.7 kB
| import unittest | |
| from hdc.boot import AUTOEXEC, BootSequence, demo, render | |
| from hdc.os import Desktop | |
| D = 2000 | |
| class FakeAutonomy: | |
| """Enough of AutonomousMode for the AUTOEXEC line to be exercised.""" | |
| def __init__(self): | |
| self.enabled = False | |
| self.ticks = 0 | |
| self.intents = {"status": 1, "help": 2} | |
| def tick(self): | |
| self.ticks += 1 | |
| return {"tick": self.ticks, "learned": 0, "acted": [], "readahead": []} | |
| class TestBootSequence(unittest.TestCase): | |
| def setUpClass(cls): | |
| cls.desktop = Desktop(d=D) | |
| cls.sequence = BootSequence(cls.desktop, d=D) | |
| cls.result = cls.sequence.run() | |
| # ------------------------------------------------------------- structure | |
| def test_phases_run_in_order(self): | |
| self.assertEqual(self.result["phases"], ["post", "splash", "autoexec", "desktop"]) | |
| def test_every_frame_fits_the_grid(self): | |
| for frame in self.result["frames"]: | |
| self.assertEqual(len(frame["lines"]), self.desktop.rows) | |
| for line in frame["lines"]: | |
| self.assertLessEqual(len(line), self.desktop.cols) | |
| self.assertGreater(frame["delay"], 0) | |
| self.assertTrue(frame["status"]) | |
| def test_post_frame_is_the_real_bios_output(self): | |
| # the lines on screen are the ones hdc.x86 produced, not a decoration | |
| post = self.result["frames"][0] | |
| text = "\n".join(post["lines"]) | |
| self.assertIn("HDCSTORAGE BIOS", text) | |
| self.assertIn("POST:", text) | |
| self.assertIn("Kernel handoff", text) | |
| def test_splash_frames_contain_the_title_and_animate(self): | |
| splash = [f for f in self.result["frames"] if f["phase"] == "splash"] | |
| self.assertGreater(len(splash), 2) | |
| for frame in splash: | |
| self.assertIn("H D C S T O R A G E", "\n".join(frame["lines"])) | |
| # the sweep is an exact brighten, so consecutive frames must differ | |
| self.assertNotEqual(splash[0]["lines"], splash[-1]["lines"]) | |
| def test_splash_progress_increases(self): | |
| percents = [] | |
| for frame in self.result["frames"]: | |
| if frame["phase"] != "splash": | |
| continue | |
| for token in frame["status"].split(): | |
| if token.endswith("%"): | |
| percents.append(int(token.rstrip("%"))) | |
| self.assertEqual(percents, sorted(percents)) | |
| self.assertEqual(percents[-1], 100) | |
| # -------------------------------------------------------------- autoexec | |
| def test_autoexec_mounts_the_filesystem(self): | |
| # MOUNT is a real chdir, not a printed string | |
| self.assertEqual(self.desktop.fs.cwd, "/home/user") | |
| def test_autoexec_launches_the_windows(self): | |
| titles = [window.title for window in self.desktop.windows] | |
| for expected in ("Terminal", "Monitor", "Files"): | |
| self.assertIn(expected, titles) | |
| # tiled: the terminal is at the top left, not cascaded onto it | |
| terminal = self.desktop.find("terminal") | |
| self.assertEqual((terminal.x, terminal.y), (1, 1)) | |
| def test_autoexec_search_reports_a_real_hit(self): | |
| hits = [entry for entry in self.result["log"] | |
| if entry["phase"] == "autoexec" and "FS.SEARCH" in entry["command"]] | |
| self.assertTrue(hits) | |
| self.assertIn("notes-shader.txt", hits[0]["result"]) | |
| self.assertIn("+0.", hits[0]["result"]) | |
| def test_gfx_init_verifies_the_surface(self): | |
| gfx = [entry for entry in self.result["log"] | |
| if entry["phase"] == "autoexec" and "GFX.INIT" in entry["command"]] | |
| self.assertTrue(gfx) | |
| self.assertIn("verify ok", gfx[0]["result"]) | |
| def test_unknown_boot_command_is_reported_not_raised(self): | |
| outcome = self.sequence._run_autoexec("FROBNICATE now") | |
| self.assertIn("unknown boot command", outcome) | |
| def test_autonomy_line_enables_the_mode(self): | |
| desktop = Desktop(d=D) | |
| desktop.autonomy = FakeAutonomy() | |
| sequence = BootSequence(desktop, d=D) | |
| outcome = sequence._run_autoexec("AUTONOMY enable readahead") | |
| self.assertTrue(desktop.autonomy.enabled) | |
| self.assertGreaterEqual(desktop.autonomy.ticks, 1) | |
| self.assertIn("intents", outcome) | |
| def test_autonomy_without_an_assistant_says_so(self): | |
| desktop = Desktop(d=D) | |
| self.assertIsNone(desktop.autonomy) | |
| outcome = BootSequence(desktop, d=D)._run_autoexec("AUTONOMY enable") | |
| self.assertIn("no assistant", outcome) | |
| def test_autoexec_script_is_declared(self): | |
| verbs = {line.split()[0] for line in AUTOEXEC} | |
| for expected in ("SET", "GFX.INIT", "MOUNT", "FS.SEARCH", "START", "AUTONOMY"): | |
| self.assertIn(expected, verbs) | |
| class TestRendering(unittest.TestCase): | |
| def test_render_marks_each_frame(self): | |
| desktop = Desktop(d=D) | |
| sequence = BootSequence(desktop, d=D) | |
| sequence.run() | |
| text = render(sequence.frames) | |
| self.assertIn("--- frame 1/", text) | |
| self.assertIn("[splash]", text) | |
| self.assertNotIn("--- frame", render(sequence.frames, marks=False)) | |
| def test_report_lists_phases_and_commands(self): | |
| desktop = Desktop(d=D) | |
| sequence = BootSequence(desktop, d=D) | |
| sequence.run() | |
| report = sequence.report() | |
| self.assertIn("post -> splash -> autoexec -> desktop", report) | |
| self.assertIn("POST", report) | |
| self.assertIn("GFX.INIT", report) | |
| def test_demo_prints_a_timeline(self): | |
| text = demo(D) | |
| self.assertIn("HDCSTORAGE BIOS", text) | |
| self.assertIn("boot:", text) | |
| if __name__ == "__main__": | |
| unittest.main() | |