on master help sign in
Add 'without' command to test script

Allows all but a subset of tests to be run, so it easier to omit specific tests for unsupported features in a particular backend, rather than having to explicitly allow all of them.

commit20ffcfd08a720a0958533010788935f621c0664b authorEdwin Brady <ecb10@st-andrews.ac.uk> dateThu 30 Jan 2014, 14:41 (13 years ago) parent60abf37
3 files changed+26−90
Makefile+3 test/Makefile+2−89 test/runtest.pl+21−1
Makefile+3
@@ -24,6 +24,9 @@ test_java:
2424test_llvm:
2525 $(MAKE) -C test IDRIS=../dist/build/idris test_llvm
2626
27+test_js:
28+ $(MAKE) -C test IDRIS=../dist/build/idris test_js
29+
2730test_all:
2831 $(MAKE) test
2932 $(MAKE) test_llvm
test/Makefile+2−89
@@ -11,97 +11,10 @@ test_java:
1111 perl ./runtest.pl all --codegen Java
1212
1313test_js:
14− @perl ./runtest.pl reg001 --codegen node
15− @perl ./runtest.pl reg002 --codegen node
16− @perl ./runtest.pl reg003 --codegen node
17− @perl ./runtest.pl reg004 --codegen node
18− @perl ./runtest.pl reg005 --codegen node
19− @perl ./runtest.pl reg006 --codegen node
20− @perl ./runtest.pl reg007 --codegen node
21− @perl ./runtest.pl reg008 --codegen node
22− @perl ./runtest.pl reg009 --codegen node
23− @perl ./runtest.pl reg010 --codegen node
24− @perl ./runtest.pl reg011 --codegen node
25− @perl ./runtest.pl reg012 --codegen node
26− @perl ./runtest.pl reg013 --codegen node
27− @perl ./runtest.pl reg014 --codegen node
28− @perl ./runtest.pl reg015 --codegen node
29− @perl ./runtest.pl reg016 --codegen node
30− @perl ./runtest.pl reg017 --codegen node
31− @perl ./runtest.pl reg018 --codegen node
32− @perl ./runtest.pl reg019 --codegen node
33− @perl ./runtest.pl reg020 --codegen node
34− @perl ./runtest.pl test001 --codegen node
35− @perl ./runtest.pl test002 --codegen node
36− @perl ./runtest.pl test003 --codegen node
37− @#perl ./runtest.pl test004 --codegen node
38− @perl ./runtest.pl test005 --codegen node
39− @perl ./runtest.pl test006 --codegen node
40− @perl ./runtest.pl test007 --codegen node
41− @perl ./runtest.pl test008 --codegen node
42− @perl ./runtest.pl test009 --codegen node
43− @perl ./runtest.pl test010 --codegen node
44− @perl ./runtest.pl test011 --codegen node
45− @perl ./runtest.pl test012 --codegen node
46− @perl ./runtest.pl test013 --codegen node
47− @#perl ./runtest.pl test014 --codegen node
48− @perl ./runtest.pl test015 --codegen node
49− @perl ./runtest.pl test016 --codegen node
50− @perl ./runtest.pl test017 --codegen node
51− @#perl ./runtest.pl test018 --codegen node
52− @perl ./runtest.pl test019 --codegen node
53− @perl ./runtest.pl test020 --codegen node
54− @#perl ./runtest.pl test021 --codegen node
55− @perl ./runtest.pl test022 --codegen node
56− @perl ./runtest.pl test023 --codegen node
57− @perl ./runtest.pl test024 --codegen node
58− @#perl ./runtest.pl test025 --codegen node
59− @perl ./runtest.pl test026 --codegen node
60− @perl ./runtest.pl test027 --codegen node
61− @perl ./runtest.pl test028 --codegen node
62− @perl ./runtest.pl test029 --codegen node
63− @perl ./runtest.pl test030 --codegen node
64− @perl ./runtest.pl test031 --codegen node
65− @perl ./runtest.pl test032 --codegen node
66− @#perl ./runtest.pl test033 --codegen node
67− @perl ./runtest.pl test034 --codegen node
68− @perl ./runtest.pl test035 --codegen node
69− @perl ./runtest.pl test036 --codegen node
70− @perl ./runtest.pl test037 --codegen node
14+ @perl ./runtest.pl without reg029 reg031 test004 test014 test018 test021 test025 test033 --codegen node
7115
7216test_llvm:
73− @perl ./runtest.pl test001 --codegen llvm
74− @perl ./runtest.pl test002 --codegen llvm
75− @perl ./runtest.pl test003 --codegen llvm
76− @perl ./runtest.pl test004 --codegen llvm
77− @perl ./runtest.pl test005 --codegen llvm
78− @perl ./runtest.pl test006 --codegen llvm
79− @perl ./runtest.pl test007 --codegen llvm
80− @perl ./runtest.pl test008 --codegen llvm
81− @perl ./runtest.pl test009 --codegen llvm
82− @perl ./runtest.pl test010 --codegen llvm
83− @perl ./runtest.pl test011 --codegen llvm
84− @perl ./runtest.pl test012 --codegen llvm
85− @perl ./runtest.pl test013 --codegen llvm
86− @perl ./runtest.pl test014 --codegen llvm
87− @perl ./runtest.pl test015 --codegen llvm
88− @perl ./runtest.pl test016 --codegen llvm
89− @perl ./runtest.pl test017 --codegen llvm
90− @#perl ./runtest.pl test018 --codegen llvm
91− @perl ./runtest.pl test019 --codegen llvm
92− @perl ./runtest.pl test020 --codegen llvm
93− @perl ./runtest.pl test021 --codegen llvm
94− @perl ./runtest.pl test022 --codegen llvm
95− @perl ./runtest.pl test023 --codegen llvm
96− @perl ./runtest.pl test024 --codegen llvm
97− @perl ./runtest.pl test025 --codegen llvm
98− @perl ./runtest.pl test026 --codegen llvm
99− @perl ./runtest.pl test027 --codegen llvm
100− @perl ./runtest.pl test028 --codegen llvm
101− @perl ./runtest.pl test029 --codegen llvm
102− @perl ./runtest.pl test030 --codegen llvm
103− @perl ./runtest.pl test031 --codegen llvm
104− @perl ./runtest.pl test034 --codegen llvm
17+ @perl ./runtest.pl without test018 --codegen llvm
10518
10619update:
10720 /usr/bin/env perl ./runtest.pl all -u
test/runtest.pl+21−1
@@ -48,7 +48,7 @@ sub runtest {
4848 chdir "..";
4949}
5050
51−my ( @tests, @opts );
51+my ( @without, @args, @tests, @opts );
5252
5353if ($#ARGV>=0) {
5454 my $test = shift @ARGV;
@@ -61,6 +61,26 @@ if ($#ARGV>=0) {
6161 }
6262 }
6363 @tests = sort @tests;
64+ } elsif ($test eq "without") {
65+ @args = @ARGV;
66+ foreach my $file (@args) {
67+ last if ($file =~ /--/);
68+ push @without, shift @ARGV;
69+ }
70+
71+ opendir my $dir, ".";
72+ my @list = readdir $dir;
73+ foreach my $file (@list) {
74+ if ($file =~ /[0-9][0-9][0-9]/) {
75+ if (!(grep ($_ eq $file, @without))) {
76+ push @tests, $file;
77+ }
78+ else {
79+ print "Omitting $file\n";
80+ }
81+ }
82+ }
83+ @tests = sort @tests;
6484 }
6585 else {
6686 push @tests, $test;