Checking if your kit is complete... Looks good Writing Makefile for Data::MultiValuedHash cp lib/Data/MultiValuedHash.pm blib/lib/Data/MultiValuedHash.pm Manifying blib/man3/Data::MultiValuedHash.3 PERL_DL_NONLAZY=1 /home/cpanrun/tmp/5.10.0/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Data-MultiValuedHash....1..221 ok 1 -- START TESTING Data::MultiValuedHash -- testing new(), initialize(), and clone() ok 2 mvh1 = new() ret MVH obj ok 3 on init mvh1->ignores_case() returns '0' ok 4 on init mvh1->fetch_all() returns '{ }, ' ok 5 mvh2 = new( 1 ) ret MVH obj ok 6 on init mvh2->ignores_case() returns '1' ok 7 on init mvh2->fetch_all() returns '{ }, ' ok 8 mvh3 = new( 0, {...} ) ret MVH obj ok 9 on init mvh3->ignores_case() returns '0' ok 10 on init mvh3->fetch_all() returns '{ 'Name' => [ '... ok 11 mvh4 = new( 1, {...} ) ret MVH obj ok 12 on init mvh4->ignores_case() returns '1' ok 13 on init mvh4->fetch_all() returns '{ 'age' => [ '1... ok 14 mvh5 = new( 0, mvh3 ) ret MVH obj ok 15 on init mvh5->ignores_case() returns '0' ok 16 on init mvh5->fetch_all() returns '{ 'Name' => [ '... ok 17 mvh6 = new( 1, mvh3 ) ret MVH obj ok 18 on init mvh6->ignores_case() returns '1' ok 19 on init mvh6->fetch_all() returns '{ 'age' => [ '1... ok 20 mvh7 = mvh1->clone() ret MVH obj ok 21 on clone mvh7->ignores_case() returns '0' ok 22 on clone mvh7->fetch_all() returns '{ }, ' ok 23 mvh8 = mvh4->clone() ret MVH obj ok 24 on clone mvh8->ignores_case() returns '1' ok 25 on clone mvh8->fetch_all() returns '{ 'age' => [ '... -- testing ignores_case() ok 26 ign-case from 0 to 0; ignores_case() returns '0'... ok 27 ign-case from 0 to 0; fetch_all() returns '{ 'Name... ok 28 ign-case from 0 to 1; ignores_case() returns '1'... ok 29 ign-case from 0 to 1; fetch_all() returns '{ 'age'... ok 30 ign-case from 1 to 0; ignores_case() returns '0'... ok 31 ign-case from 1 to 0; fetch_all() returns '{ 'age'... ok 32 ign-case from 1 to 1; ignores_case() returns '1'... ok 33 ign-case from 1 to 1; fetch_all() returns '{ 'age'... -- testing read-only methods on case-sensitive MVH ok 34 sort keys() returns '[ 'Name', 'Siblings', 'age', ... ok 35 keys_count() returns ''5', ' ok 36 sort values() returns '[ '17', 'Andrew', 'Bird', '... ok 37 values_count() returns ''8', ' ok 38 exists() returns ''', ' ok 39 exists( 'name' ) returns ''', ' ok 40 exists( 'Name' ) returns ''1', ' ok 41 exists( 'color' ) returns ''1', ' ok 42 exists( 'Color' ) returns ''', ' ok 43 count() returns 'undef, ' ok 44 count( 'name' ) returns 'undef, ' ok 45 count( 'age' ) returns ''1', ' ok 46 count( 'pets' ) returns ''2', ' ok 47 fetch_value() returns 'undef, ' ok 48 fetch_value( 'name' ) returns 'undef, ' ok 49 fetch_value( 'age' ) returns ''17', ' ok 50 fetch_value( 'Siblings' ) returns ''Laura', ' ok 51 fetch_value( 'age', 0 ) returns ''17', ' ok 52 fetch_value( 'Siblings', 0 ) returns ''Laura', '... ok 53 fetch_value( 'age', 1 ) returns 'undef, ' ok 54 fetch_value( 'Siblings', 1 ) returns ''Andrew', '... ok 55 fetch_value( 'age', -1 ) returns ''17', ' ok 56 fetch_value( 'Siblings', -1 ) returns ''Julia', '... ok 57 fetch() returns 'undef, ' ok 58 fetch( 'name' ) returns 'undef, ' ok 59 fetch( 'age' ) returns '[ '17', ], ' ok 60 fetch( 'Siblings' ) returns '[ 'Laura', 'Andrew', ... ok 61 fetch( 'age', 0 ) returns '[ '17', ], ' ok 62 fetch( 'Siblings', 0 ) returns '[ 'Laura', ], ' ok 63 fetch( 'age', 1 ) returns '[ undef, ], ' ok 64 fetch( 'Siblings', 1 ) returns '[ 'Andrew', ], '... ok 65 fetch( 'age', -1 ) returns '[ '17', ], ' ok 66 fetch( 'Siblings', -1 ) returns '[ 'Julia', ], '... ok 67 fetch( 'age', [0..1] ) returns '[ '17', undef, ], ... ok 68 fetch( 'Siblings', [0..1] ) returns '[ 'Laura', 'A... ok 69 fetch( 'Siblings', [1..4] ) returns '[ 'Andrew', '... ok 70 fetch( 'Siblings', [-1,1] ) returns '[ 'Julia', 'A... ok 71 fetch_hash() returns '{ 'Name' => 'John', 'Sibling... ok 72 fetch_hash( 0 ) returns '{ 'Name' => 'John', 'Sibl... ok 73 fetch_hash( 1 ) returns '{ 'Name' => undef, 'Sibli... ok 74 fetch_hash( 2 ) returns '{ 'Name' => undef, 'Sibli... ok 75 fetch_hash( 3 ) returns '{ 'Name' => undef, 'Sibli... ok 76 fetch_hash( -1 ) returns '{ 'Name' => 'John', 'Sib... ok 77 fetch_hash( undef, ['age','pets'] ) returns '{ 'ag... ok 78 fetch_hash( 1, ['age','Siblings'] ) returns '{ 'Si... ok 79 fetch_hash( undef, ['age','pets'], 1 ) returns '{ ... ok 80 fetch_hash( 1, ['age','Siblings'], 1 ) returns '{ ... ok 81 fetch_first() returns '{ 'Name' => 'John', 'Siblin... ok 82 fetch_first( ['age','Siblings'] ) returns '{ 'Sibl... ok 83 fetch_first( ['age','Siblings'], 1 ) returns '{ 'N... ok 84 fetch_last() returns '{ 'Name' => 'John', 'Sibling... ok 85 fetch_last( ['age','Siblings'] ) returns '{ 'Sibli... ok 86 fetch_last( ['age','Siblings'], 1 ) returns '{ 'Na... ok 87 fetch_all() returns '{ 'Name' => [ 'John', ], 'Sib... ok 88 fetch_all( undef, undef, 0 ) returns '{ 'Name' => ... ok 89 fetch_all( undef, undef, 1 ) returns '{ 'Name' => ... ok 90 fetch_all( undef, undef, 2 ) returns '{ 'Name' => ... ok 91 fetch_all( undef, undef, 3 ) returns '{ 'Name' => ... ok 92 fetch_all( undef, undef, -1 ) returns '{ 'Name' =>... ok 93 fetch_all( ['age','pets'], undef, 0 ) returns '{ '... ok 94 fetch_all( ['age','Siblings'], undef, 1 ) returns ... ok 95 fetch_all( ['age','pets'], 1, 0 ) returns '{ 'Name... ok 96 fetch_all( ['age','Siblings'], 1, 1 ) returns '{ '... ok 97 fetch_all( 'name' ) returns '{ }, ' ok 98 fetch_all( 'age' ) returns '{ 'age' => [ '17', ], ... ok 99 fetch_all( 'Siblings' ) returns '{ 'Siblings' => [... ok 100 fetch_all( 'age', undef, 0 ) returns '{ 'age' => [... ok 101 fetch_all( 'Siblings', undef, 0 ) returns '{ 'Sibl... ok 102 fetch_all( 'age', undef, 1 ) returns '{ 'age' => [... ok 103 fetch_all( 'Siblings', undef, 1 ) returns '{ 'Sibl... ok 104 fetch_all( 'age', undef, -1 ) returns '{ 'age' => ... ok 105 fetch_all( 'Siblings', undef, -1 ) returns '{ 'Sib... ok 106 fetch_all( 'age', undef, [0..1] ) returns '{ 'age'... ok 107 fetch_all( 'Siblings', undef, [0..1] ) returns '{ ... ok 108 fetch_all( 'Siblings', undef, [1..4] ) returns '{ ... ok 109 fetch_all( 'Siblings', undef, [-1,1] ) returns '{ ... ok 110 fetch_all( ['Siblings','pets'], undef, [-1,1] ) re... ok 111 fetch_all( ['Name','Siblings','pets'], 1, [-1,1] )... -- testing read-only methods on case-insensitive MVH ok 112 sort keys() returns '[ 'age', 'color', 'name', 'pe... ok 113 keys_count() returns ''5', ' ok 114 sort values() returns '[ '17', 'Andrew', 'Bird', '... ok 115 values_count() returns ''8', ' ok 116 exists( 'name' ) returns ''1', ' ok 117 exists( 'Name' ) returns ''1', ' ok 118 exists( 'color' ) returns ''1', ' ok 119 exists( 'Color' ) returns ''1', ' ok 120 fetch_value( 'name' ) returns ''John', ' ok 121 fetch_value( 'age' ) returns ''17', ' ok 122 fetch_value( 'Siblings' ) returns ''Laura', ' ok 123 fetch( 'name' ) returns '[ 'John', ], ' ok 124 fetch_hash() returns '{ 'age' => '17', 'color' => ... ok 125 fetch_first( ['age','Siblings'] ) returns '{ 'age'... ok 126 fetch_last( ['age','Siblings'], 1 ) returns '{ 'co... ok 127 fetch_all() returns '{ 'age' => [ '17', ], 'color'... ok 128 fetch_all( ['Siblings','pets'], undef, [-1,1] ) re... ok 129 fetch_all( ['Name','Siblings','pets'], 1, [-1,1] )... -- testing fetch_mvh() ok 130 mvh2 = mvh1->fetch_mvh() ret MVH obj ok 131 on fetch_mvh mvh2->ignores_case() returns '1' ok 132 on fetch_mvh mvh2->fetch_all() returns '{ 'age' =>... ok 133 mvh3 = mvh1->fetch_mvh( ['name','siblings'] ) ret ... ok 134 on fetch_mvh mvh3->ignores_case() returns '1' ok 135 on fetch_mvh mvh3->fetch_all() returns '{ 'name' =... -- testing altering methods like store() ok 136 store_value( 'pets', 'turtle' ) returns '2' ok 137 fetch_value( 'pets' ) returns ''turtle', ' ok 138 fetch( 'pets' ) returns '[ 'turtle', 'Bird', ], '... ok 139 store_value( 'pets', 'rabbit', 1 ) returns '2' ok 140 fetch_value( 'pets', 1 ) returns ''rabbit', ' ok 141 fetch( 'pets' ) returns '[ 'turtle', 'rabbit', ], ... ok 142 store( 'age', 18 ) returns '1' ok 143 fetch( 'age' ) returns '[ '18', ], ' ok 144 store( 'Name', [] ) returns '0' ok 145 fetch( 'Name' ) returns '[ ], ' ok 146 store( 'Name', [ 'John', 'Reese', ] ) returns '2'... ok 147 fetch( 'Name' ) returns '[ 'John', 'Reese', ], '... ok 148 store( 'Name', 'John', 'Glenn' ) returns '2' ok 149 fetch( 'Name' ) returns '[ 'John', 'Glenn', ], '... ok 150 store_all( {songs => ['here','we','go'],pets => 'L... ok 151 fetch_all( ['songs','pets'] ) returns '{ 'pets' =>... ok 152 store_all( songs => ['this','that','and the other'... ok 153 fetch_all( ['songs','pets'] ) returns '{ 'pets' =>... ok 154 store_all() returns '0' ok 155 fetch_all( [] ) returns '{ }, ' ok 156 push() returns '0' ok 157 fetch() returns '[ ], ' ok 158 fetch( undef ) returns '[ ], ' ok 159 push( 'Siblings' ) returns '3' ok 160 push( 'Siblings', [] ) returns '3' ok 161 push( 'Siblings', 'Tandy' ) returns '4' ok 162 fetch( 'Siblings' ) returns '[ 'Laura', 'Andrew', ... ok 163 push( 'Siblings', ['Adam','Jessie'] ) returns '6'... ok 164 fetch( 'Siblings' ) returns '[ 'Laura', 'Andrew', ... ok 165 unshift( 'pets', 'Dog', 'Hamster' ) returns '3' ok 166 fetch( 'pets' ) returns '[ 'Dog', 'Hamster', 'Fish... ok 167 pop( 'pets' ) returns ''Fish', ' ok 168 fetch( 'pets' ) returns '[ 'Dog', 'Hamster', ], '... ok 169 pop( 'Pets' ) returns 'undef, ' ok 170 fetch( 'Pets' ) returns 'undef, ' ok 171 shift( 'color' ) returns ''green', ' ok 172 fetch( 'color' ) returns '[ ], ' ok 173 shift( 'color' ) returns 'undef, ' ok 174 fetch( 'color' ) returns '[ ], ' ok 175 splice( 'Siblings', 0, 1 ) returns '[ 'Laura', ], ... ok 176 fetch( 'Siblings' ) returns '[ 'Andrew', 'Julia', ... ok 177 splice( 'Siblings', 3, 1, 'Evette' ) returns '[ 'A... ok 178 fetch( 'Siblings' ) returns '[ 'Andrew', 'Julia', ... ok 179 splice( 'Siblings', 3, 0, ['James'] ) returns '[ ]... ok 180 fetch( 'Siblings' ) returns '[ 'Andrew', 'Julia', ... ok 181 splice( 'Siblings', -1 ) returns '[ 'Jessie', ], '... ok 182 fetch( 'Siblings' ) returns '[ 'Andrew', 'Julia', ... ok 183 splice( 'Siblings', 3 ) returns '[ 'James', 'Evett... ok 184 fetch( 'Siblings' ) returns '[ 'Andrew', 'Julia', ... ok 185 splice( 'Siblings' ) returns '[ 'Andrew', 'Julia',... ok 186 fetch( 'Siblings' ) returns '[ ], ' ok 187 delete( 'Name' ) returns '[ 'John', 'Glenn', ], '... ok 188 fetch( 'Name' ) returns 'undef, ' ok 189 delete( 'Name' ) returns 'undef, ' ok 190 delete_all() returns '{ '' => [ ], 'Siblings' => [... ok 191 fetch_all() returns '{ }, ' ok 192 delete_all() returns '{ }, ' -- testing batch_new() ok 193 there are 9 source records ok 194 there are 9 new objects ok 195 new object 0 is an MVH object ok 196 mvh0->ignores_case() returns '0' ok 197 mvh0->fetch_all() returns '{ }, ' ok 198 new object 1 is an MVH object ok 199 mvh1->ignores_case() returns '0' ok 200 mvh1->fetch_all() returns '{ }, ' ok 201 new object 2 is an MVH object ok 202 mvh2->ignores_case() returns '0' ok 203 mvh2->fetch_all() returns '{ }, ' ok 204 new object 3 is an MVH object ok 205 mvh3->ignores_case() returns '0' ok 206 mvh3->fetch_all() returns '{ 'name' => [ 'Don Smit... ok 207 new object 4 is an MVH object ok 208 mvh4->ignores_case() returns '0' ok 209 mvh4->fetch_all() returns '{ 'age' => [ '17', ], '... ok 210 new object 5 is an MVH object ok 211 mvh5->ignores_case() returns '0' ok 212 mvh5->fetch_all() returns '{ 'name' => [ 'name', ]... ok 213 new object 6 is an MVH object ok 214 mvh6->ignores_case() returns '0' ok 215 mvh6->fetch_all() returns '{ 'default' => [ 'eenie... ok 216 new object 7 is an MVH object ok 217 mvh7->ignores_case() returns '0' ok 218 mvh7->fetch_all() returns '{ 'name' => [ 'color', ... ok 219 new object 8 is an MVH object ok 220 mvh8->ignores_case() returns '0' ok 221 mvh8->fetch_all() returns '{ 'type' => [ 'submit',... -- DONE TESTING Data::MultiValuedHash ok All tests successful. Files=1, Tests=221, 0 wallclock secs ( 0.04 cusr + 0.06 csys = 0.10 CPU) Installing /home/cpanrun/build/5.10.0/html/site/lib/Data/MultiValuedHash.html Installing /home/cpanrun/build/5.10.0/site/lib/Data/MultiValuedHash.pm Installing /home/cpanrun/build/5.10.0/site/man/man3/Data::MultiValuedHash.3 Appending installation info to /home/cpanrun/build/5.10.0/lib/perllocal.pod