Rename the --nobody argument to --sudo
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon / Format.pm
index a51b6cb66ea6fc6ce3bff0b6a123ca9404e480d9..227b14149a2ae8a72d1d58404a2648cd3b07101d 100644 (file)
@@ -52,6 +52,7 @@ sub execlist {
                        waitpid $ret, 0;
                } else {
                        open STDOUT, '>', $er or die "Cannot open $er\n";
+                       get_logger->trace("Running: gruntmaster-exec @args");
                        exec 'gruntmaster-exec', @args;
                }
        }
@@ -64,19 +65,6 @@ sub execlist {
        die [$excode, $exmsg] if $excode > 0; ## no critic (RequireCarping)
 }
 
-sub command_and_args{
-       my ($format, $basename) = @_;
-
-       given($format) {
-               "./$basename" when [qw/C CPP GCCGO GOLANG HASKELL PASCAL/];
-               "./$basename.exe" when 'MONO';
-               java => $basename when 'JAVA';
-               perl => $basename when 'PERL';
-               python => $basename when 'PYTHON';
-               default { die "Don't know how to execute format $format\n" }
-       }
-}
-
 sub mkrun{
        my $format = shift;
        sub{
@@ -84,7 +72,8 @@ sub mkrun{
                my ($name, %args) = @_;
                get_logger->trace("Running $name...");
                my $basename = fileparse $name, qr/[.][^.]*/s;
-               my @args;
+               my @args = ('--sudo');
+               push @args, '--no-close' if $ENV{TEST_VERBOSE};
                push @args, '--timeout', $args{timeout} if $args{timeout};
                push @args, '--mlimit',  $args{mlimit}  if $args{mlimit};
                push @args, '--olimit',  $args{olimit}  if $args{olimit};
@@ -93,7 +82,7 @@ sub mkrun{
                while (my ($fd, $file) = $it->()) {
                        push @args, "--fd=$fd $file";
                }
-               execlist $basename, @args, command_and_args($format, $basename);
+               execlist $basename, @args, '--', "./$basename", @{$args{args}}
        }
 }
 
@@ -104,10 +93,11 @@ sub prepare{
        try {
                execlist prog => '--fd=1 >>errors', '--fd=2 >>errors', 'gruntmaster-compile', $format, $name;
        } catch {
-               die "Compile error\n"
+               my $exmsg = $_->[1];
+               die "Compile error ($exmsg)\n"
        } finally {
                $Gruntmaster::Daemon::errors .= read_file 'errors';
-               $Gruntmaster::Daemon::errors .= "\n";
+               $Gruntmaster::Daemon::errors .= "\n" if -s 'errors';
                unlink 'errors';
        };
 }
This page took 0.011406 seconds and 4 git commands to generate.