Merge branch 'master' into scaleway
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index 03810bacc66264b41aacabd4f3277a93440c1da8..b8c6b5c5c839052baf31bd6a50d42d5cf3298cac 100644 (file)
@@ -4,10 +4,10 @@ use 5.014000;
 use strict;
 use warnings;
 
-our $VERSION = '5999.000_004';
+our $VERSION = '5999.000_005';
 
 use Gruntmaster::Daemon::Constants qw/ERR/;
-use Gruntmaster::Daemon::Format qw/prepare_files stopvms/;
+use Gruntmaster::Daemon::Format qw/prepare_files copy_from_vm stopvms/;
 
 use File::Slurp qw/read_file/;
 use File::Temp qw/tempdir/;
@@ -18,18 +18,25 @@ use Try::Tiny;
 use Log::Log4perl qw/get_logger/;
 
 use constant FORMAT_EXTENSION => {
+       BRAINFUCK => 'bf',
        C => 'c',
        CPP => 'cpp',
+       D => 'd',
        GCCGO => 'go',
        GOLANG => 'go',
        GOLFSCRIPT => 'gs',
        HASKELL => 'hs',
-       MONO => 'cs',
        JAVA => 'java',
+       JULIA => 'jl',
+       MONO => 'cs',
+       OBERON => 'm',
+       OCAML => 'ml',
        PASCAL => 'pas',
        PERL => 'pl',
+       PHP => 'php',
        PYTHON => 'py',
        RUBY => 'rb',
+       RUST => 'rs',
        SBCL => 'l',
 };
 
@@ -77,6 +84,7 @@ sub process{
 
                        if (ref $result) {
                                my $result_text = $result->[1];
+                               copy_from_vm 'result';
                                $result_text .= ': ' . read_file 'result' if -s 'result';
                                get_logger->trace("Test $test result is " . $result_text);
                                push @full_results, {id => $test, result => $result->[0], result_text => $result_text, time => time - $start_time}
@@ -121,7 +129,7 @@ sub process_job {
        $meta->{timeout} = $timeout_override if defined $timeout_override;
        $meta->{tests} = decode_json $pb->{tests} if $meta->{runner} eq 'File';
        $job->{contest} &&= contest_entry($job->{contest});
-       delete $meta->{precnt} unless $job->{contest} && $job->{contest}{started} && !$job->{contest}{finished};
+       delete $meta->{precnt} unless $job->{contest} && $job->{contest}{started} && !$job->{contest}{finished}; ## no critic (ProhibitNegativeExpressionsInUnlessAndUntilConditions)
        $meta->{testcnt} = $meta->{precnt} if $meta->{precnt};
 
        $meta->{files}{ver} = {
This page took 0.011061 seconds and 4 git commands to generate.