X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=blobdiff_plain;f=t%2F06-queue.t;h=cef5f1c86038896d406ca84803ccee7706241457;hp=e8cfe3e6a986b836249797c82ec42f8043728f4a;hb=refs%2Fheads%2Fmaster;hpb=b7d41b116145fb3ae84f32e493ef7a7b1fad4da7 diff --git a/t/06-queue.t b/t/06-queue.t index e8cfe3e..cef5f1c 100755 --- a/t/06-queue.t +++ b/t/06-queue.t @@ -4,35 +4,46 @@ use warnings; my $debug = shift @ARGV; -use Test::More tests => 129; +use Test::More tests => 256; use Data::Dump qw/dump/; use lib 'lib'; +#use Devel::LeakTrace::Fast; + BEGIN { use_ok('CWMP::Queue'); } -#use Cwd qw/abs_path/; -#ok(my $abs_path = abs_path($0), "abs_path"); -#$abs_path =~ s!/[^/]*$!/!; #!fix-vim +use Cwd qw/abs_path/; +ok(my $abs_path = abs_path($0), "abs_path"); +$abs_path =~ s!/[^/]*$!/!; #!fix-vim ok( my $obj = CWMP::Queue->new({ id => 'test', + dir => "$abs_path/queue", + clean => 1, debug => $debug, }), 'new' ); isa_ok( $obj, 'CWMP::Queue' ); for my $i ( 1 .. 42 ) { ok( $obj->enqueue( - i => $i, - foo => 'bar', + "command-$i", + { + i => $i, + foo => 'bar', + } ), "enqueue $i" ); }; my $i = 1; -while ( my $data = $obj->dequeue ) { - ok( $data, "dequeue $i" ); - cmp_ok( $data->{i}, '==', $i, "i == $i" ); +while ( my $job = $obj->dequeue ) { + ok( $job, "dequeue $i" ); + ok( my ( $dispatch, $args ) = $job->dispatch, "job->dispatch $i" ); + cmp_ok( $dispatch, 'eq', "command-$i", "dispatch $i" ); + diag "args = ",dump( $args ) if $debug; + cmp_ok( $args->{i}, '==', $i, "args i == $i" ); + ok( $job->finish, "finish $i" ); $i++; }