test.pl: --fast switch, skippt 001compile und 003safesys
[kivitendo-erp.git] / t / test.pl
index fac0e41..d9fdaf4 100755 (executable)
--- a/t/test.pl
+++ b/t/test.pl
@@ -5,6 +5,7 @@ use strict;
 use Data::Dumper;
 use File::Find ();
 use Test::Harness qw(runtests execute_tests);
+use Getopt::Long;
 
 BEGIN {
    $ENV{HARNESS_OPTIONS} = 'c';
@@ -12,6 +13,11 @@ BEGIN {
   push    @INC, 'modules/fallback';
 }
 
+my @exclude_for_fast = (
+  't/001compile.t',
+  't/003safesys.t',
+);
+
 sub find_files_to_test {
   my @files;
   File::Find::find(sub { push @files, $File::Find::name if (-f $_) && m/\.t$/ }, 't');
@@ -20,12 +26,16 @@ sub find_files_to_test {
 
 my (@tests_to_run, @tests_to_run_first);
 
+GetOptions(
+  'f|fast' => \ my $fast,
+);
+
 if (@ARGV) {
   @tests_to_run       = @ARGV;
 
 } else {
   @tests_to_run_first = qw(t/000setup_database.t);
-  my %exclude         = map  { ($_ => 1)     } @tests_to_run_first;
+  my %exclude         = map  { ($_ => 1)     } @tests_to_run_first, (@exclude_for_fast)x!!$fast;
   @tests_to_run       = grep { !$exclude{$_} } sort(find_files_to_test());
 }