diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-21 11:40:18 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-21 11:40:18 -0700 |
commit | e59423f4f1b9cd758b7f4dd082448720816a455c (patch) | |
tree | 1cf0645293491a933504b7cb2b06b9c37335ae83 /gentests.py | |
parent | 4b15ae46b9597ca32b75748630839e362daed9ed (diff) |
Added testcases for move and roxl/roxr. Made some small improvements to test tools.
Diffstat (limited to 'gentests.py')
-rwxr-xr-x | gentests.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gentests.py b/gentests.py index bb5cb7a..3e8f083 100755 --- a/gentests.py +++ b/gentests.py @@ -16,6 +16,8 @@ class Program(object): 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 @@ def get_variations(mode, size): 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 @@ def process_entries(f): 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() |