diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-20 15:14:47 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-20 15:14:47 -0700 |
commit | 27fb041ccd58b8594b0a5837e5a54b6335c18b1d (patch) | |
tree | 6e0367ec1bb5b7aa2595972679c87d1b67491505 | |
parent | e99cf48eeef0a00bc985bd33660a6e531e642b2e (diff) |
Add support for picking random numbers in a larger range in test generator. Add support for running a subset of tests in runner. Added testcases for bit and rotate instructions.
-rwxr-xr-x | comparetests.py | 14 | ||||
-rwxr-xr-x | gentests.py | 6 | ||||
-rw-r--r-- | testcases.txt | 53 |
3 files changed, 49 insertions, 24 deletions
diff --git a/comparetests.py b/comparetests.py index a8b7490..6aa65e2 100755 --- a/comparetests.py +++ b/comparetests.py @@ -1,9 +1,21 @@ #!/usr/bin/env python from glob import glob import subprocess -from sys import exit +from sys import exit,argv + +prefixes = [] +for i in range(1, len(argv)): + prefixes.append(argv[i]) for path in glob('generated_tests/*.bin'): + if prefixes: + good = False + for prefix in prefixes: + if path.startswith(prefix): + good = True + break + if not good: + continue try: b = subprocess.check_output(['./blastem', path, '-v']) try: diff --git a/gentests.py b/gentests.py index 3bc51f5..bb5cb7a 100755 --- a/gentests.py +++ b/gentests.py @@ -377,7 +377,11 @@ def get_variations(mode, size): elif mode.startswith('#(') and mode.endswith(')'): inner = mode[2:-1] start,sep,end = inner.partition('-') - return [Immediate(num) for num in range(int(start), int(end))] + start,end = int(start),int(end) + if end-start > 16: + return [Immediate(randint(start, end)) for x in range(0,8)] + else: + return [Immediate(num) for num in range(start, end+1)] else: print "Don't know what to do with source type", mode return None diff --git a/testcases.txt b/testcases.txt index e42f0ab..bd24ff2 100644 --- a/testcases.txt +++ b/testcases.txt @@ -1,23 +1,32 @@ Name Sizes Src Modes Dst Modes -add bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d -add bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -adda wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a -addi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -addq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -addx bwl d d -addx bwl -(a) -(a) -and bwl d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d -and bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -andi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -asl bwl d;#(1-8) d -asr bwl d;#(1-8) d -lsl bwl d;#(1-8) d -lsr bwl d;#(1-8) d -sub bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d -sub bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -suba wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a -subi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -subq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l -subx bwl d d -subx bwl -(a) -(a) - +#add bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d +#add bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#adda wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a +#addi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#addq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#addx bwl d d +#addx bwl -(a) -(a) +#and bwl d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d +#and bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#andi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#asl bwl d;#(1-8) d +#asr bwl d;#(1-8) d +#lsl bwl d;#(1-8) d +#lsr bwl d;#(1-8) d +#sub bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d +#sub bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#suba wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a +#subi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#subq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +#subx bwl d d +#subx bwl -(a) -(a) +bchg b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +bchg l d;#(0-255) d +bset b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +bset l d;#(0-255) d +bclr b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +bclr l d;#(0-255) d +btst b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l +btst l d;#(0-255) d +rol bwl d;#(1-8) d +ror bwl d;#(1-8) d |