Allow '+' in branch names
[buildfarm-client.git] / run_build
index b1c063f8a1c00ef1d03b9c346048bbcc5754be08..a476bdbf7c675b8cb408df1486a6a529ac157507 100755 (executable)
--- a/run_build
+++ b/run_build
@@ -72,6 +72,7 @@ BEGIN
             : 'xxxxxx'
         );
     }
+    push @INC, getcwd();
 }
 
 use EximBuild::SCM;
@@ -91,7 +92,6 @@ if (umask != 022) {
 
 my %module_hooks;
 my $orig_dir = getcwd();
-push @INC, $orig_dir;
 
 # make sure we exit nicely on any normal interrupt
 # so the cleanup handler gets called.
@@ -1037,14 +1037,11 @@ sub make_test
     print time_str(),"running make test ...\n" if $verbose;
     my $tests_range = $EximBuild::conf{range_num_tests} || "1 4";
     my @makeout;
-    @makeout =`(cd $exim/test
-                autoconf && ./configure && $make )2>&1 `;
+    @makeout =`(cd $exim/test && ./configure && $make )2>&1 `;
     my $status = $? >>8;
     unless($status)
     {
-      my @tmp = `(WORKDIR=\$PWD
-                  cd $exim/test
-                  ./runtest \$WORKDIR/$exim/src/build-*/exim -CONTINUE $tests_range )2>&1`;
+      my @tmp = `(cd $exim/test && ./runtest -CONTINUE $tests_range )2>&1`;
       $status = $? >>8;
       push @makeout, @tmp;
       # Prepend the failed summary log outputs for ease of reading
@@ -1058,10 +1055,13 @@ sub make_test
       }
     }
     writelog('test',\@makeout);
+    send_result('Test',$status,\@makeout) if $status;
+
+    @makeout = `cat $exim/test/run-summary.log`;
+    writelog('test-results',\@makeout);
+
     print "======== make test logs ===========\n",@makeout
       if ($verbose > 1);
-
-    send_result('Test',$status,\@makeout) if $status;
     $steps_completed .= " Test";
 }
 
@@ -1166,7 +1166,8 @@ sub configure
         @tmp = `echo "Hardcoded Exim user info:"; id $exim_user
           cd $exim && perl -pi -e 's/^EXIM_USER=.*/EXIM_USER=$exim_user/' $local_conf`;
         push @confout, @tmp;
-        my $me = `whoami`; chomp $me;
+        #my $me = `whoami`; chomp $me;
+       my $me = getpwuid($>) // die "$0: getpwuid($>): $!\n";
         @tmp = `echo "Build Farm user info:"; id $me
           cd $exim && perl -pi -e 's/^# CONFIGURE_OWNER=\$/CONFIGURE_OWNER=$me/' $local_conf`;
         push @confout, @tmp;
@@ -1456,6 +1457,7 @@ sub get_script_config_dump
         chomp($conf->{farm}{revision} = `cd $RealBin && git describe --tags --always --dirty=+`);
        $conf->{farm}{cwd} = getcwd();
        $conf->{farm}{bindir} = $RealBin;
+       $conf->{farm}{perl} = $^V;
     }
 
     $Data::Dumper::Sortkeys = 1;