diff options
author | Bryan Bishop <kanzure@gmail.com> | 2012-04-02 11:45:42 -0500 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2012-04-02 11:45:42 -0500 |
commit | f73f41d7090dbd79ef28cdeae6cfced12dfa492e (patch) | |
tree | f288557bc71a330380f0a6aed4d11ddac8fedf66 /crystal.py | |
parent | 87b686feb120cb1f931dcacc5a4cf6649ef53486 (diff) |
make tests pass the first time they are ran
original-commit-id: 1a3aebf191f7e99a497b64bd863928bbf72b88f7
Diffstat (limited to 'crystal.py')
-rw-r--r-- | crystal.py | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -445,6 +445,7 @@ class RomStr(str): 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 @@ def load_rom(filename="../baserom.gbc"): 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 TestScript(unittest.TestCase): class TestByteParams(unittest.TestCase): @classmethod def setUpClass(cls): + maybe_load_rom() cls.address = 10 cls.sbp = SingleByteParam(address=cls.address) @classmethod |