1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
use strict;
use warnings;
use Test::Most tests => 9;
use Data::Dumper;
use jitterbug::Builder;
{
local @ARGV = qw(-c t/data/test.yml -C);
my $b = jitterbug::Builder->new();
isa_ok($b,'jitterbug::Builder');
can_ok($b,qw/run build run_task sleep/);
is($b->{'configfile'}, 't/data/test.yml');
is($b->{'cron'}, 1 );
}
{
local @ARGV = qw(-c blarg.yml -C);
throws_ok (sub {
my $b = jitterbug::Builder->new();
}, qr/Does not exist/i, 'nonexistent yaml file throws error');
}
{
local @ARGV = qw(-c t/data/test.yml -C);
my $b = jitterbug::Builder->new();
isa_ok($b, 'jitterbug::Builder');
is($b->{'configfile'}, 't/data/test.yml');
is($b->run, 0, '->run returns 0 in cron mode');
cmp_deeply($b->{'conf'}, {
'engines' => {
'xslate' => {
'type' => 'text',
'path' => '/',
'cache' => '0'
}
},
'plugins' => {
'DBIC' => {
'schema' => {
'connect_info' => [
'dbi:SQLite:dbname=jitterbug.db'
],
'pckg' => 'jitterbug::Schema',
'skip_automake' => '1'
}
}
},
'jitterbug' => {
'build_process' => {
'on_failure' => './scripts/build-failed.sh',
'builder' => './scripts/capsule.sh'
},
'builder' => {},
'reports' => {
'dir' => '/tmp/jitterbug'
},
'build' => {
'dir' => '/tmp/build'
}
},
'template' => 'xslate',
'appname' => 'jitterbug',
'layout' => 'main',
'logger' => 'file',
'builds_per_feed' => '5'
});
}
|