be10f26f2730423db0c44902d46495c145b2149f
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon / Generator / File.pm
1 package Gruntmaster::Daemon::Generator::File;
2
3 use 5.014000;
4 use strict;
5 use warnings;
6
7 use File::Copy qw/copy/;
8 use File::Slurp qw/write_file/;
9 use Log::Log4perl qw/get_logger/;
10
11 our $VERSION = "5999.000_004";
12
13 ##################################################
14
15 sub generate{
16 my ($test, $meta) = @_;
17 get_logger->trace("Generating test $test ...");
18 if (exists $meta->{infile}) {
19 write_file 'input', $meta->{infile}[$test - 1]
20 } else {
21 copy "/var/lib/gruntmasterd/pb/$meta->{problem}/$test.in", 'input'
22 }
23 }
24
25 1;
26 __END__
27
28 =encoding utf-8
29
30 =head1 NAME
31
32 Gruntmaster::Daemon::Generator::File - Generate tests from files
33
34 =head1 SYNOPSIS
35
36 use Gruntmaster::Daemon::Generator::File;
37 Gruntmaster::Daemon::Generator::File::generate(5, $meta);
38
39 =head1 DESCRIPTION
40
41 Gruntmaster::Daemon::Generator::File is a static test generator.
42 If C<< $meta->{infile} >> exists, the input for test C<$i> is C<< $meta->{infile}[$i - 1] >>.
43 Otherwise, the input for test C<$i> is F<< /var/lib/gruntmasterd/pb/$meta->{problem}/$test.in >>.
44
45 =head1 AUTHOR
46
47 Marius Gavrilescu E<lt>marius@ieval.roE<gt>
48
49 =head1 COPYRIGHT AND LICENSE
50
51 Copyright (C) 2014 by Marius Gavrilescu
52
53 This library is free software: you can redistribute it and/or modify
54 it under the terms of the GNU Affero General Public License as published by
55 the Free Software Foundation, either version 3 of the License, or
56 (at your option) any later version.
57
58
59 =cut
This page took 0.023862 seconds and 3 git commands to generate.