diff options
-rw-r--r-- | lib/jitterbug/Builder.pm | 19 | ||||
-rw-r--r-- | t/builder.t | 15 |
2 files changed, 28 insertions, 6 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm index 3b45eaa..bfcb6c7 100644 --- a/lib/jitterbug/Builder.pm +++ b/lib/jitterbug/Builder.pm @@ -11,8 +11,10 @@ use Getopt::Long qw/:config no_ignore_case/; use File::Basename; use Git::Repository; use jitterbug::Schema; +#use Data::Dumper; local $| = 1; +use constant DEBUG => 1; sub new { my $self = bless {} => shift; @@ -29,13 +31,17 @@ sub new { return $self; } +sub debug { + warn @_ if DEBUG; +} + sub run { my $self = shift || die "Must call run() from object\n"; my $conf = $self->{'conf'} = LoadFile( $self->{'configfile'} ); my $dbix_conf = $conf->{'plugins'}{'DBIC'}{'schema'}; - warn "Loaded config file: " . $self->{'conf'}; - warn "Connection Info: " . @{ $dbix_conf->{'connect_info'} }; + debug("Loaded config file: " . $self->{'configfile'}); + debug("Connection Info: " . join ':', @{ $dbix_conf->{'connect_info'} }); $self->{'schema'} = jitterbug::Schema->connect( @{ $dbix_conf->{'connect_info'} } ); $self->{'interval'} = $self->{'sleep'} || @@ -65,7 +71,7 @@ sub build { sub sleep { my ($self, $interval) = @_; $interval ||= $self->{'interval'}; - warn "sleeping for $interval seconds\n"; + debug("sleeping for $interval seconds\n"); sleep $interval; } @@ -93,7 +99,8 @@ sub run_task { my $repo = $task->project->url . '.git'; my $r = Git::Repository->create( clone => $repo => $build_dir ); - warn "Checking out " . $task->commit->sha256 . " from $repo into $build_dir"; + + debug("Checking out " . $task->commit->sha256 . " from $repo into $build_dir\n"); $r->run( 'checkout', $task->commit->sha256 ); my $builder = $conf->{'jitterbug'}{'build_process'}{'builder'}; @@ -130,10 +137,10 @@ sub run_task { $task->commit->update( { content => JSON::encode_json($desc), } ); - warn "Task completed for " . $task->commit->sha256 . "\n"; + debug("Task completed for " . $task->commit->sha256 . "\n"); $task->delete(); - warn "Task removed from " . $task->project->name . "\n"; + debug("Task removed from " . $task->project->name . "\n"); } diff --git a/t/builder.t b/t/builder.t new file mode 100644 index 0000000..c952c12 --- /dev/null +++ b/t/builder.t @@ -0,0 +1,15 @@ + +use strict; +use warnings; +use Test::More tests => 3; + +use jitterbug::Builder; + +{ + local @ARGV = qw(-c blarg.yml); + my $b = jitterbug::Builder->new(); + + isa_ok($b,'jitterbug::Builder'); + is($b->{'configfile'}, 'blarg.yml'); + can_ok($b,'run'); +} |