summaryrefslogtreecommitdiff
path: root/scripts/t
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2017-08-31 10:30:40 +0200
committerGuillem Jover <guillem@debian.org>2017-09-24 21:03:09 +0200
commit47ccfd91e707720aa05296463673ed78c3e2e512 (patch)
treef8a780730c82ae9d76b4bf432c96d0ea1a108a30 /scripts/t
parent417c80f6fbc6673aac6c42bb1fdc3e0280b01cd1 (diff)
downloaddpkg-47ccfd91e707720aa05296463673ed78c3e2e512.tar.gz
scripts/t: Avoid many function arguments in check_options()
Fixes: Subroutines::ProhibitManyArgs Warned-by: perlcritic
Diffstat (limited to 'scripts/t')
-rw-r--r--scripts/t/Dpkg_Changelog.t234
1 files changed, 137 insertions, 97 deletions
diff --git a/scripts/t/Dpkg_Changelog.t b/scripts/t/Dpkg_Changelog.t
index 1369aeff3..1ca238acd 100644
--- a/scripts/t/Dpkg_Changelog.t
+++ b/scripts/t/Dpkg_Changelog.t
@@ -60,110 +60,150 @@ foreach my $file ("$datadir/countme", "$datadir/shadow", "$datadir/fields",
my $all_versions = join( '/', map { $_->get_version() } @data);
sub check_options {
- my ($changes, $data, $options, $count, $versions,
- $check_name) = @_;
-
- my @cnt = $changes->get_range($options);
- cmp_ok( @cnt, '==', $count, "$check_name -> count" );
- if ($count == @$data) {
- is_deeply( \@cnt, $data, "$check_name -> returns all" );
+ my (%opts) = @_;
+ my @cnt = $changes->get_range($opts{range});
+ cmp_ok(@cnt, '==', $opts{count}, "$opts{name} -> count");
+ if ($opts{count} == @{$opts{data}}) {
+ is_deeply(\@cnt, $opts{data}, "$opts{name} -> returns all");
} else {
- is( join( '/', map { $_->get_version() } @cnt),
- $versions, "$check_name -> versions" );
+ is_deeply([ map { $_->get_version() } @cnt ],
+ $opts{versions}, "$opts{name} -> versions" );
}
}
- check_options( $changes, \@data,
- { count => 3 }, 3, '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
- 'positive count' );
- check_options( $changes, \@data,
- { count => -3 }, 3,
- '1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1/1.5-1',
- 'negative count' );
- check_options( $changes, \@data,
- { count => 1 }, 1, '2:2.0-1',
- 'count 1' );
- check_options( $changes, \@data,
- { count => 1, default_all => 1 }, 1, '2:2.0-1',
- 'count 1 (d_a 1)' );
- check_options( $changes, \@data,
- { count => -1 }, 1, '1.5-1',
- 'count -1' );
-
- check_options( $changes, \@data,
- { count => 3, offset => 2 }, 3,
- '1:2.0~rc2-2/1:2.0~rc2-1sarge3/1:2.0~rc2-1sarge2',
- 'positive count + positive offset' );
- check_options( $changes, \@data,
- { count => -3, offset => 4 }, 3,
- '1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
- 'negative count + positive offset' );
-
- check_options( $changes, \@data,
- { count => 4, offset => 5 }, 2,
- '1:2.0~rc2-1sarge1/1.5-1',
- 'positive count + positive offset (>max)' );
- check_options( $changes, \@data,
- { count => -4, offset => 2 }, 2,
- '2:2.0-1/1:2.0~rc2-3',
- 'negative count + positive offset (<0)' );
-
- check_options( $changes, \@data,
- { count => 3, offset => -4 }, 3,
- '1:2.0~rc2-1sarge3/1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1',
- 'positive count + negative offset' );
- check_options( $changes, \@data,
- { count => -3, offset => -3 }, 3,
- '1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
- 'negative count + negative offset' );
-
- check_options( $changes, \@data,
- { count => 5, offset => -2 }, 2,
- '1:2.0~rc2-1sarge1/1.5-1',
- 'positive count + negative offset (>max)' );
- check_options( $changes, \@data,
- { count => -5, offset => -4 }, 3,
- '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
- 'negative count + negative offset (<0)' );
-
- check_options( $changes, \@data,
- { count => 7 }, 7, '',
- 'count 7 (max)' );
- check_options( $changes, \@data,
- { count => -7 }, 7, '',
- 'count -7 (-max)' );
- check_options( $changes, \@data,
- { count => 10 }, 7, '',
- 'count 10 (>max)' );
- check_options( $changes, \@data,
- { count => -10 }, 7, '',
- 'count -10 (<-max)' );
-
- check_options( $changes, \@data,
- { from => '1:2.0~rc2-1sarge3' }, 4,
- '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2/1:2.0~rc2-1sarge3',
- 'from => "1:2.0~rc2-1sarge3"' );
- check_options( $changes, \@data,
- { since => '1:2.0~rc2-1sarge3' }, 3,
- '2:2.0-1/1:2.0~rc2-3/1:2.0~rc2-2',
- 'since => "1:2.0~rc2-1sarge3"' );
+ my %ref = (
+ changes => $changes,
+ data => \@data,
+ );
+
+ check_options(%ref, range => { count => 3 },
+ count => 3,
+ versions => [ '2:2.0-1', '1:2.0~rc2-3', '1:2.0~rc2-2' ],
+ name => 'positive count');
+ check_options(%ref, range => { count => -3 },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-1sarge2',
+ '1:2.0~rc2-1sarge1',
+ '1.5-1',
+ ],
+ name => 'negative count');
+ check_options(%ref, range => { count => 1 },
+ count => 1,
+ versions => [ '2:2.0-1' ],
+ name => 'count 1');
+ check_options(%ref, range => { count => 1, default_all => 1 },
+ count => 1,
+ versions => [ '2:2.0-1' ],
+ name => 'count 1 (d_a 1)');
+ check_options(%ref, range => { count => -1 },
+ count => 1,
+ versions => [ '1.5-1' ],
+ name => 'count -1');
+
+ check_options(%ref, range => { count => 3, offset => 2 },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-2',
+ '1:2.0~rc2-1sarge3',
+ '1:2.0~rc2-1sarge2',
+ ],
+ name => 'positive count + positive offset');
+ check_options(%ref, range => { count => -3, offset => 4 },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-3',
+ '1:2.0~rc2-2',
+ '1:2.0~rc2-1sarge3',
+ ],
+ name => 'negative count + positive offset');
+
+ check_options(%ref, range => { count => 4, offset => 5 },
+ count => 2,
+ versions => [ '1:2.0~rc2-1sarge1', '1.5-1' ],
+ name => 'positive count + positive offset (>max)');
+ check_options(%ref, range => { count => -4, offset => 2 },
+ count => 2,
+ versions => [ '2:2.0-1', '1:2.0~rc2-3' ],
+ name => 'negative count + positive offset (<0)');
+
+ check_options(%ref, range => { count => 3, offset => -4 },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-1sarge3',
+ '1:2.0~rc2-1sarge2',
+ '1:2.0~rc2-1sarge1',
+ ],
+ name => 'positive count + negative offset');
+ check_options(%ref, range => { count => -3, offset => -3 },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-3',
+ '1:2.0~rc2-2',
+ '1:2.0~rc2-1sarge3',
+ ],
+ name => 'negative count + negative offset');
+
+ check_options(%ref, range => { count => 5, offset => -2 },
+ count => 2,
+ versions => [ '1:2.0~rc2-1sarge1', '1.5-1' ],
+ name => 'positive count + negative offset (>max)');
+ check_options(%ref, range => { count => -5, offset => -4 },
+ count => 3,
+ versions => [ '2:2.0-1', '1:2.0~rc2-3', '1:2.0~rc2-2' ],
+ name => 'negative count + negative offset (<0)');
+
+ check_options(%ref, range => { count => 7 },
+ count => 7,
+ name => 'count 7 (max)');
+ check_options(%ref, range => { count => -7 },
+ count => 7,
+ name => 'count -7 (-max)');
+ check_options(%ref, range => { count => 10 },
+ count => 7,
+ name => 'count 10 (>max)');
+ check_options(%ref, range => { count => -10 },
+ count => 7,
+ name => 'count -10 (<-max)');
+
+ check_options(%ref, range => { from => '1:2.0~rc2-1sarge3' },
+ count => 4,
+ versions => [
+ '2:2.0-1',
+ '1:2.0~rc2-3',
+ '1:2.0~rc2-2',
+ '1:2.0~rc2-1sarge3',
+ ],
+ name => 'from => "1:2.0~rc2-1sarge3"');
+ check_options(%ref, range => { since => '1:2.0~rc2-1sarge3' },
+ count => 3,
+ versions => [
+ '2:2.0-1',
+ '1:2.0~rc2-3',
+ '1:2.0~rc2-2',
+ ],
+ name => 'since => "1:2.0~rc2-1sarge3"');
$SIG{__WARN__} = sub {};
- check_options( $changes, \@data,
- { since => 0 }, 7, '',
- 'since => 0 returns all');
+ check_options(%ref, range => { since => 0 },
+ count => 7,
+ name => 'since => 0 returns all');
delete $SIG{__WARN__};
- check_options( $changes, \@data,
- { to => '1:2.0~rc2-1sarge2' }, 3,
- '1:2.0~rc2-1sarge2/1:2.0~rc2-1sarge1/1.5-1',
- 'to => "1:2.0~rc2-1sarge2"' );
- ## no critic (ControlStructures::ProhibitUntilBlocks)
- check_options( $changes, \@data,
- { until => '1:2.0~rc2-1sarge2' }, 2,
- '1:2.0~rc2-1sarge1/1.5-1',
- 'until => "1:2.0~rc2-1sarge2"' );
- ## use critic
- #TODO: test combinations
+ check_options(%ref, range => { to => '1:2.0~rc2-1sarge2' },
+ count => 3,
+ versions => [
+ '1:2.0~rc2-1sarge2',
+ '1:2.0~rc2-1sarge1',
+ '1.5-1',
+ ],
+ name => 'to => "1:2.0~rc2-1sarge2"');
+ ## no critic (ControlStructures::ProhibitUntilBlocks)
+ check_options(%ref, range => { until => '1:2.0~rc2-1sarge2' },
+ count => 2,
+ versions => [ '1:2.0~rc2-1sarge1', '1.5-1' ],
+ name => 'until => "1:2.0~rc2-1sarge2"');
+ ## use critic
+ #TODO: test combinations
}
if ($file eq "$datadir/fields") {
my $str = $changes->format_range('dpkg', { all => 1 });