Checking if your kit is complete... Looks good Writing Makefile for HOP::Parser cp lib/HOP/Parser.pm blib/lib/HOP/Parser.pm Manifying blib/man3/HOP::Parser.3 PERL_DL_NONLAZY=1 /Users/cpanrun/build/5.10.0/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/00-load.........1..1 # Testing HOP::Parser 0.01, Perl 5.010000, /Users/cpanrun/build/5.10.0/bin/perl ok 1 - use HOP::Parser; ok t/10-parser.......1..128 ok 1 - use HOP::Parser; ok 2 - &absorb should be exported to our namespace ok 3 - &action should be exported to our namespace ok 4 - &alternate should be exported to our namespace ok 5 - &concatenate should be exported to our namespace ok 6 - &debug should be exported to our namespace ok 7 - &End_of_Input should be exported to our namespace ok 8 - &error should be exported to our namespace ok 9 - &list_of should be exported to our namespace ok 10 - &list_values_of should be exported to our namespace ok 11 - &lookfor should be exported to our namespace ok 12 - &match should be exported to our namespace ok 13 - ¬hing should be exported to our namespace ok 14 - &null_list should be exported to our namespace ok 15 - &operator should be exported to our namespace ok 16 - &optional should be exported to our namespace ok 17 - &parser should be exported to our namespace ok 18 - &rlist_of should be exported to our namespace ok 19 - &rlist_values_of should be exported to our namespace ok 20 - &star should be exported to our namespace ok 21 - &T should be exported to our namespace ok 22 - &test should be exported to our namespace ok 23 - parser() should accept a bare block as a sub ok 24 - ... and we should be able to call the sub ok 25 - nothing() will always return "undef" for what was parsed ok 26 - ... and should return the input unaltered ok 27 - End_of_Input() should fail if data left in the stream ok 28 - ... and it should succeed if no data is left in the stream ok 29 - The null_list() parser should always succeed ok 30 - ... and return the input as the remainder ok 31 - lookfor() should return a parser which can look for tokens. ok 32 - ... and the parser will fail if the first token does not match ok 33 - The lookfor() parser should succeed if the first token matches ok 34 - ... returning what we are looking for ok 35 - ... and then the rest of the stream ok 36 - lookfor() should return a parser if we supply an array ref with a label ok 37 - ... and the parser will fail if the first token does not match ok 38 - The lookfor() parser should succeed if the first token matches ok 39 - ... returning what we are looking for ok 40 - ... and then the rest of the stream ok 41 - lookfor() should succeed if we supply an array ref with a "label => value" ok 42 - ... and the parser will fail if the first token does not match ok 43 - The lookfor() parser should succeed if the first token matches ok 44 - ... returning what we are looking for ok 45 - ... and then the rest of the stream ok 46 - lookfor() should succeed if we supply an array ref with a "label => value" ok 47 - ... and the parser will fail if the first token does not match ok 48 - The lookfor() parser should succeed if the first token matches ok 49 - ... returning the transformed value ok 50 - ... and then the rest of the stream ok 51 - ... and other transformed values should work ok 52 - ... just like we expect them to ok 53 - lookfor() should succeed with the three argument syntax ok 54 - ... and the parser will fail if the first token does not match ok 55 - The lookfor() parser should succeed if the first token matches ok 56 - ... returning the transformed value ok 57 - ... and then the rest of the stream ok 58 - ... and other transformed values should work ok 59 - ... just like we expect them to ok 60 - match() should return a parser if we supply a label ok 61 - ... and the parser will fail if the first token does not match ok 62 - The match() parser should succeed if the first token matches ok 63 - ... returning what we are looking for ok 64 - ... and then the rest of the stream ok 65 - match() should succeed if we supply a "label => value" ok 66 - ... and the parser will fail if the first token does not match ok 67 - The match() parser should succeed if the first token matches ok 68 - ... returning what we are looking for ok 69 - ... and then the rest of the stream ok 70 - We should be able to concatenate nothing ok 71 - ... and it should return an undefined parse ok 72 - ... and the input should be unchanged ok 73 - We should be able to concatenate a single parser ok 74 - ... and it should parse the stream ok 75 - ... and the input should be the rest of the stream ok 76 - We should be able to concatenate multiple parsers ok 77 - ... and it should parse the stream ok 78 - ... and the input should be the rest of the stream ok 79 - We should be able to concatenate multiple parsers ok 80 - ... but the parser should fail if the tokens do not match ok 81 - We should be able to concatenate multiple parsers ok 82 - ... and it should be able to parse the entire stream ok 83 - We should be able to alternate nothing ok 84 - ... but it should always fail ok 85 - We should be able to alternate on incorrect tokens ok 86 - ... but it should always fail ok 87 - alternate() should succeed even if one match is bad ok 88 - ... and the remainder should be the rest of the stream ok 89 - ... regardless of the order they are in ok 90 - ... and the remainder should be the rest of the stream ok 91 - ... or if they are duplicate tokens ok 92 - ... and the remainder should be the rest of the stream ok 93 - We should be able to alternate over an arbitrary amount of tokens ok 94 - ... and the remainder should be the rest of the stream ok 95 - The star() parser should always succeed ok 96 - ... and return the input as the remainder if it did not match ok 97 - The star() parser should return the first value if matched ok 98 - ... and then the remainder of the stream ok 99 - The star() parser should return all the values matched ok 100 - ... and then the remainder of the stream ok 101 - The star() parser should return all the values matched ok 102 - ... and should be able to match an entire stream ok 103 - star() be able to slurp up multiple items ok 104 - ... and return the rest of the stream ok 105 - The list_of() parser should return all the values matched ok 106 - ... and then the remainder of the stream ok 107 - The list_of() parser should be able to match just one item in a list ok 108 - ... and it should allow us to override the separator ok 109 - ... and then the remainder of the stream ok 110 - The list_values_of() parser should return all the values matched ok 111 - ... and then the remainder of the stream ok 112 - The list_values_of() parser should be able to match just one item in a list ok 113 - ... and it should allow us to override the separator ok 114 - ... and then the remainder of the stream ok 115 - The rlist_of() parser should return all the values matched ok 116 - ... and then the remainder of the stream ok 117 - The rlist_of() parser should be able to match just one item in a list ok 118 - ... and it should allow us to override the separator ok 119 - ... and then the remainder of the stream ok 120 - The rlist_values_of() parser should return all the values matched ok 121 - ... and then the remainder of the stream ok 122 - The rlist_values_of() parser should be able to match just one item in a list ok 123 - ... and it should allow us to override the separator ok 124 - ... and then the remainder of the stream ok 125 - optional() should be able to match an item ok 126 - ... but only one of that item ok 127 - optional() should mean the item is not required ok 128 - ... and we should return the stream unchanged ok t/pod-coverage....1..0 # Skip Test::Pod::Coverage 1.04 required for testing POD coverage skipped all skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/pod.............1..1 ok 1 - blib/lib/HOP/Parser.pm ok All tests successful, 1 test skipped. Files=4, Tests=130, 1 wallclock secs ( 0.43 cusr + 0.10 csys = 0.53 CPU) Installing /Users/cpanrun/build/5.10.0/html/site/lib/HOP/Parser.html Installing /Users/cpanrun/build/5.10.0/site/lib/HOP/Parser.pm Installing /Users/cpanrun/build/5.10.0/site/man/man3/HOP::Parser.3 Appending installation info to /Users/cpanrun/build/5.10.0/lib/perllocal.pod