ref: 1a3aebf191f7e99a497b64bd863928bbf72b88f7
parent: bd7453f70cb209bd0201d2e0bdcef9d85462dd77
author: Bryan Bishop <kanzure@gmail.com>
date: Mon Apr 2 07:45:42 EDT 2012
make tests pass the first time they are ran
--- a/extras/crystal.py
+++ b/extras/crystal.py
@@ -445,6 +445,7 @@
return len(self)
def __repr__(self):
return "RomStr(too long)"
+rom = RomStr(None)
def load_rom(filename="../baserom.gbc"):
"""loads bytes into memory"""
global rom
@@ -452,6 +453,16 @@
rom = RomStr(file_handler.read())
file_handler.close()
return rom
+def maybe_load_rom(filename="../baserom.gbc"):
+ """checks that the loaded rom matches the path
+ and then loads the rom if necessary."""
+ global rom
+ if rom != RomStr(None) and rom != None:
+ return rom
+ if not isinstance(rom, RomStr):
+ return load_rom(filename=filename)
+ elif os.lstat(filename).st_size != len(rom):
+ return load_rom(filename)
class AsmList(list):
"""simple wrapper to prevent all asm lines from being shown on screen"""
@@ -6608,6 +6619,7 @@
class TestByteParams(unittest.TestCase):
@classmethod
def setUpClass(cls):
+ maybe_load_rom()
cls.address = 10
cls.sbp = SingleByteParam(address=cls.address)
@classmethod
--
⑨