X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=t%2F12_merge.t;h=a20b3979364b9d16a4fdcd5c3d35eb9fbd74dbb5;hb=b10a87938eb116b8871081643058052564e39603;hp=f07b4e65ac0b68e3ea762f00ec01b1bb0d5e2fd7;hpb=7c8a9cd6f350a94823fedde4dc6daa42f91b846d;p=debbugs.git diff --git a/t/12_merge.t b/t/12_merge.t index f07b4e6..a20b397 100644 --- a/t/12_merge.t +++ b/t/12_merge.t @@ -1,6 +1,6 @@ # -*- mode: cperl;-*- -use Test::More tests => 35; +use Test::More; use warnings; use strict; @@ -24,25 +24,14 @@ use Data::Dumper; # HTTP::Server:::Simple defines a SIG{CHLD} handler that breaks system; undef it here. $SIG{CHLD} = sub {}; -my %config; -eval { - %config = create_debbugs_configuration(debug => exists $ENV{DEBUG}?$ENV{DEBUG}:0); -}; -if ($@) { - BAIL_OUT($@); -} +my %config = create_debbugs_configuration(); + my $sendmail_dir = $config{sendmail_dir}; my $spool_dir = $config{spool_dir}; my $config_dir = $config{config_dir}; -END{ - if ($ENV{DEBUG}) { - diag("spool_dir: $spool_dir\n"); - diag("config_dir: $config_dir\n"); - diag("sendmail_dir: $sendmail_dir\n"); - } -} + # We're going to use create mime message to create these messages, and # then just send them to receive. @@ -143,7 +132,8 @@ my @control_commands = }, ); -test_control_commands(@control_commands); +test_control_commands(\%config, + @control_commands); send_message(to => 'control@bugs.something', headers => [To => 'control@bugs.something', @@ -171,22 +161,19 @@ found -5 1.2-5 fixed -5 1.2-6 thanks EOF - ; - $SD_SIZE = - num_messages_sent($SD_SIZE,1, - $sendmail_dir, - 'control@bugs.something messages appear to have been sent out properly'); - -test_control_commands(forcemerge => {command => 'forcemerge', - value => '1 2', +test_control_commands(\%config, + forcemerge => {command => 'forcemerge', + value => "2 3\nseverity 2 minor", status_key => 'mergedwith', - status_value => '2', + status_value => '3', + bug => 2, }, unmerge => {command => 'unmerge', - value => '1', + value => '2', status_key => 'mergedwith', status_value => '', + bug => 2, }, forcemerge => {command => 'forcemerge', value => '1 2 5', @@ -206,43 +193,4 @@ test_control_commands(forcemerge => {command => 'forcemerge', }, ); - -sub test_control_commands{ - my @commands = @_; - - while (my ($command,$control_command) = splice(@commands,0,2)) { - # just check to see that control doesn't explode - $control_command->{value} = " $control_command->{value}" if length $control_command->{value} - and $control_command->{value} !~ /^\s/; - send_message(to => 'control@bugs.something', - headers => [To => 'control@bugs.something', - From => 'foo@bugs.something', - Subject => "Munging a bug with $command", - ], - body => <{command} $control_command->{value} -thanks -EOF - ; - $SD_SIZE = - num_messages_sent($SD_SIZE,1, - $sendmail_dir, - 'control@bugs.something messages appear to have been sent out properly'); - # now we need to check to make sure the control message was processed without errors - ok(system('sh','-c','find '.$sendmail_dir.q( -type f | xargs grep -q "Subject: Processed: Munging a bug with $command")) == 0, - 'control@bugs.something'. "$command message was parsed without errors"); - # now we need to check to make sure that the control message actually did anything - my $status; - $status = read_bug(exists $control_command->{bug}?(bug => $control_command->{bug}):(bug=>1), - exists $control_command->{location}?(location => $control_command->{location}):(), - ); - is_deeply($status->{$control_command->{status_key}}, - $control_command->{status_value}, - "bug " . - (exists $control_command->{bug}?$control_command->{bug}:1). - " $command" - ) - or fail(Dumper($status)); - } -} +done_testing();