]> git.vpit.fr Git - perl/modules/Scalar-Vec-Util.git/commitdiff
Restyle tests
authorVincent Pit <vince@profvince.com>
Mon, 24 Sep 2012 20:38:19 +0000 (22:38 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 24 Sep 2012 23:24:29 +0000 (01:24 +0200)
14 files changed:
t/02-pp.t
t/03-size.t
t/10-veq-pp.t
t/11-veq.t
t/12-veq-long.t
t/20-vfill-pp.t
t/21-vfill.t
t/22-vfill-long.t
t/30-vcopy-pp.t
t/31-vcopy-copy.t
t/32-vcopy-move.t
t/33-vcopy-long.t
t/40-vshift.t
t/50-vrot.t

index 0e418421e36833d95602c5c03e86c4605a45ad59..35e3d85c595bddfa2c84433c451edab46856ef6b 100644 (file)
--- a/t/02-pp.t
+++ b/t/02-pp.t
@@ -19,8 +19,8 @@ BEGIN {
 
 use Scalar::Vec::Util qw<vfill vcopy veq SVU_PP>;
 
-is(SVU_PP, 1, 'using pure perl subroutines');
+is SVU_PP, 1, 'using pure perl subroutines';
 for (qw<vfill vcopy veq>) {
  no strict 'refs';
- is(*{$_}{CODE}, *{'Scalar::Vec::Util::'.$_}{CODE}, $_ .' is ' . $_ . '_pp');
+ is *{$_}{CODE}, *{'Scalar::Vec::Util::'.$_}{CODE}, $_ .' is ' . $_ . '_pp';
 }
index d32e3d942e2a1528393f19aa44b2ad3723f62692..d8953b237fc2d5c297d2cd2cb8afa15299bc7872 100644 (file)
@@ -10,14 +10,14 @@ use Scalar::Vec::Util qw<SVU_SIZE SVU_PP>;
 if (SVU_PP) {
  plan tests => 1;
 
- diag('Using pure perl fallbacks');
+ diag 'Using pure perl fallbacks';
 
- is(SVU_SIZE, 1, 'SVU_SIZE is 1');
+ is SVU_SIZE, 1, 'SVU_SIZE is 1';
 } else {
  plan tests => 2;
 
- diag('Using an unit of ' . SVU_SIZE . ' bits');
+ diag 'Using an unit of ' . SVU_SIZE . ' bits';
 
ok(SVU_SIZE >= 8,   'SVU_SIZE is greater than 8');
- is(SVU_SIZE % 8, 0, 'SVU_SIZE is a multiple of 8');
cmp_ok SVU_SIZE, '>=', 8, 'SVU_SIZE is greater than 8';
+ is     SVU_SIZE % 8,   0, 'SVU_SIZE is a multiple of 8';
 }
index 509fd98f3cba1989c96a62681e9f0e1535340961..78092cceb73b013b928db6bdaca2adb7ad83b7fa 100644 (file)
@@ -10,8 +10,12 @@ use Scalar::Vec::Util;
 for ([ 1, 'offset', -1 ], [ 3, 'offset', '-1' ], [ 4, 'length', -1 ]) {
  my @args  = ('1') x 5;
  $args[$_->[0]] = $_->[2];
- eval { &Scalar::Vec::Util::veq_pp(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &Scalar::Vec::Util::veq_pp(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "veq_pp(@args) failed";
 }
 
 my $p = 8;
@@ -19,19 +23,21 @@ my $n = 3 * $p;
 my $q = 1;
 
 sub myfill {
(undef, my $s, my $l, my $x) = @_;
my (undef, $s, $l, $x) = @_;
  $x = 1 if $x;
  vec($_[0], $_, 1) = $x for $s .. $s + $l - 1;
 }
 
-sub rst { myfill($_[0], 0, $n, 0) }
-  
+sub rst {
+ myfill $_[0], 0, $n, 0;
+}
+
 sub pat {
(undef, my $a, my $b, my $x) = @_;
- myfill($_[0], 0, $a, $x);
- myfill($_[0], $a, $b, 1 - $x);
- myfill($_[0], $a + $b, $n - ($a + $b) , $x);
-}  
my (undef, $a, $b, $x) = @_;
+ myfill $_[0], 0,       $a,             $x;
+ myfill $_[0], $a,      $b,             1 - $x;
+ myfill $_[0], $a + $b, $n - ($a + $b), $x;
+}
 
 my ($v1, $v2) = ('') x 2;
 
@@ -42,9 +48,14 @@ for my $s1 (@s) {
    last if $s1 + $l > $n or $s2 + $l > $n;
    pat $v1, $s1, $l, 0;
    pat $v2, $s2, $l, 0;
-   ok(Scalar::Vec::Util::veq_pp($v1 => $s1, $v2 => $s2, $l), "veq_pp $s1, $s2, $l");
-   ok(!Scalar::Vec::Util::veq_pp($v1 => $s1 - 1, $v2 => $s2, $l), 'not veq_pp ' . ($s1 - 1) . ", $s2, $l") if $l > 0;
-   ok(!Scalar::Vec::Util::veq_pp($v1 => $s1 + 1, $v2 => $s2, $l), 'not veq_pp ' . ($s1 + 1) . ", $s2, $l") if $l > 0;
+   ok   Scalar::Vec::Util::veq_pp($v1 => $s1,     $v2 => $s2, $l),
+        "veq_pp $s1, $s2, $l";
+   if ($l > 0) {
+    ok !Scalar::Vec::Util::veq_pp($v1 => $s1 - 1, $v2 => $s2, $l),
+        'not veq_pp ' . ($s1-1) . ", $s2, $l";
+    ok !Scalar::Vec::Util::veq_pp($v1 => $s1 + 1, $v2 => $s2, $l),
+        'not veq_pp ' . ($s1+1) . ", $s2, $l";
+   }
   }
  }
 }
index 00e90a92d348936333fb24b3cf4106d851e286c1..924bc12c7766f725e012632ba29fbe2c62797ab5 100644 (file)
@@ -10,29 +10,35 @@ use Scalar::Vec::Util qw<veq SVU_SIZE>;
 for ([ 1, 'offset', -1 ], [ 3, 'offset', '-1' ], [ 4, 'length', -1 ]) {
  my @args  = ('1') x 5;
  $args[$_->[0]] = $_->[2];
- eval { &veq(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &veq(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "veq(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 1;
 
 sub myfill {
(undef, my $s, my $l, my $x) = @_;
my (undef, $s, $l, $x) = @_;
  $x = 1 if $x;
  vec($_[0], $_, 1) = $x for $s .. $s + $l - 1;
 }
 
-sub rst { myfill($_[0], 0, $n, 0) }
-  
+sub rst {
+ myfill $_[0], 0, $n, 0;
+}
+
 sub pat {
(undef, my $a, my $b, my $x) = @_;
- myfill($_[0], 0, $a, $x);
- myfill($_[0], $a, $b, 1 - $x);
- myfill($_[0], $a + $b, $n - ($a + $b) , $x);
-}  
my (undef, $a, $b, $x) = @_;
+ myfill $_[0], 0,       $a,             $x;
+ myfill $_[0], $a,      $b,             1 - $x;
+ myfill $_[0], $a + $b, $n - ($a + $b), $x;
+}
 
 my ($v1, $v2) = ('') x 2;
 
@@ -43,9 +49,11 @@ for my $s1 (@s) {
    last if $s1 + $l > $n or $s2 + $l > $n;
    pat $v1, $s1, $l, 0;
    pat $v2, $s2, $l, 0;
-   ok(veq($v1 => $s1, $v2 => $s2, $l), "veq $s1, $s2, $l");
-   ok(!veq($v1 => $s1 - 1, $v2 => $s2, $l), 'not veq ' . ($s1 - 1) . ", $s2, $l") if $l > 0;
-   ok(!veq($v1 => $s1 + 1, $v2 => $s2, $l), 'not veq ' . ($s1 + 1) . ", $s2, $l") if $l > 0;
+   ok   veq($v1 => $s1,     $v2 => $s2, $l), "veq $s1, $s2, $l";
+   if ($l > 0) {
+    ok !veq($v1 => $s1 - 1, $v2 => $s2, $l), 'not veq ' . ($s1-1) . ", $s2, $l";
+    ok !veq($v1 => $s1 + 1, $v2 => $s2, $l), 'not veq ' . ($s1+1) . ", $s2, $l";
+   }
   }
  }
 }
index ea0c7a05c6186fb54d571e3fec479d4c05f3d539..aa1faa029a6e3ec899fb0dc7de9e97d8fd1fa861 100644 (file)
@@ -18,4 +18,4 @@ while ($i >= 1) {
  vec($v2, $i + 1, 1) = 1;
  $i /= 2;
 }
-ok(veq($v1, 0, $v2, 1, 10 * $n), 'long veq is loooong');
+ok veq($v1, 0, $v2, 1, 10 * $n), 'long veq is loooong';
index 3bb893d4c064e2d2992cf77dbd820f6efc3e8944..2d9e00e8ce9000df4d9363c19c258e58daf6ffc5 100644 (file)
@@ -7,11 +7,19 @@ use Test::More 'no_plan';
 
 use Scalar::Vec::Util;
 
+BEGIN {
+ *myeq = *Scalar::Vec::Util::veq_pp;
+}
+
 for ([ 1, 'offset', -1 ], [ 2, 'length', '-1' ]) {
  my @args  = ('1') x 4;
  $args[$_->[0]] = $_->[2];
- eval { &Scalar::Vec::Util::vfill_pp(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &Scalar::Vec::Util::vfill_pp(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vfill_pp(@args) failed";
 }
 
 my $p = 8;
@@ -19,14 +27,15 @@ my $n = 3 * $p;
 my $q = 1;
 
 sub myfill {
(undef, my $s, my $l, my $x) = @_;
my (undef, $s, $l, $x) = @_;
  $x = 1 if $x;
  vec($_[0], $_, 1) = $x for $s .. $s + $l - 1;
 }
 
-*myeq = *Scalar::Vec::Util::veq_pp;
-
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
 my ($v, $c) = ('') x 2;
 
@@ -34,13 +43,14 @@ my @s = ($p - $q) .. ($p + $q);
 for my $s (@s) {
  for my $l (0 .. $n - 1) {
   next if $s + $l > $n;
+  my $desc = "vfill_pp $s, $l";
   rst $c;
-  myfill($c, 0,  $s, 0);
-  myfill($c, $s, $l, 1);
+  myfill $c, 0,  $s, 0;
+  myfill $c, $s, $l, 1;
   rst $v;
   Scalar::Vec::Util::vfill_pp($v, 0,  $s, 0);
   Scalar::Vec::Util::vfill_pp($v, $s, $l, 1);
-  ok(myeq($v, 0, $c, 0, $n), "vfill_pp $s, $l");
-  is(length $v, length $c,   "vfill_pp $s, $l length");
+  is length $v, length $c,   "$desc: length";
+  ok myeq($v, 0, $c, 0, $n), "$desc: bits";
  }
 }
index 84031743e370403f2a8b1e464128a1b17c7f8290..3b6a27a837f5d5e14ad2eb6235111e1eded9042b 100644 (file)
@@ -7,29 +7,38 @@ use Test::More 'no_plan';
 
 use Scalar::Vec::Util qw<vfill SVU_SIZE>;
 
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
+
 for ([ 1, 'offset', -1 ], [ 2, 'length', '-1' ]) {
  my @args  = (~0) x 4;
  $args[$_->[0]] = $_->[2];
- eval { &vfill(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &vfill(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vfill(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 1;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
-
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
 sub pat {
(undef, my $a, my $b, my $x) = @_;
my (undef, $a, $b, $x) = @_;
  $_[0] = '';
  if ($b) {
-  myfill($_[0], 0, $a, $x);
-  myfill($_[0], $a, $b, 1 - $x);
+  myfill $_[0], 0,  $a, $x;
+  myfill $_[0], $a, $b, 1 - $x;
  }
 }
 
@@ -39,10 +48,11 @@ my @s = ($p - $q) .. ($p + $q);
 for my $s (@s) {
  for my $l (0 .. $n - 1) {
   next if $s + $l > $n;
+  my $desc = "vfill $s, $l";
   pat $c, $s, $l, 0;
   rst $v;
   vfill $v, $s, $l, 1;
-  ok(myeq($v, 0, $c, 0, $n), "vfill $s, $l");
-  is(length $v, length $c, "length is ok");
+  is length $v, length $c,   "$desc: length";
+  ok myeq($v, 0, $c, 0, $n), "$desc: bits";
  }
 }
index 3325f2d51727046b21e39bece37ce708fad6bf29..81d0041f8bae278f4beec5afba7359169dc990df 100644 (file)
@@ -7,18 +7,21 @@ use Test::More tests => 34;
 
 use Scalar::Vec::Util qw<vfill>;
 
-my $n = 2 ** 16;
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
+my $n = 2 ** 16;
 
 my ($v, $c) = ('') x 2;
 
 my $l = 1;
 while ($l <= $n) {
- myfill($c, 0, $l, 1);
- vfill($v, 0, $l, 1);
- ok(myeq($v, 0, $c, 0, $l), "vfill 0, $l, 1");
- is(length $v, length $c, "length is ok");
+ my $desc = "vfill 0, $l, 1";
+ myfill $c, 0, $l, 1;
+ vfill  $v, 0, $l, 1;
+ is length $v, length $c,   "$desc: length";
+ ok myeq($v, 0, $c, 0, $l), "$desc: bits";
  $l *= 2;
 }
index fda3803eb35f2e1f750ef95567c9eadf6126e616..911b5a1f90d85bc463476dacc12c390131f2af6c 100644 (file)
@@ -8,28 +8,36 @@ use Test::Leaner 'no_plan';
 
 use Scalar::Vec::Util qw<SVU_SIZE>;
 
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+}
+
 for ([ 1, 'offset', -1 ], [ 3, 'offset', '-1' ], [ 4, 'length', -1 ]) {
  my @args  = ('1') x 5;
  $args[$_->[0]] = $_->[2];
- eval { &Scalar::Vec::Util::vcopy_pp(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &Scalar::Vec::Util::vcopy_pp(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vcopy_pp(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 1;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
+sub rst {
+ myfill $_[0], 0, $n, 0;
+}
 
-sub rst { myfill($_[0], 0, $n, 0) }
-  
 sub pat {
(undef, my $a, my $b, my $x) = @_;
- myfill($_[0], 0, $a, $x);
- myfill($_[0], $a, $b, 1 - $x);
- myfill($_[0], $a + $b, $n - ($a + $b) , $x);
-}  
my (undef, $a, $b, $x) = @_;
+ myfill $_[0], 0,       $a,             $x;
+ myfill $_[0], $a,      $b,             1 - $x;
+ myfill $_[0], $a + $b, $n - ($a + $b), $x;
+}
 
 my ($f, $t, $c) = ('') x 3;
 
@@ -38,11 +46,12 @@ for my $s1 (@s) {
  for my $s2 (@s) {
   for my $l (0 .. $n - 1) {
    last if $s1 + $l > $n or $s2 + $l > $n;
+   my $desc = "vcopy_pp $s1, $s2, $l";
    pat $f, $s1, $l, 0;
    rst $t;
    pat $c, $s2, $l, 0;
    Scalar::Vec::Util::vcopy_pp($f => $s1, $t => $s2, $l);
-   is($t, $c, "vcopy_pp $s1, $s2, $l");
+   is $t, $c, $desc;
   }
  }
 }
index 68b136bf4bc317946f16fd006d25cf9eb809c4eb..af8d3a639dfd67f4e656fd5bc19f62c70364a864 100644 (file)
@@ -8,31 +8,40 @@ use Test::Leaner 'no_plan';
 
 use Scalar::Vec::Util qw<vcopy SVU_SIZE>;
 
-for ([ 1, 'offset', -1 ], [ 3, 'offset', '-1' ], [ 4, 'length', -1 ]) {
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
+
+for ([ 1, 'offset', -1 ], [ 3, 'offset', -1 ], [ 4, 'length', -1 ]) {
  my @args  = (~0) x 5;
  $args[$_->[0]] = $_->[2];
- eval { &vcopy(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &vcopy(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vcopy(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 1;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
-  
 sub pat {
(undef, my $a, my $b, my $x) = @_;
my (undef, $a, $b, $x) = @_;
  $_[0] = '';
  if ($b) {
-  myfill($_[0], 0, $a, $x);
-  myfill($_[0], $a, $b, 1 - $x);
+  myfill $_[0], 0,  $a, $x;
+  myfill $_[0], $a, $b, 1 - $x;
  }
-}  
+}
 
 my ($f, $t, $c) = ('') x 3;
 
@@ -41,12 +50,13 @@ for my $s1 (@s) {
  for my $s2 (@s) {
   for my $l (0 .. $n - 1) {
    last if $s1 + $l > $n or $s2 + $l > $n;
+   my $desc = "vcopy $s1, $s2, $l";
    pat $f, $s1, $l, 0;
    rst $t;
    pat $c, $s2, $l, 0;
    vcopy $f => $s1, $t => $s2, $l;
-   ok(myeq($t, 0, $c, 0, $n), "vcopy $s1, $s2, $l");
-   is(length $t, length $c, "length is ok");
+   is length $t, length $c,   "$desc: length";
+   ok myeq($t, 0, $c, 0, $n), "$desc: bits";
   }
  }
 }
index 43776c0ba2b51d22e3d75171dee88a17041c99d1..f95fbd43a2417db1b2ee44121c3cdd0ec8c0980b 100644 (file)
@@ -8,33 +8,37 @@ use Test::Leaner 'no_plan';
 
 use Scalar::Vec::Util qw<vcopy SVU_SIZE>;
 
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
+
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 1;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
-
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
 sub pat {
- (undef, my $a, my $b, my $x) = @_;
- unless ($b) {
-  rst $_[0];
- } else {
+ my (undef, $a, $b, $x) = @_;
+ if ($b) {
   $_[0] = '';
-  myfill($_[0], 0,       $a,             $x);
-  myfill($_[0], $a,      $b,             1 - $x);
-  myfill($_[0], $a + $b, $n - ($a + $b), $x) if $a + $b < $n;
+  myfill $_[0], 0,       $a,             $x;
+  myfill $_[0], $a,      $b,             1 - $x;
+  myfill $_[0], $a + $b, $n - ($a + $b), $x      if $a + $b < $n;
+ } else {
+  rst $_[0];
  }
 }
 
 sub prnt {
- (undef, my $n, my $desc) = @_;
- my $i = 0;
- my $s;
- $s .= vec($_[0], $i++, 1) while $i < $n;
+ my (undef, $n, $desc) = @_;
+ my $s = '';
+ $s .= vec($_[0], $_, 1) for 0 .. $n - 1;
  diag "$desc: $s";
 }
 
@@ -48,20 +52,21 @@ for my $s1 (@s) {
     for my $y (0 .. $q) {
      last if $s1 + $l + $x > $n or $s1 + $x + $y > $l
           or $s2 + $l + $x > $n or $s2 + $x + $y > $l;
+     my $desc = "vcopy [ $x, $y ], $s1, $s2, $l (move)";
      pat $v, $s1 + $x, $l - $x - $y, 0;
      my $v0 = $v;
      $c = $v;
-     myfill($c, $s2,           $x,           0) if $x;
-     myfill($c, $s2 + $x,      $l - $x - $y, 1);
-     myfill($c, $s2 + $l - $y, $y,           0) if $y;
+     myfill $c, $s2,           $x,           0 if $x;
+     myfill $c, $s2 + $x,      $l - $x - $y, 1;
+     myfill $c, $s2 + $l - $y, $y,           0 if $y;
      vcopy $v => $s1, $v => $s2, $l;
-     ok(myeq($v, 0, $c, 0, $n), "vcopy [ $x, $y ], $s1, $s2, $l (move)") or do {
+     is length $v, length $c,   "$desc: length";
+     ok myeq($v, 0, $c, 0, $n), "$desc: bits" or do {
       diag "n = $n, s1 = $s1, s2 = $s2, l = $l, x = $x, y = $y";
       prnt $v0, $n, 'original';
       prnt $v,  $n, 'got     ';
       prnt $c,  $n, 'expected';
-     };
-     is(length $v, length $c, "length is ok");
+     }
     }
    }
   }
index 865055d1252b23577ea13220a4806923b616e501..1e26573738518555139cb3fac76ad48e8ce9e096 100644 (file)
@@ -8,10 +8,12 @@ use Config qw<%Config>;
 
 use Scalar::Vec::Util qw<vcopy>;
 
-my $n = 2 ** 16;
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
+my $n = 2 ** 16;
 
 my ($v, $c) = ('') x 2;
 
@@ -19,19 +21,23 @@ my $l = 1;
 vec($v, 0, 1) = 1;
 vec($c, 0, 1) = 1;
 while ($l <= $n) {
- myfill($c, $l, $l, 1);
- vcopy $v, 0, $v, $l, $l;
+ my $desc = "vcopy $l";
+ myfill $c, $l, $l, 1;
+ vcopy  $v, 0,  $v, $l, $l;
  $l *= 2;
ok(myeq($v, 0, $c, 0, $l), "vcopy $l");
is(length $v, length $c, "length is ok");
is length $v, length $c,   "$desc: length";
ok myeq($v, 0, $c, 0, $l), "$desc: bits";
 }
 
-my ($w, $k) = ('') x 2;
-$n = ($Config{alignbytes} - 1) * 8;
-my $p = 4 + $n / 2;
-vec($w, $_, 1)      = 1 for 0 .. $n - 1;
-vec($k, $_, 1)      = 0 for 0 .. $n - 1;
-vec($k, $_ - $p, 1) = 1 for $p .. $n - 1;
-vcopy $w, $p, $w, 0, $n;
-ok(myeq($w, 0, $k, 0, $n), "vcopy with fill");
-is(length $w, length $k, "length is ok");
+{
+ my $desc = 'vcopy with fill';
+ my ($w, $k) = ('') x 2;
+ $n = ($Config{alignbytes} - 1) * 8;
+ my $p = 4 + $n / 2;
+ vec($w, $_, 1)      = 1 for 0  .. $n - 1;
+ vec($k, $_, 1)      = 0 for 0  .. $n - 1;
+ vec($k, $_ - $p, 1) = 1 for $p .. $n - 1;
+ vcopy $w, $p, $w, 0, $n;
+ is length $w, length $k,   "$desc: length";
+ ok myeq($w, 0, $k, 0, $n), "$desc: bits";
+}
index 15d1decb7912af527e565e3a77343c96eba8397b..b45ffc1ac4bd344991889db01ac1c02ab1f40530 100644 (file)
@@ -8,46 +8,55 @@ use Test::Leaner 'no_plan';
 
 use Scalar::Vec::Util qw<vshift SVU_SIZE>;
 
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
+
 for ([ 1, 'offset', -1 ], [ 2, 'length', '-1' ]) {
  my @args  = ('1') x 4;
  $args[$_->[0]] = $_->[2];
- eval { &vshift(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &vshift(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vshift(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 2;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
-
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
 sub pat {
(undef, my $a, my $b, my $x) = @_;
my (undef, $a, $b, $x) = @_;
  $_[0] = '';
  $x = $x ? 1 : 0;
  if (defined $b) {
-  myfill($_[0], 0, $a, $x);
-  myfill($_[0], $a, $b, 1 - $x);
+  myfill $_[0], 0,  $a, $x;
+  myfill $_[0], $a, $b, 1 - $x;
  }
 }
 
 sub expect {
(undef, my $s, my $l, my $b, my $left, my $insert) = @_;
- myfill($_[0], 0, $s, 0);
my (undef, $s, $l, $b, $left, $insert) = @_;
+ myfill $_[0], 0, $s, 0;
  if ($b < $l) {
   if ($left) {
-   myfill($_[0], $s,      $b,      defined $insert ? $insert : 1);
-   myfill($_[0], $s + $b, $l - $b, 1);
+   myfill $_[0], $s,      $b,      defined $insert ? $insert : 1;
+   myfill $_[0], $s + $b, $l - $b, 1;
   } else {
-   myfill($_[0], $s,           $l - $b, 1);
-   myfill($_[0], $s + $l - $b, $b,      defined $insert ? $insert : 1);
+   myfill $_[0], $s,           $l - $b, 1;
+   myfill $_[0], $s + $l - $b, $b,      defined $insert ? $insert : 1;
   }
  } else {
-  myfill($_[0], $s, $l, defined $insert ? $insert : 1);
+  myfill $_[0], $s, $l, defined $insert ? $insert : 1;
  }
 }
 
@@ -66,14 +75,14 @@ sub try {
    push @b, $l2 if $l2 != $l;
    push @b, $l + 1;
    for my $b (@b) {
+    my $desc = "vshift $s, $l, $b, " . (defined $insert ? $insert : 'undef');
     $v = $v0;
     rst $c;
     expect $c, $s, $l, $b, $left, $insert;
     $b = -$b unless $left;
     vshift $v, $s, $l => $b, $insert;
-    my $i = defined $insert ? $insert : 'undef';
-    ok(myeq($v, 0, $c, 0, $n), "vshift $s, $l, $b, $i");
-    is(length $v, length $c, "vshift $s, $l, $b, $i length");
+    is length $v, length $c,   "$desc: length";
+    ok myeq($v, 0, $c, 0, $n), "$desc: bits";
    }
   }
  }
index 227ca5264e2c6024f774cd0d34e58cd20d1d5dc1..d897762afe643cefef4d2f6aac0fc7f8d88cd77a 100644 (file)
@@ -8,73 +8,81 @@ use Test::Leaner 'no_plan';
 
 use Scalar::Vec::Util qw<vrot vcopy SVU_SIZE>;
 
+BEGIN {
+ *myfill = *Scalar::Vec::Util::vfill_pp;
+ *myeq   = *Scalar::Vec::Util::veq_pp;
+}
+
 for ([ 1, 'offset', -1 ], [ 2, 'length', '-1' ]) {
  my @args  = ('1') x 4;
  $args[$_->[0]] = $_->[2];
- eval { &vrot(@args) }; my $line = __LINE__;
- like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/;
+ local $@;
+ eval { &vrot(@args) };
+ my $err  = $@;
+ my $line = __LINE__-2;
+ like $err, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/,
+      "vrot(@args) failed";
 }
 
 my $p = SVU_SIZE;
-$p = 8 if $p < 8;
+$p    = 8 if $p < 8;
 my $n = 3 * $p;
 my $q = 2;
 
-*myfill = *Scalar::Vec::Util::vfill_pp;
-*myeq   = *Scalar::Vec::Util::veq_pp;
-
-sub rst { myfill($_[0], 0, $n, 0); $_[0] = '' }
+sub rst {
+ myfill $_[0], 0, $n, 0;
+ $_[0] = '';
+}
 
 sub pat {
(undef, my $a, my $b, my $c, my $x) = @_;
my (undef, $a, $b, $c, $x) = @_;
  $_[0] = '';
- myfill($_[0], 0,            $a,                  $x);
- myfill($_[0], $a,           $b,                  1 - $x);
- myfill($_[0], $a + $b,      $c,                  $x);
- myfill($_[0], $a + $b + $c, $n - ($a + $b + $c), 1 - $x);
+ myfill $_[0], 0,            $a,                  $x;
+ myfill $_[0], $a,           $b,                  1 - $x;
+ myfill $_[0], $a + $b,      $c,                  $x;
+ myfill $_[0], $a + $b + $c, $n - ($a + $b + $c), 1 - $x;
 }
 
 sub expected {
(undef, my $s, my $l, my $b, my $left) = @_;
my (undef, $s, $l, $b, $left) = @_;
  unless ($l) {
-  myfill($_[0], 0,  $s,      0);
-  myfill($_[0], $s, $n - $s, 1);
+  myfill $_[0], 0,  $s,      0;
+  myfill $_[0], $s, $n - $s, 1;
   return;
  }
  my $lx = int($l / 2);
  my $ly = $l - $lx;
  $b %= $l;
  $_[0] = '';
- myfill($_[0], 0, $s, 0);
+ myfill $_[0], 0, $s, 0;
  if ($left) {
   if ($b <= $ly) {
-   myfill($_[0], $s,            $b,            0);
-   myfill($_[0], $s + $b,       $lx,           1);
-   myfill($_[0], $s + $b + $lx, $l - $lx - $b, 0);
+   myfill $_[0], $s,            $b,            0;
+   myfill $_[0], $s + $b,       $lx,           1;
+   myfill $_[0], $s + $b + $lx, $l - $lx - $b, 0;
   } else {
-   myfill($_[0], $s,            $b - $ly, 1);
-   myfill($_[0], $s + $b - $ly, $ly,      0);
-   myfill($_[0], $s + $b,       $l - $b,  1);
+   myfill $_[0], $s,            $b - $ly, 1;
+   myfill $_[0], $s + $b - $ly, $ly,      0;
+   myfill $_[0], $s + $b,       $l - $b,  1;
   }
  } else {
   if ($b <= $lx) {
-   myfill($_[0], $s,            $lx - $b, 1);
-   myfill($_[0], $s + $lx - $b, $l - $lx, 0);
-   myfill($_[0], $s + $l  - $b, $b,       1);
+   myfill $_[0], $s,            $lx - $b, 1;
+   myfill $_[0], $s + $lx - $b, $l - $lx, 0;
+   myfill $_[0], $s + $l  - $b, $b,       1;
   } else {
-   myfill($_[0], $s,                 $ly - ($b - $lx), 0);
-   myfill($_[0], $s + $l - $b,       $lx,              1);
-   myfill($_[0], $s + $l + $lx - $b, $b - $lx,         0);
+   myfill $_[0], $s,                 $ly - ($b - $lx), 0;
+   myfill $_[0], $s + $l - $b,       $lx,              1;
+   myfill $_[0], $s + $l + $lx - $b, $b - $lx,         0;
   }
  }
- myfill($_[0], $s + $l, $n - $s - $l, 1);
+ myfill $_[0], $s + $l, $n - $s - $l, 1;
 }
 
 sub prnt {
- (undef, my $n, my $desc) = @_;
- my $i = 0;
+ my (undef, $n, $desc) = @_;
  my $s;
- $s .= vec($_[0], $i++, 1) while $i < $n;
+ $s .= vec($_[0], $_, 1) for 0 .. $n - 1;
  diag "$desc: $s";
 }
 
@@ -92,17 +100,18 @@ sub try {
    my @b = (0, 3, 5, 7, 11, 13, 17, $l2, $l2 + 1, $l + 1);
    @b = do { my %seen; ++$seen{$_} for @b; sort keys %seen };
    for my $b (@b) {
+    my $desc = "vrot $s, $l, $b";
     $v = $v0;
     expected $c, $s, $l, $b, $left;
     $b = -$b unless $left;
     vrot $v, $s, $l, $b;
-    ok(myeq($v, 0, $c, 0, $n), "vrot $s, $l, $b") or do {
+    is length $v, length $c,   "$desc: length";
+    ok myeq($v, 0, $c, 0, $n), "$desc: bits" or do {
      diag "n = $n, s = $s, l = $l, l2 = $l2";
      prnt $v0, $n, 'original';
      prnt $v, $n,  'got     ';
      prnt $c, $n,  'expected';
-    };
-    is(length $v, length $c, "vrot $s, $l, $b length");
+    }
    }
   }
  }