Warning: prerequisite Scalar::Util 1.14 not found. We have 1.13. Checking if your kit is complete... Looks good Writing Makefile for Array::AsHash cp lib/Array/AsHash/Iterator.pm blib/lib/Array/AsHash/Iterator.pm cp lib/Array/AsHash.pm blib/lib/Array/AsHash.pm Manifying blib/man3/Array::AsHash::Iterator.3 Manifying blib/man3/Array::AsHash.3 PERL_DL_NONLAZY=1 /home/cpanrun/parisc2.0-lp64/build/5.8.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/00-load.........1..1 ok 1 - use Array::AsHash; # Testing Array::AsHash 0.32, Perl 5.008002, /home/cpanrun/parisc2.0-lp64/build/5.8.2/bin/perl ok t/10-hash.........ok 1 - use Array::AsHash; ok 2 - Array::AsHash->can('new') ok 3 - ... and passing anything but an aref to new() should croak ok 4 - ... and passing an uneven number of array elements to new() should croak ok 5 - Calling new() without arguments should succeed ok 6 - ... and the object it returns isa Array::AsHash ok 7 - Array::AsHash->can('get') ok 8 - ... and non-existent keys should return false ok 9 - ... and should also work in list context ok 10 - Array::AsHash->can('exists') ok 11 - ... and non-existent keys should return false ok 12 - Array::AsHash->can('put') ok 13 - ... and storing a new value should succeed ok 14 - ... and the key should exist in the array ok 15 - ... and getting a value should succceed ok 16 - Array::AsHash->can('get_array') ok 17 - ... and in scalar context it should return an array reference ok 18 - ... and in list context it should return a list ok 19 - Array::AsHash->can('keys') ok 20 - ... calling it in list context should return a list of keys ok 21 - ... calling it in scalar context should return an array ref ok 22 - Array::AsHash->can('values') ok 23 - ... calling it in list context should return a list of values ok 24 - ... calling it in scalar context should return an array ref ok 25 - We should be able to "put" multiple k/v pairs ok 26 - ... and have the correct array set ok 27 - ... and the correct keys set ok 28 - ... and the correct values set ok 29 - Calling get in scalar context should succeed ok 30 - ... and it should return the correct value ok 31 - ... and calling it in scalar context with two keys should succeed ok 32 - ... and it should return an array reference ok 33 - ... and calling it in list context should succeed ok 34 - ... returning the correct value ok 35 - ... and calling it in list context and unknown keys should succeed ok 36 - ... returning the correct values ok 37 - ... even if we only request one key ok 38 - We should be able to create an object with an existing array ok 39 - ... and the object it returns isa Array::AsHash ok 40 - ... and the keys should be correct ok 41 - ... as should the values ok 42 - ... and uncloned arrays should affect their parents ok 43 - Array::AsHash->can('delete') ok 44 - ... and deleting a key should work ok 45 - ... and it should return the value we deleted ok 46 - ... and our remaining keys should be correct ok 47 - ... and our remaining values should be correct ok 48 - ... and getting items before the deleted key should work ok 49 - ... and getting items after the deleted key should work ok 50 - We should be able to fetch new values from arrays with deletions ok 51 - ... and getting items before the inserted keys should work ok 52 - ... and getting items after the inserted keys should work ok 53 - ... and deleting multiple keys should work ok 54 - ... and it should return the values we deleted ok 55 - ... and our remaining keys should be correct ok 56 - ... and our remaining values should be correct ok 57 - ... and getting items before the deleted key should work ok 58 - ... and getting items after the deleted key should work ok 59 - Trying to delete a non-existent key should silently fail ok 60 - ... and our remaining keys should be correct ok 61 - ... and our remaining values should be correct ok 62 - Trying to delete a non-existent key and an existing key should work ok 63 - ... and return the correct value(s) ok 64 - ... and our remaining keys should be correct ok 65 - ... and our remaining values should be correct ok 66 - Scalar delete of a single key should return the value ok 67 - ... but deleteting multiple keys in scalar context should return an aref ok 68 - Array::AsHash->can('each') ok 69 - ... and the key should be the same ok 70 - ... and the value should be the same ok 71 - ... and the key should be the same ok 72 - ... and the value should be the same ok 73 - ... and the key should be the same ok 74 - ... and the value should be the same ok 75 - ... and each() should return the correct number of items ok 76 - After each() is finished, it should be automatically reset ok 77 - Array::AsHash->can('reset_each') ok 78 - ... and reset_each() should reset the each() iterator ok 79 - Calling each() in scalar context should return an iterator ok 80 - ... and the object it returns isa Array::AsHash::Iterator ok 81 - Array::AsHash::Iterator->can('next') ok 82 - Array::AsHash::Iterator->can('first') ok 83 - Array::AsHash::Iterator->can('last') ok 84 - ... and first should return true on the first kv pair ok 85 - ... and the key should be the same ok 86 - ... and the value should be the same ok 87 - ... and last should return false on kv pairs prior to the last ok 88 - ... and first should return false on subsequent kv pairs ok 89 - ... and the key should be the same ok 90 - ... and the value should be the same ok 91 - ... and last should return false on kv pairs prior to the last ok 92 - ... and first should return false on subsequent kv pairs ok 93 - ... and the key should be the same ok 94 - ... and the value should be the same ok 95 - ... and last should return true on the last kv pair ok 96 - ... and each() should return the correct number of items ok 97 - Array::AsHash::Iterator->can('parent') ok 98 - ... and it should return the array which created the iterator ok 99 - After each() is finished, it should be automatically reset ok 100 - Array::AsHash::Iterator->can('reset_each') ok 101 - ... and reset_each() should reset the each() iterator ok 102 - Array::AsHash->can('kv') ok 103 - ... and kv() should behave like each() ok 104 - ... and kv() should behave like each() ok 105 - ... and kv() should behave like each() ok 106 - Using objects as keys should work ok 107 - ... and exists() should work properly ok 108 - ... and storing objects as values should work ok 109 - ... and putting in a new value should work for objects ok 110 - ... as should fetching the new value ok 111 - ... and exists() should work properly ok 112 - exists() should not report objects which do not exist ok 113 - ... and putting a new object in should work ok 114 - ... and it should now exist ok 115 - ... and we should be able to fetch the value ok 116 - ... and exists() should work properly ok 117 - Using objects as keys should work even if we have cloned the array ok 118 - ... and exists() should work properly ok 119 - ... and storing objects as values should work ok 120 - ... and putting in a new value should work for cloned objects ok 121 - ... as should fetching the new value ok 122 - ... and exists() should work properly ok 123 - exists() should not report objects which do not exist ok 124 - ... and putting a new object in should work ok 125 - ... and it should now exist ok 126 - ... and we should be able to fetch the value ok 127 - ... and exists() should work properly ok 128 - An empty array in boolean context should return false ok 129 - ... but it should return true if we add elements to it ok 130 - ... and string overloading should be handled correctly ok 131 - Array::AsHash->can('clone') ok 132 - ... and trying to clone an array should succeed ok 133 - ... and the cloned array should have the same data ok 134 - Array::AsHash->can(...) ok 135 - ... and first should return false if we are not on the first "each" item ok 136 - ... and last should return false if we are not on the last "each" item ok 137 - ... and first should return true if we are on the first "each" item ok 138 - ... and last should return false if we are not on the last "each" item ok 139 - ... and first should return false if we are not on the first "each" item ok 140 - ... and last should return false if we are not on the last "each" item ok 141 - ... and first should return false if we are not on the first "each" item ok 142 - ... and last should return true if we are on the last "each" item ok 143 - ... and first should return false if we are not on the first "each" item ok 144 - ... and last should return false if we are not on the last "each" item ok 145 - Calling first() after an each iterator should succeed ok 146 - ... and last should return false if we are not on the last "each" item ok 147 - ... and first should return false if we are not on the first "each" item ok 148 - ... and last should return false if we are not on the last "each" item ok 149 - ... and first should return false if we are not on the first "each" item ok 150 - ... and last should return true if we are on the last "each" item ok 151 - Array::AsHash->can('get_pairs') ok 152 - ... and it should return an array reference in scalar context ok 153 - ... and it should return an array in scalar context ok 154 - We should be able to get multiple pairs ok 155 - ... even in scalar context ok 156 - pair() shoudl silently discard non-existent keys ok 157 - ... even in scalar context ok 158 - Array::AsHash->can('default') ok 159 - ... and it should not override a key which exists ok 160 - ... but it should create a key if it did not exist ok 161 - ... and it should be assigned the correct value ok 162 - ... and we should be able to set multiple keys at once ok 163 - Array::AsHash->can('rename') ok 164 - ... and passing an odd sized list should croak ok 165 - ... and renaming a key should work ok 166 - ... and the old key should not exist ok 167 - ... and the new key should exist ok 168 - ... with the proper value ok 169 - ... in the proper position in the hash ok 170 - ... and the new keys should be correct ok 171 - We should be able to rename multiple keys ok 172 - ... and the old key should not exist ok 173 - ... and the new key should exist ok 174 - ... with the proper value ok 175 - ... in the proper position in the hash ok 176 - ... and the old key should not exist ok 177 - ... and the new key should exist ok 178 - ... with the proper value ok 179 - ... in the proper position in the hash ok 180 - ... and the new keys should be correct ok 181 - Array::AsHash->can('clear') ok 182 - "foo" should be set to "bar" ok 183 - There should be three hash items ok 184 - There should be six array items ok 185 - Clear the array ok 186 - "foo" should be undefined ok 187 - "foo" should not exist ok 188 - There should be no hash items ok 189 - There should be no array items 1..189 ok t/20-array........1..119 ok 1 - use Array::AsHash; ok 2 - Array::AsHash->can(...) ok 3 - ... and an empty array should return an acount of zero ok 4 - ... and an empty array should return an hcount of zero ok 5 - ... and non-existent items return an undefined aindex ok 6 - ... and non-existent items return an undefined hindex ok 7 - acount should return the correct number of elements in the array ok 8 - ... and hcount should return the correct number of pairs ok 9 - ... and aindex should return the array index of existing keys ok 10 - ... and hindex should return the hash index of existing keys ok 11 - Calling the constructor and cloning should work ok 12 - ... and the object it returns isa Array::AsHash ok 13 - ... and the keys should be correct ok 14 - ... as should the values ok 15 - ... and cloned arrays should not affect their parents ok 16 - Array::AsHash->can('insert_before') ok 17 - ... and attempting to insert before a non-existent key should croak ok 18 - ... and we should not be able to insert an odd-sized list ok 19 - ... and we should not be able to insert a duplicate key ok 20 - Inserting before a key should succeed ok 21 - ... and inserting before a key should set the correct keys ok 22 - ... and inserting before a key should set the correct values ok 23 - ... and the full array should be returned ok 24 - ... and new values should be indexed correctly ok 25 - ... as should old values ok 26 - ... as should old values ok 27 - Array::AsHash->can('insert_after') ok 28 - ... and attempting to insert after a non-existent key should croak ok 29 - ... and we should not be able to insert an odd-sized list ok 30 - ... and we should not be able to insert a duplicate key ok 31 - Inserting after a key should succeed ok 32 - ... and inserting after a key should set the correct keys ok 33 - ... and inserting after a key should set the correct values ok 34 - ... and the full array should be returned ok 35 - ... and new keys should exist ok 36 - ... and new values should be indexed correctly ok 37 - ... as should old values ok 38 - ... as should old values ok 39 - ... and we should be able to set the value of the new keys ok 40 - We should be able to insert a key with a *false* value ok 41 - ... and have it exist ok 42 - ... and have the correct values set with a subsequent put() ok 43 - Array::AsHash->can('unshift') ok 44 - ... and calling it should succeed ok 45 - ... and the new keys should be correct ok 46 - ... as should the values ok 47 - ... and we should be able to get the new values ok 48 - ... and we should be able to get the new values ok 49 - we should be able to delete the unshifted keys ok 50 - ... and the new keys should be correct ok 51 - ... as should the values ok 52 - ... and the deleted value should be gone ok 53 - ... and we should be able to get the new values ok 54 - We should be able to shift onto an array which already has values ok 55 - ... and the new keys should be correct ok 56 - ... as should the values ok 57 - ... and we should be able to get the new values ok 58 - ... and we should be able to get the new values ok 59 - ... and we should be able to get the old values ok 60 - we should be able to delete the unshifted keys ok 61 - ... and the new keys should be correct ok 62 - ... as should the values ok 63 - ... and the deleted value should be gone ok 64 - ... and we should be able to get the new values ok 65 - ... and we should be able to get the old values ok 66 - Array::AsHash->can('push') ok 67 - ... and calling it should succeed ok 68 - ... and the new keys should be correct ok 69 - ... as should the values ok 70 - ... and we should be able to get the new values ok 71 - ... and we should be able to get the new values ok 72 - we should be able to delete the pushed keys ok 73 - ... and the new keys should be correct ok 74 - ... as should the values ok 75 - ... and the deleted value should be gone ok 76 - ... and we should be able to get the new values ok 77 - We should be able to shift onto an array which already has values ok 78 - ... and the new keys should be correct ok 79 - ... as should the values ok 80 - ... and we should be able to get the old values ok 81 - ... and we should be able to get the new values ok 82 - ... and we should be able to get the new values ok 83 - we should be able to delete the pushed keys ok 84 - ... and the new keys should be correct ok 85 - ... as should the values ok 86 - ... and we should be able to get the old values ok 87 - ... and the deleted value should be gone ok 88 - ... and we should be able to get the new values ok 89 - Array::AsHash->can('pop') ok 90 - ... and popping an empty array should return a false value ok 91 - ... but a scalar pop on an array with values should succeed ok 92 - ... and the item should not exist ok 93 - ... or be able to be gotten ok 94 - ... and we should only have two items left ok 95 - ... and a list pop on an array with values should succeed ok 96 - ... and the item should not exist ok 97 - ... or be able to be gotten ok 98 - ... and the array should now be empty ok 99 - Array::AsHash->can('shift') ok 100 - ... and shifting an empty array should return a false value ok 101 - ... but a scalar shift on an array with values should succeed ok 102 - ... and the item should not exist ok 103 - ... or be able to be gotten ok 104 - ... and we should only have two items left ok 105 - ... and a list shift on an array with values should succeed ok 106 - ... and the item should not exist ok 107 - ... or be able to be gotten ok 108 - ... and the array should now be empty ok 109 - Array::AsHash->can('key_at') ok 110 - ... and it should return the correct keys ok 111 - ... even with negative indices ok 112 - ... even with array slices ok 113 - ... but it should not change the value of the original indices ok 114 - Array::AsHash->can('value_at') ok 115 - ... and it should return the correct values ok 116 - ... even with negative indices ok 117 - ... even with array slices ok 118 - ... even with array slices ok 119 - ... but it should not change the value of the original indices ok t/30-strict.......1..27 ok 1 - use Array::AsHash; ok 2 - Array::AsHash->can('new') ok 3 - Creating a strict object should succeed ok 4 - ... and the object it returns isa Array::AsHash ok 5 - ... and trying to get non-existent keys should croak ok 6 - ... and non-existent keys should return false ok 7 - ... and trying to delete a non-existent key should croak ok 8 - ... and trying to put a non-existent key should croak ok 9 - Array::AsHash->can('add') ok 10 - ... we should be able to add a non-existent key ok 11 - ... and it should have the correct value ok 12 - ... but trying to add an existing key should fail ok 13 - Array::AsHash->can('get_pairs') ok 14 - ... and it should return an array reference in scalar context ok 15 - ... and it should return an array in scalar context ok 16 - We should be able to get multiple pairs ok 17 - ... even in scalar context ok 18 - ... but trying to get a pair for a non-exitent key should croak ok 19 - Array::AsHash->can('strict') ok 20 - ... and it should return true if the array is in strict mode ok 21 - ... and it should return false for non-strict arrays ok 22 - We should be able to turn off strict mode ok 23 - ... and be able to use it like a non-strict array ok 24 - ... and fetch those new values ok 25 - ... and generally not have the hassle (or safety) of strict ok 26 - We should be able to turn strict mode back on ok 27 - ... and get our strict goodness back ok t/pod-coverage....1..0 # Skip Test::Pod::Coverage required for testing POD coverage skipped all skipped: Test::Pod::Coverage required for testing POD coverage t/pod.............1..0 # Skip Test::Pod 1.14 required for testing POD skipped all skipped: Test::Pod 1.14 required for testing POD All tests successful, 2 tests skipped. Files=6, Tests=336, 3 wallclock secs ( 2.06 cusr + 0.30 csys = 2.36 CPU) Installing /home/cpanrun/parisc2.0-lp64/build/5.8.2/lib/site_perl/5.8.2/Array/AsHash.pm Installing /home/cpanrun/parisc2.0-lp64/build/5.8.2/lib/site_perl/5.8.2/Array/AsHash/Iterator.pm Installing /home/cpanrun/parisc2.0-lp64/build/5.8.2/man/man3/Array::AsHash::Iterator.3 Installing /home/cpanrun/parisc2.0-lp64/build/5.8.2/man/man3/Array::AsHash.3 Appending installation info to /home/cpanrun/parisc2.0-lp64/build/5.8.2/lib/5.8.2/PA-RISC2.0-thread-multi-LP64/perllocal.pod