Mercurial > repos > blastem
diff gentests.py @ 224:f7ff02eeec2f
Added testcases for move and roxl/roxr. Made some small improvements to test tools.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 21 Apr 2013 11:40:18 -0700 |
parents | cb72780e17b1 |
children | 42123feab62d |
line wrap: on
line diff
--- a/gentests.py Sat Apr 20 17:41:07 2013 -0700 +++ b/gentests.py Sun Apr 21 11:40:18 2013 -0700 @@ -16,6 +16,8 @@ instruction.consume_regs(self) self.inst = instruction + def dirname(self): + return self.inst.name + '_' + self.inst.size def name(self): return str(self.inst).replace('.', '_').replace('#', '_').replace(',', '_').replace(' ', '_').replace('(', '[').replace(')', ']') @@ -376,7 +378,7 @@ return rand_immediate(size) elif mode.startswith('#(') and mode.endswith(')'): inner = mode[2:-1] - start,sep,end = inner.partition('-') + start,sep,end = inner.rpartition('-') start,end = int(start),int(end) if end-start > 16: return [Immediate(randint(start, end)) for x in range(0,8)] @@ -453,13 +455,16 @@ entries.append(Entry(line)) return entries - +from os import path, mkdir def main(args): entries = process_entries(open('testcases.txt')) for entry in entries: programs = entry.programs() for program in programs: - f = open('generated_tests/' + program.name() + '.s68', 'w') + dname = program.dirname() + if not path.exists('generated_tests/' + dname): + mkdir('generated_tests/' + dname) + f = open('generated_tests/' + dname + '/' + program.name() + '.s68', 'w') program.write_rom_test(f) f.close()