]> granicus.if.org Git - fortune-mod/blob - CI-testing/continuous-integration-testing.pl
win32 appveyor fixes
[fortune-mod] / CI-testing / continuous-integration-testing.pl
1 #!/usr/bin/env perl
2
3 use strict;
4 use warnings;
5 use autodie;
6
7 use Getopt::Long qw/GetOptions/;
8
9 sub do_system
10 {
11     my ($args) = @_;
12
13     my $cmd = $args->{cmd};
14     print "Running [@$cmd]";
15     if ( system(@$cmd) )
16     {
17         die "Running [@$cmd] failed!";
18     }
19 }
20
21 my $IS_WIN = ( $^O eq "MSWin32" );
22 my $SEP    = $IS_WIN ? "\\" : '/';
23 my $MAKE   = $IS_WIN ? 'gmake' : 'make';
24
25 my $cmake_gen;
26 GetOptions( 'gen=s' => \$cmake_gen, )
27     or die 'Wrong options';
28
29 local $ENV{RUN_TESTS_VERBOSE} = 1;
30 if ( defined $cmake_gen )
31 {
32     $ENV{CMAKE_GEN} = $cmake_gen;
33 }
34 mkdir('B');
35 chdir('B');
36 do_system(
37     {
38         cmd => [
39             $^X, "..${SEP}scripts${SEP}Tatzer",
40             ( defined($cmake_gen) ? (qq#--gen="$cmake_gen"#) : () )
41         ]
42     }
43 );
44 do_system( { cmd => [$MAKE] } );
45 do_system( { cmd => [ $MAKE, "check", ] } );