Update smolder_mathgsl
[Math-GSL.git] / bin / smolder_mathgsl
blobd6a956186245efcb799ab2e34e2ad5fe62e6124a
1 #!/usr/local/bin/perl5.10 -w
2 use strict;
3 use warnings;
4 use Config;
5 use TAP::Harness::Archive;
6 use Data::Dumper;
7 use lib 'lib';
8 use Math::GSL;
9 $|++;
11 my $archive = shift || 'my_test_run.tar.gz';
12 my $server = 'smolder.leto.net';
13 my $port = '8080';
14 my ($user,$pass) = qw/leto bessel_J0/;
15 my $archname = $Config{archname};
16 if ($archname =~ /darwin/i){
17     chomp($archname = `uname -p`);
19 my $me = $^O eq 'MSWin32' ? $ENV{'USERNAME'}
20         : $ENV{'LOGNAME'} || eval { getpwuid($<) };
22 my $domain = 'unknown';
23 if ($^O eq 'MSWin32') {
24     $domain = $ENV{'USERDOMAIN'};
25 } else {
26     eval { require Sys::Hostname; $domain = Sys::Hostname::hostname(); };
29 my ($git_id,$git_branch) = ('','');
31 if ( -e '.git' ) {
32     chomp($git_id = `git log -p -n 1|grep commit`);
33     $git_id =~ s/commit //;
34     chomp($git_branch = `git branch | grep "^\*"`);
35     $git_branch =~ s/\* //;
37 my $properties = {
38     'Math::GSL'     => $Math::GSL::VERSION,
39     'Git Commit'    => $git_id,
40     'Git Branch'    => $git_branch,
41     'Submitter'     => "$me\@$domain",
42     'Perl Version'  => $Config{version},
43     'Config Args'   => $Config{config_args},
44     'CC Flags'      => $Config{ccflags},
45     'Double Size'   => $Config{doublesize},
46     'Long Doubles'  => $Config{uselongdouble},
47     'Multiplicity'  => $Config{usemultiplicity},
48     '64bit ints'    => $Config{use64bitint},
49     '64bit all'     => $Config{use64bitall},
50     'Patch level'   => $Config{version_patchlevel_string},
51     'Perl @INC'     => join(":",@INC),
52     'PERL5LIB'      => $ENV{PERL5LIB},
54 my @files = glob('t/*.t');
55 my %options = (
56            verbosity        => 0,
57            jobs             => 2,
58            merge            => 1,
59            lib              => [ 'lib', 'blib/lib', 'blib/arch' ],
60            archive          => $archive,
61            extra_properties => $properties,
62            extra_files      => [ ],
66 my $harness = TAP::Harness::Archive->new(\%options);
67 $harness->runtests(@files);
68 my $cmd =<<CMD;
69 smolder_smoke_signal --server $server --port $port \\
70     --username '$user' --password '$pass' --file $archive --project Math::GSL \\
71     --platform $Config{osname} --architecture $archname --tags "\$USER , $Config{osname}, Math::GSL $Math::GSL::VERSION, $git_branch, Perl $Config{version}"
72 CMD
73 print "about to do:\n$cmd\n";
75 system $cmd;
77 if ($? == -1) {
78     print "failed to execute: $!\n";
79 } elsif ($? & 127) {
80     printf "smolder_smoke_signal died with signal %d, %s coredump\n", ($? & 127),  ($? & 128) ? 'with' : 'without';
81 } else {
82     printf "smolder_smoke_signal exited with value %d\n", $? >> 8;