summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/jitterbug/Builder.pm19
-rw-r--r--t/builder.t15
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');
+}