Re: CPANifying our test framework - or parts of it
> On Sep 9, 2016, at 8:34 PM, Sam Kington <s...@illuminated.co.uk> wrote: > > How should I best extract this functionality into a proper CPAN distribution > (ideally using Test2)? I'd start with making it use Test2. Test2 covers a lot of what I see yours doing. For instance, this code: structures => [ { _hashref_contains => { structure_id => qr{^ (? STRUCT \d+ ) $}x, type => 'dolmen', material => 'concrete', # There's probably stuff about where the dolmen # was erected but we ignore that for the purpose # of this test. } } looks like it would be, roughly this in Test2 structures => array( hash => { field structure_id => match qr{^ (? STRUCT \d+ ) $}x; field type => 'dolmen', field material => 'concrete', } } -- Andy Lester => www.petdance.com
Re: Test2::Tools::Compare is vs. like
> On Jul 27, 2016, at 10:13 AM, Chad Granum <exodi...@gmail.com> wrote: > > Specifically "This will ignore hash keys or array indexes that you do not > actually specify in your $expect structure." directly documents the behavior. > Right. That is a fact that is clearly spelled out. I think it would be helpful to have something that is higher level, that explains when you use which, and examples for each. For instance, it might be something like (if my understanding is correct). my $employee = get_employee(); my $expected_employee = { name => ‘Bob’, dept => ‘IT’ }; # If you want to check the API, and ensure that get_employee() returns two and only two fields: is( get_employee(), $expected_employee ); # If you want to check that you got the right record, but don’t care if it comes back with, say, a phone_number field: like( get_employee(), $expected_employee ); Also, when do you have to use the hash/field construction system? is( $employee, { name => 'Bob', dept => 'IT' } ); like( $employee, { name => 'Bob', dept => 'IT' } ); is( $employee, hash { field name => 'Bob'; field dept => 'IT'; } ); When is it appropriate to use each of these? Is it an error to mix like() and hash()/field()? An example of calling like() on coderefs ("The same is true for coderefs, the value is passed in as the first argument (and in $_) and the sub should return a boolean value.”) would be good, too. I’d be glad to write the docs if I knew the answers to the questions and the zen of what to use when. As a newbie to Test2, I’d really like to start using it as much as possible, but I’m also afraid of screwing up existing tests because I use a new tool incorrectly. Andy -- Andy Lester => www.petdance.com
Test2::Tools::Compare is vs. like
I was going to mail this to Chad directly, but I think it’s worth airing publicly. As a newcomer to Test2, it was never clear to me until just now when to use is() or like() for deep structures. Given this code: my $errors = do_something(); is( @{$errors}, 0. ‘No errors back from do_something()’ ); # old way And the new way to check would be: is( $errors, [], ‘No errors back from do_something()’ ); It would be very easy to use this instead: like( $errors, [], ‘No errors back from do_something()’ ); And it looks like like() works just fine, but really it will pass even if $errors has something in it. is( [], [] ); # Passes like( [‘foo’], [] ); # passes but you wouldn’t expect it to. The docs say "This is the strict checker” and “This is the relaxed checker” for each of them, respectively, but I think it would be worth having something in the docs that explains the differences between the two. Anyone else have troubles with these two functions? Or other gotchas where new features aren’t what people switching from Test::More might expect? Andy -- Andy Lester => www.petdance.com
Re: Writing our own modules in Test2
> On Jun 24, 2016, at 4:41 PM, Buddy Burden <barefootco...@gmail.com> wrote: > >is_true($val); >is_false($val); > > Because with just `ok($val)` you can tell whether it's true or false, but, > when it inevitably fails, you really want to know what the bad value turned > out to be. I have a bool_eq() so you can do this: bool_eq( $want_foos, scalar @foos ); without having to do if ( $want_foos ) { ok( scalar @foos ); } else { is( scalar @foos, 0 ); } We were also writing that as is( !!$want_foos, !!(scalar @foos) ); which works, but obscures the meaning. I don’t like the name bool_eq() (“booleans are equal”) but it was the best I could come up with. -- Andy Lester => www.petdance.com
Re: Writing our own modules in Test2
> On Jun 24, 2016, at 12:57 PM, Buddy Burden <barefootco...@gmail.com> wrote: > > What sort of methods did you have in mind? I might have something to > contribute, if you would be interested in contributions. I’ve accumulated a number of test functions in our work codebase for doing what I call “expressive” tests to avoid common cut & paste. I’m using the term “expressive” for now because they’re expressing what it is you want, rather than making you write the code that explains them. For instance, instead of doing all the is( scalar @{$foo}, 0 ); # Is this an empty array? ok( scalar @{$foo} ); # Is there something in the array? I’ve been writing is_empty_array( $foo ); is_nonempty_array( $foo ); because I believe that it’s easier to read the English “is empty array” than to translate “is( scalar @{$foo}, 0 )” into that meaning. We’ve got some 1200+ .t files of 11MB so I do a lot of reading of .t files all day. Similarly: is_nonblank( $response ); is_blank( $response ); instead of ok( defined($response) ) && like( $response, qr/./ ); is( $response, ‘’ ); for the same reasons. They’re common idioms, but I’d still rather read English than Perl. Also, I see it that the fewer arguments passed around, the fewer places for mistakes. I’ve also stolen some stuff from Test::Numeric for common tests. is_integer, is_positive_integer, is_nonnegative_integer, is_even. I’ve also got things like all_keys_exist_in( \%hash, [qw( foo bar bat )] ). … Now, with Test2, my thinking on many of these changes. The odious is( scalar @{$foo}, 0 ); now becomes simply is( $foo, [] ); which may not be as Englishy as is_empty_array( $foo ) but that I am probably fine with. So, too, does something like all_keys_exist_in() become much easier to do with the new DSL in Test2. But there will still be others like it, I suspect. … I also want to have something that is an example of the Right Way To Do It that we can point at as an add-on distribution to Test2::Suite. I think that will help future Test2::Tools writers. So those are my high-level thoughts. -- Andy Lester => www.petdance.com
Re: Writing our own modules in Test2
> On Jun 24, 2016, at 12:46 AM, Chad Granum <exodi...@gmail.com> wrote: > > Is the intent that when people will create them as Test2::Tools::Whatever? > Sort of like Perl::Critic::Policy::* is done? Or are we still staying as > Test::Whatever? What about naming? Test2::Tools::Whatever? Or do we see the Test2::Tools namespace being only for “official” tools? I see three options for third parties: * Test2::Tools::Whatever * Test2::Whatever * Test::Whatever My ultimate goal here is to create a batch of convenience test methods and also have them stand as an example of a standalone third party module. -- Andy Lester => www.petdance.com
Writing our own modules in Test2
Is there a doc somewhere that explains how to write one's own test module atop Test2? I haven't found it if there is. Is the intent that when people will create them as Test2::Tools::Whatever? Sort of like Perl::Critic::Policy::* is done? Or are we still staying as Test::Whatever? Do we have an FAQ started for things like this? If not, I assume it would be good to start one, and if so, then where should I start it? -- Andy Lester => www.petdance.com
Re: interest in converting LWP / Mech hierarchy to roles?
On Feb 27, 2013, at 10:04 AM, Mark Stosberg m...@summersault.com wrote: Then you have the WWW::Mechanize sub-classes. Here's a sampling: Test::WWW::Mechanize As far as Test::WWW::Mechanize goes, I don't see that the testingness is really a role. It's really mostly a bunch of wrappers and some convenience functions. -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: interest in converting LWP / Mech hierarchy to roles?
On Feb 28, 2013, at 10:26 AM, Mark Stosberg m...@summersault.com wrote: I'd like to have a Mechanize that has both the testing functions, and also JavaScript support, which the WWW::Scripter sub-class has. Seems to me even better would be to fold WWW::Scripter's JS support into Mech itself. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Launch of site and sign ups
On Jan 18, 2013, at 5:08 AM, Mark Keating m.keat...@shadowcat.co.uk wrote: The hackathon site is up, we are looking for sponsors and attendees. What made you put it up at a new domain, rather than qa.perl.org? I was surprised. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Launch of site and sign ups
On Jan 18, 2013, at 9:22 AM, Leon Timmermans faw...@gmail.com wrote: What made you put it up at a new domain, rather than qa.perl.org? I was surprised. It seems we've been doing that since 2009 (Birmingham), Huh, so you have. I didn't realize. so I'm not really seeing your point. There was no point. I wasn't debating. It was a question, asking for information. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Testing Output and Functionality
On Apr 23, 2012, at 11:35 PM, Jed Lund wrote: that element of code? I have been hunting around CPAN for the right fit but so far I have only found STDERR/STDOUT tests or functionality tests not a way to test both results from the same method call. Sounds like you're looking for Test::Output. http://search.cpan.org/dist/Test-Output/ xoxo, Andy -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
So is there ANY legit use for use_ok()? xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
On Apr 11, 2012, at 11:33 AM, Michael G Schwern wrote: It's a convenience function so it can be more easily understood what's going on and we don't each write it a million different ways. require_ok() solves a big chunk of the problem. if( something something ) { use_ok 'Foo'; So in these cases, we're using it basically as an eval block, because a simple use Foo would be bad. What it sounds to me like is: If all you're testing is that the module loads, and it must always, then simply do a use and do without the use_ok(). In this example: BEGIN { use_ok( 'App::Ack' ); use_ok( 'App::Ack::Repository' ); use_ok( 'App::Ack::Resource' ); use_ok( 'File::Next' ); } diag( Testing App::Ack $App::Ack::VERSION, File::Next $File::Next::VERSION, Perl $], $^X ); it sounds like we're saying that the use_ok() doesn't help at all, and I might as well write use App::Ack; use App::Ack::Repository; use App::Ack::Resource; use File::Next; diag( Testing App::Ack $App::Ack::VERSION, File::Next $File::Next::VERSION, Perl $], $^X ); Agreed? xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
On Apr 11, 2012, at 3:01 PM, Aristotle Pagaltzis wrote: OK. Then how about I stick AutoBailout on CPAN with a SYNOPSIS that covers `t/00-load.t`, and then you change the `use_ok` docs to a) discourage its use and b) point to AutoBailout for `t/00-load.t` uses. Sound good? As a module author, I would not require a user to install AutoBailout.pm just to remove boilerplate in my t/00-load.t But that's just me. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
On Apr 11, 2012, at 3:38 PM, Michael Peters wrote: As a module author, I would not require a user to install AutoBailout.pm just to remove boilerplate in my t/00-load.t With the test_requires stuff they won't have to. It will only be used for testing and not installed permanently on their system. test_requires is Module::Build only, right? I don't use Module::Build. Even if I did, I don't think I'd require the user to go through a download and temporary build of AutoBailout.pm just to remove boilerplate. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
On Apr 11, 2012, at 5:48 PM, Aristotle Pagaltzis wrote: The stop energy he is throwing at it has no substantive reason so far, only “I don’t care for this”. No, no, no, I'm sorry, I didn't mean to make it sound like You shouldn't do this module. No stop energy intended. I just wanted to provide a counter viewpoint from a potential customer. I don't want to have another module prereq. I'd probably just do the cut paste into my t/00-load.t. Carry on! xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Revert use_ok() change to allow lexical effects?
On Apr 10, 2012, at 4:59 PM, Leon Timmermans wrote: If it fails, the module may not be loaded, or partially loaded. In such circumstances, testing the rest of the code can give very confusing results. It doesn't make sense to continue testing usually. It seems that use_ok() ought to die if it fails. But then we might as well not wrap our use in use_ok(). Is there a case when we DO want to use use_ok()? xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Perl QA Hackathon: What was accomplished?
On Apr 6, 2012, at 7:46 PM, James E Keenan wrote: Could someone post a summary of what was done/not done at this year's QA hackathon in Paris (http://2012.qa-hackathon.org/qa2012)? I've posted a couple of links on @perlbuzz already. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: An --exclude parameter for prove?
On Oct 24, 2011, at 12:46 PM, Jon Hermansen wrote: I was going to suggest just using find(1) to pass the list of test directories to prove. You should be able to do something like this from a shell: Before there was prove, the way we ran tests was to either run make test or use find to create a list of files to pass to perl -MTest::Harness blah blah blah. I created prove because I was tired of doing it that way. I had a common task that needed a short way to do it, so I wrote prove. If we have tools at our disposal, and they can be improved, then lets do that, rather than saying to just do this workaround. If we always took that approach, then we would never have prove in the first place. xoxo, Andy -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Releasing Test::Harness 3.22
I know that there is stuff that is pending, questions to be answered about something in the T::H toolchain. Is there anything in there that precludes Andy releasing a version of T::H now? I've got projects depending on patches I submitted a couple of weeks ago, and it would be swell if they could go live. xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
prove --ext=.this --ext=.that
I'm currently working on a patch to allow multiple --ext arguments. Without it, I won't be able to run multiple test types at once, even with differing SourceHandlers. Also, I really do like the user-facing side of the SourceHandlers. I think I'm going to steal a lot of it for ack 2.0. xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
prove --ext=@s
Can we discuss the ways that we might get prove to recognize more than one extension? Right now, I can say prove --ext=.phpt --exec=/usr/local/bin/php but I can't say prove --ext=.phpt --ext=.t --exec=/usr/local/bin/my-test-dispatcher Or even better prove --ext=.t=/usr/local/bin/perl --ext=.phpt=/usr/local/bin/php The ability to run .t and .phpt tests is a Big Deal to me here at work, and is something that hss never worked since I originally ported our test script smoke to be the generic prove we know today. Now, we're trying to fold back, but this feature missing makes those I'd convert to prove very sad. xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: prove --ext=@s
On Jul 15, 2010, at 11:26 AM, Matt Heusser wrote: Is there a way to do prove -dont-actualy-execute-anything-just-input --file pregeneratedTAPinput.txt ? I just want the summary features. prove --exec=/bin/cat tap.txt -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: prove --ext=@s
prove --ext=.phpt --ext=.t --exec=/usr/local/bin/my-test-dispatcher Isn't that just --- a/lib/App/Prove.pm +++ b/lib/App/Prove.pm @@ -214,7 +214,7 @@ sub process_args { 'count!' = \$self-{show_count}, 'c'= \$self-{color}, 'D|dry'= \$self-{dry}, -'ext=s'= \$self-{extension}, +'ext=s+' = \$self-{extension}, 'harness=s'= \$self-{harness}, 'ignore-exit' = \$self-{ignore_exit}, 'source=s@'= $self-{sources}, Might be that simple, but I don't know the guts of prove any more. That's why I asked. I didn't want to make this a CYJ. But then you'll need to write a PHP handler. Brief intro: http://www.justatheory.com/computers/programming/perl/tap-parser-sourcehandler.html And that's fine, I don't mind doing that. I wrote a Test::Harness::PHP for the old 2.x one. But yeah, if this is just a matter of 'ext=s+', then who can make that change and push it out? xoa -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: prove --ext=@s
Might be that simple, but I don't know the guts of prove any more. That's why I asked. I didn't want to make this a CYJ. Camp Young Judea??? CYJ = Can't You Just... which is rarely so simple. http://xoa.petdance.com/Can%27t_you_just...%3F I don't think that will do what you want if your test scripts are in other languages. The thing to do would be to implement TAP::Parser::SourceHandler::PHP and release it on CPAN -- or contribute it to Test::Harness, if there's interest in it (I leave that to Andy A. and Steve P.). I've got a dispatch script that runs either .t under perl or .phpt under PHP. Basically I've been running: prove --exec='/home/alester/smoke/bin/smoke-dispatch' --ext=.t and it's been just fine. It just never gets called by anything other than only .t or only .phpt in the same run -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: prove --ext=@s
On Jul 15, 2010, at 12:29 PM, David E. Wheeler wrote: So try my patch and see if it works for you. Of course not, because the syntax you meant was s@, not s+. But even bigger, nothing in T::H is prepared for multiple extensions. Doing your patch as a CYJ-change-it-to-S@ breaks everything because now we're passing around an array ref. But I'm working on the guts to handle it all. My concern was not about handling command line arguments, but about all the internals, and what I might break that is some sort of defined API that I don't know about. xoa -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
SourceHandlers
This whole SourceHandler looks much more like the Right Way To Do It. I wish Mr. Armstrong were around for discussion. xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Fwd: CPAN Upload: P/PE/PETDANCE/Test-WWW-Mechanize-1.26.tar.gz
file: $CPAN/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.26.tar.gz size: 18547 bytes md5: acc3973cf1f688ebfe761cbe4a523ad1 1.26Mon Apr 5 00:54:46 CDT 2010 [FIXED] Description of error in $mech-content_unlike() was wrong. Now requires Test::LongString 0.12. t/put_ok.t now passes, but with a handful of warnings. Help in figuring out why would be appreciated. [INTERNALS] Hoisted common code out of get_ok, post_ok, etc. [DOCUMENTATION] Updated copyright and licensing information. -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
done_testing() and test counts
I'm so glad for done_testing(). I don't like no_plan, but done_testing() makes it better. I was surprised/confused to see this behavior: $ cat foo.t use Test::More tests = 14; ok( 1 ); done_testing(); $ prove -v foo.t [13:55:39] foo.t .. 1..14 ok 1 not ok 2 - planned to run 14 but done_testing() expects 1 # Failed test 'planned to run 14 but done_testing() expects 1' # at /usr/lib/perl5/5.8.8/Test/More.pm line 220. # Looks like you planned 14 tests but ran 2. # Looks like you failed 1 test of 2 run. Dubious, test returned 1 (wstat 256, 0x100) Failed 13/14 subtests [13:55:39] Test Summary Report --- foo.t (Wstat: 256 Tests: 2 Failed: 1) Failed test: 2 Non-zero exit status: 1 Parse errors: Bad plan. You planned 14 tests but ran 2. Files=1, Tests=2, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.02 cusr 0.01 csys = 0.07 CPU) Result: FAIL Looks like you failed 1 test of 2 run. I guess that it's counting done_testing() as a test in itself, but that doesn't seem to be right. Is that intentional? xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: done_testing() and test counts
On Jun 9, 2009, at 2:57 PM, Michael G Schwern wrote: use Test::More tests = 14; ok( 1 ); done_testing(); You would try that. :P It's not that I tried it, it's that I didn't know what would happen if I did both together, because it wasn't clear to me up front if done_testing() replaced no_plan or worked with it. xoa -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Fwd: Test::Harness::TAP included in the Softpedia Linux software database
Just received this, not that it's one of [my] products. :-) xoa Begin forwarded message: From: Softpedia Editorial Team linuxedi...@softpedia.com Date: May 22, 2009 3:11:01 PM CDT To: a...@petdance.com Subject: Test::Harness::TAP included in the Softpedia Linux software database Congratulations, Test::Harness::TAP, one of your products, has been added to Softpedia's database of software programs for Linux. It is featured with a description text, screenshots, download links and technical details on this page: http://linux.softpedia.com/get/Programming/Widgets/Perl-Modules/Test-Harness-TAP-47830.shtml The description text was created by our editors, using sources such as text from your product's homepage, information from its help system, the PAD file (if available) and the editor's own opinions on the program itself. If you feel that having your product listed on Softpedia is not a benefit for you or simply need something changed or updated, please contact us via email at webmas...@softpedia.com and we will work with you to fix any problem you may have found with the product's listing. -- Sincerely, The Softpedia Team --- Softpedia is a library of over 400,000 free and free-to-try software programs for Windows, Mac OS and Linux, games and gaming tools, Windows device drivers, mobile devices and IT-related articles. --- Softpedia - the encyclopedia of free software downloads http://www.softpedia.com/ -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: Continuous Integration for Perl
On Apr 21, 2009, at 9:29 AM, Elizabeth Cortell wrote: I do just this. As part of a CI/test framework for my $job, I've written a script that runs a given suite then uploads to Smolder. I pull over the most recent svn changes with one cron job, then run the various suites against the changes with another. Works like a charm. If you would like to examine the script as an example to work from, contact me off list. I have something called smolderbot that I threw together that does the same thing. I'm sure I could post it if wanted. But the short answer seems to be no, there's nothing that is general purpose enough for what you want. Maybe something like CruiseControl will do it, I don't know. xoxo, Andy -- Andy Lester = a...@petdance.com = www.theworkinggeek.com = AIM:petdance
Re: Counting tests, vi vs. emacs, and abortion
How about we put up a page somewhere that discusses the pros and cons of counting tests, and then whenever the quarterly discussion of LOLZ YOU ARE COUNTING YOUR TESTZ FOR NO REASON! vs. YOU DON'T KNOW WHAT HAPPENS WITHOUT A PLAN N00B! rears its head, we can refer people there. Some people see great value in plans. Some people don't. Each group has valid reasons for their choices. Fortunately, Test::* handle both. If anything new has been said about the value of plans vs. no plans has been said in the past five years, I will eat this pad of Post-Its. Love and kisses, Andy -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Counting tests, vi vs. emacs, and abortion
On Mar 16, 2009, at 6:25 PM, Michael G Schwern wrote: Ok, write it. Fair enough. http://www.perlfoundation.org/perl5/index.cgi? test_counts is the start. I don't mean to stomp on new discussion, just the rehashing of the old. My apologies if my skimming of the thread conflated the two. xoxo, Andy -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Fwd: Non-Perl TAP
Should someone other than me be owning and maintaining TAP.pm? And if so, here's something to go in. xoa Begin forwarded message: From: Frank van Dijk taps.test...@gmail.com Date: February 24, 2009 2:13:03 PM CST To: a...@petdance.com Subject: Non-Perl TAP hi I see you have a list of non-Perl tools that generate TAP on your TAP definition page on CPAN (http://search.cpan.org/~petdance/TAP-1.00/TAP.pm ). I just released a tool for .NET that uses Test::More-like methods for defining tests and produces TAP output. It can be driven by TAP::Harness. The project home is at http://code.google.com/p/taps-testing . Would you consider adding it to the list ? If you would, you would probably want a short description of the tool, like: Taps is a test tool for the .NET framework. Taps compiles C# test scripts on the fly and runs them. The output of the scripts conforms to the TAP protocol. The set of test functions available to the test scripts is inspired on the Test::More module. Some features of Taps: - Allows a test script to run tests in multiple threads - Does deep comparison of complex data structures and if they are not equal outputs them annotated with a clear path to the differing item - Has multiple output modes: YAML, msbuild-friendly, terse - Supports testing of internal classes and methods The project home is at http://code.google.com/p/taps-testing. Thanks in advance and thanks for your time. -- cheers, Frank van Dijk -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Perl 6 and Test.pm's skip() function
On Jan 22, 2009, at 1:27 PM, Eric Wilhelm wrote: I personally use no_plan only because I can't be bothered to manually count things and don't want to assume that the number of tests run on *my* computer is somehow a universal constant. I'm glad you find no_plan useful. Many others do as well. I use plans consistently, and have written a policy in Perl::Critic::Bangs that checks for no_plan (I think that's where I put it) and flags it as an error. The assumptions you're talking about are not assumptions. They are well-worn tenets of TAP and Perl testing that many people use and rely on. xoa -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Perl 6 and Test.pm's skip() function
On Jan 22, 2009, at 1:34 PM, Eric Wilhelm wrote: I personally use no_plan only because I can't be bothered to manually count things and don't want to assume that the number of tests run on *my* computer is somehow a universal constant. I'm glad you find no_plan useful. Many others do as well. Perhaps I'm being unclear. I do not find either 'no_plan' or 'plan' to be useful in their current state. Yes, but many others do. -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Re: Let us stop rehashing plans
Please, can we stop going over plans again? Every minute spent yapping about whether plans are good or not is a minute that could be spent doing something useful, like working on Test.pm for Perl 6. This has come up a few times a year for the last five years at least, and I am not exaggerating. The horse is dead. Also, Hitler. xoxo, Andy -- Andy Lester = a...@petdance.com = www.petdance.com = AIM:petdance
Hooray for the new CPAN Testers
The daily email is fantastic. So much easier to read, to see what is good and what isn't, and to ignore what I don't care about (Yes, I know I can turn off specific platforms and distros too) Thanks very much to all of you. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Public Humiliation and Kwalitee
On Oct 28, 2008, at 1:09 PM, Salve J Nilsen wrote: Feel free to suggest a better title. (I won't, because I think there's a motivational value in keeping it as it is. Salve, I have to ask you to please look at CPANTS and this discussion in general from eyes other than your own. Your derision as newspeak of what many others see as basic civility isn't helping any. It's clear that you don't care about how people feel, but the vast majority of people are very concerned with how they feel and how they are treated. Many of us are very concerned with how volunteers are treated, because we'd like to keep them around as volunteers. Aside from that, I have to ask what motivational value you see in having a Hall Of Shame under any name. Please describe what scenario you see such that this Hall of Shame will have any effect whatsoever on the Kwalitee of work generated. Do you imagine that an author of a low-Kwalitee module is going to stumble upon the list and see his or her module on it? The chances of that are miniscule. Do you imagine that an author of a low-Kwalitee module, upon seeing his or her module on the list, is going to go and modify the distribution? The chances of that are miniscule * tiny. Most of all, what problem are you trying to solve? I suggest that low- Kwalitee modules on the CPAN pose no problem whatsoever. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Public Humiliation and Kwalitee (was Re: Tested File-Find-Object-0.1.1 with Class::Accessor not installed)
On Oct 23, 2008, at 12:37 PM, chromatic wrote: I don't care about backchannel communication between other authors and CPAN Testers, but how can you blame Shlomi for thinking that public humiliation isn't a vital component of Kwalitee? There's prior art: http://cpants.perl.org/highscores/hall_of_shame A beautiful point, sir. I kiss you! -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Public Humiliation and Kwalitee (was Re: Tested File-Find-Object-0.1.1 with Class::Accessor not installed)
On Oct 23, 2008, at 1:25 PM, Yitzchak Scott-Thoennes wrote: http://cpants.perl.org/highscores/hall_of_shame That looks sorted by kwalitee and author. If we're shaming people, author name shouldn't be a factor. Could it be by kwalitee and most recent release date instead? How about not showing it at all? What's the intent of having something called the Hall Of Shame? Who should feel shame? Is that what you want to tell people who might upload to CPAN? Oh, by the way, we might point out that we have decided your distro sucks. Really, does anyone think these ideas through? -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: What do you want? (was Re: The relation between CPAN Testers and quality)
I'd hate to lose those in my email because other people don't want to filter their mail. I'd hate to get spammed because other people don't want to sign up to receive them. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
Here are test reports reporting on failures for these things that we care about you caring about. Again, this is CPANTS, not CPAN Testers. Getting failure reports for a module not running on Perl 5.005 is a test about something I don't care about. I don't give Shit One if my code runs on 5.005, and yet, I've had failures for them. Maybe you should add a co-maintainer. Your responsibility as an author is to... These are not in test reports. They were in this thread. And they're suggestions to you. Do what you want with them. And yet they're encapsulations of this entire problem. It's unsolicited advice. You should make your code handle 5.005. You should have checks for such-and-such a platform. Who is anyone to say? There is far too much bile floating in this thread considering that I believe we all have a shared interest in the quality of our code. That quality slider is long and multidirectional. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
Well, yeah, I have too. And sometimes I make a tweak to get things working on 5.005, and other times I tell my users that it runs 5.006 or later by saying so in Build.PL. Seems reasonable to me to specify such dependencies. Seems reasonable to me is EXACTLY my frustration. That is YOUR standard that YOU are specifying. How about if I start sending email to everyone, whether they want it or not, if their code doesn't run under -T checking? It seems reasonable to me that it should. those of us interested in quality hope you'll tell your users about a Perl version dependency, but no one is demanding anything. And you will spam me if I don't provide that dependency. This is beyond me and my frustration about getting worthless emails. It is about the presumption of telling CPAN authors what they can upload. No, we're not preventing people from uploading anything, but we're punishing them for not bending to the whims of the CPAN Testers ideals. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: What do you want? (was Re: The relation between CPAN Testers and quality)
On Sep 5, 2008, at 12:46 PM, brian d foy wrote: You keep saying spam, but that's not the right term. You're being an ass characterizing it like that. I knew before even opening this mail that it would contain a personal attack. Why is it necessary to insult people who have different opinions? -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
On Sep 5, 2008, at 12:24 PM, David E. Wheeler wrote: Punishing? Punishing would be removing a module from CPAN. Getting fail report emails is annoying and should be changed to be opt-in. Would that solve your problem? One person's annoying is another person's punishment. The key here is that my reward for uploading to CPAN is to get mass unsolicited email, unless my upload conforms to some arbitrary standard that I was not informed of in advance. Where's the warning on the front page of PAUSE saying Your upload had better match certain criteria or else we will send you mass email about it? Am I the only one looking at this from the point of view of others? xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
On Sep 5, 2008, at 12:24 PM, David E. Wheeler wrote: Getting fail report emails is annoying and should be changed to be opt-in. Would that solve your problem? Oh, and yes. Once we stop spamming people, CPAN Testers then becomes the Consumer Reports model, not the police model. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: What do you want? (was Re: The relation between CPAN Testers and quality)
On Sep 5, 2008, at 1:36 PM, David Golden wrote: I will be changing Test::Reporter to stop all author CC'ing which will take effect when/if we convince existing testers to upgrade. Thank you, sir. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: s/FAIL/welcome basket/
On Sep 5, 2008, at 8:15 PM, Eric Wilhelm wrote: You know, a hello that doesn't start with FAIL! Yes, beautiful. We need to remember that not everyone is a grizzled veteran. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: s/FAIL/welcome basket/
On Sep 5, 2008, at 10:19 PM, David Golden wrote: You know, a hello that doesn't start with FAIL! Unless the result is 11 FAILs. ;-) An author welcome with resources is probably best handled by PAUSE, not CPAN Testers. Why not? A one-time Hi, we're watching your code, and if you'd like to follow our monitoring of your code, go here, and if you want messages all the time, you can do such-and-such. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
On Sep 4, 2008, at 10:30 AM, Greg Sabino Mullane wrote: So the more successful CPAN Testers is in attracting new testers, the more duplicate FAIL reports authors are likely to receive, which makes them less likely to pay attention to them. Sorry, but paying attention is the author's job. A fail is something that should be fixed, period, regardless of the number of them. According to who? Who's to say what my job as an author is? -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
On Sep 4, 2008, at 12:50 PM, David Cantrell wrote: I fail to understand ... that much is obvious And here we have the core problem. chromatic, among others, have expressed frustration about CPAN Testers. The reaction has never been positive. Here, chromatic is insulted for simply saying I would like it if... -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The relation between CPAN Testers and quality (or why CPAN Testers sucks if you don't need it)
On Sep 4, 2008, at 2:11 PM, Andrew Moore wrote: Do these two things help make the CPAN Testers stuff more useful or at least less annoying for you? The only thing that will make CPAN Testers less annoying at this point is if I am ASKED WHAT I WANT, instead of being told Here's what we're doing and dammit, you should like it! It is a problem of attitude. Who is serving who? Who is the customer? xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: What do you want? (was Re: The relation between CPAN Testers and quality)
On Sep 4, 2008, at 2:27 PM, David Golden wrote: I'm not being snide. I've heard what you don't want. I hope that you see that there is interest in making things better. In no particular order: I want nothing in my inbox that I have not explicitly requested. I want to choose how I get reports, if at all, and at what frequency. I want aggregation of reports, so that when I send out a module with a missing dependency in the Makefile.PL, I don't get a dozen failures in a day. (Related, but not a want of mine, it could aggregate by platform so I could see if I had patterns of failure in my code). I want to be able to sign up for some of this, some of that, on some of those platforms. I want suggestions, not mandates, in how I might improve my code. I want explanations on my CPAN Testers dashboard that explains why I would be interested in having such-and-such an option checked on my distributions. See how the Perl::Critic policies have explanations of the problem, and why it can be a problem, in the docs for the code. I want CPAN Testers to be as flexible as Perl::Critic, and even easier to do that flexing. I want the understanding that not everyone shares the same coding ideals. I want to select what kwalitee benchmarks I choose my code to be verified under, so that I can proudly say My modules meet these criteria across these platforms. I want a couple dozen checkboxes of things that could be checked where I say All my modules had better match test X, Y and Z, and these specific modules had also better past A, B and C, too. I want easily selected Kwalitee settings which group together options. Slacker level means you pass these 10 tests, and Lifeguard level means you are Slacker + these other 15 tests, and Stringent level means something else, all the way up to Super Duper Batshit Crazy Anal Perfection level. I want CPAN Testers to do what I can not easily do, which is test my code on other platforms on other versions of Perl. I do NOT want CPAN Testers to do what I could easily do if I wanted, but do not, which is run tests that I don't care about. I want CPAN Testers to be a service where people say Hey, have you seen CPAN Testers? You've got to check it out, it will help out your code so much and then they tell their friends and they tell their friends, and passing a certain batter of CPAN Testers tests consistently is a badge of honor. I want the Ruby guys go holy shit, I wish we had something like that. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: cpantesters - why exit(0)?
On Sep 2, 2008, at 2:55 PM, David Cantrell wrote: Helpful hint: there's a difference between getting your name listed on an obscure web page and a reward. A reward would be something like a bar of chocolate, or a pay rise. Depends on who you are. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
I Want to ignore cpan-testers
Can the cpan-testers please get a dedicated list that is not perl-qa? It's frustrating that so much of the perl-qa traffic is about CPAN Testers, a project that I'm not particularly interested in because they are not at all interested in me. Thanks, xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: I Want to ignore cpan-testers
On Sep 2, 2008, at 3:41 PM, David Cantrell wrote: Can the cpan-testers please get a dedicated list that is not perl-qa? It's called [EMAIL PROTECTED] That's great. So can this all be taken over there, please? Thanks, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: I Want to Believe in the CPAN (was Re: cpantesters - why exit(0)?)
On Sep 2, 2008, at 4:23 PM, chromatic wrote: Changing the way some 6000 registered authors work to meet the needs of one particular domain purportedly for their benefit seems to be the wrong way around, at least to me. Does anyone on CPAN Testers have any idea what their constituencies want? Nobody has EVER come to me and said What would you like us to do for you? I just get mail complaining that (for example) my modules don't run under Perl 5.6.1 because I don't specifically protect against running under Perl 5.6.1. Also, as far as I know, CPAN Testers has never asked the readers of the CPAN Testers or search.cpan.org What would you like us to do for you? The features in CPAN Testers are 100% self-created dogma. Has anyone outside of CPAN Testers asked for my modules to complain if you try to install them under Perl 5.6.1? Ever? I'm not against the idea of CPAN Testers. I'm really not. What's frustrating is that as far as I can tell, the efforts of CPAN Testers are entirely self-serving. They are for the benefit and pleasure of the people running CPAN Testers itself, not for either of its purported constituencies. As it stands now, can someone explain to me why I shouldn't ask Graham to remove the link to CPAN Testers from my search.cpan.org pages because it's useless noisy spam? I see CPAN Testers being like Consumer Reports magazine. It doesn't have to be on the side of the makers of the products, but it has a readership that tells it This is what I'm interested in. CPAN Testers could be a real voice for the user. It could find out, a la Consumer Reports, that people are most frustrated with such-and- such, and these 10 modules are the best in that, and these 10 are the worst. THAT would be something. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: I Want to Believe in the CPAN (was Re: cpantesters - why exit(0)?)
On Sep 2, 2008, at 7:44 PM, Aristotle Pagaltzis wrote: Seriously? First you say you want them to play in their own sandbox, then you say they’ve never asked anyone? Yes, both of those are true. Posting to a mailing list about how CPAN Testers' internals works is not at all the same as reaching out to the base of users and authors about what CPAN Testers should be, to find out if it's useful. Certainly when I've said I find certain aspects of it unuseful I've been told I was wrong. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Test::Harness Output Change
On Aug 21, 2008, at 4:36 AM, Ovid wrote: Why? If we want other extensions, stripping them is probably bad. We definitely want other extensions. I have a pending project that relies on running .t and .phpt next to each other. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: $builder-start_todo
On Jul 29, 2008, at 10:21 AM, Ovid wrote: [1] http://search.cpan.org/~avar/Test.php-0.12/Test.php Holy crap. I didn't know we had PHP code on the CPAN :) Yeah, and I wrote it. Or at least an early version of this module that we used at FLR. This and prove are what came out of my great I want to use Perl stuff to test my PHP code push a few years ago. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: $builder-start_todo
On Jul 29, 2008, at 10:28 AM, Andy Armstrong wrote: Ævar should add you to the credits then. He may have created it his version on his own, for all I know. It's certainly more featureful than the one I wrote which only had ok, pass, fail, skip, is, isnt, isa_ok, like, unlike and diag. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Drizzle colonization
Drizzle is the new fork of MySQL that removes many many features to save weight, but is still able to handle concurrent users unlike SQLite. http://developers.slashdot.org/developers/08/07/23/1234203.shtml The current MySQL testing system is done like PHP: Programs create big ugly files and then they get diffed. No granularity. I'm going to convert them to emit TAP, so we can use Test::Harness and other standard tools to analyze the results. The colonization continues. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: counting usage, not downloads
On Jul 6, 2008, at 11:34 AM, Eric Wilhelm wrote: How would that be more useful that counting how much actual code actually loads the module? FWIW, my line of thinking has nothing to do with how many people are downloading or installing a module as an indicator of quality. I'm far more interested in human commentary. Counts of who uses a given product puts the Britney Spears as the highest quality musical artist. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: The Definitive CPANTs Summary
On Jul 1, 2008, at 3:29 AM, Ovid wrote: 1. CPANTs was not only fun, but it was (and is) helpful. 2. Non-kwalitee metrics crept in. 3. Some people are upset about gaming. 4. Some people love gaming. 5. Many people can reasonably disagree on what value means. Note that nowhere in here does the word user appear. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: About tidying up Kwalitee metrics
On Jun 30, 2008, at 1:08 AM, Jonathan Rockway wrote: Why is the opinion of someone with no ties to the community considered relevant enough to show in the search.cpan search results? Why do you think the opinion of someone with ties to the community (however THAT is defined) is more relevant than someone who doesn't? Our little echo chamber is not some hallowed hall that indicates programming wisdom. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: CPAN Ratings and the problem of choice
On Jun 30, 2008, at 12:30 PM, Eric Wilhelm wrote: - I don't think I have anything to contribute. Perhaps something similar to debian's popcon would allow some basic statistics to be accumulated without requiring much effort. One metric would be how many clients have installed the dist (e.g. a hook in the cpan client or a nightly/weekly crawl of @INC.) As an aside, all of this is what we're talking about over on rethinking-cpan. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: great search.cpan.org ideas
On Jun 30, 2008, at 8:46 PM, Eric Wilhelm wrote: All suggestions involving search.cpan.org fall in the category that nobody can *do* anything about (except asking Graham Barr to do it.) Right. Which is another reason I've started up rethinking-cpan. I'm going to be more stuff on that so that I am prepped for OSCON BOFing on it. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Proposed (optional) kwalitee metric; use re 'taint'
On Jun 24, 2008, at 11:41 AM, brian d foy wrote: Yes, those metrics are telling you how to write your code and I wish they weren't part of CPANTS either. And all of this again points out that CPANTS is not really aimed at anyone but the CPANTS test crew. You know what'd be swell? If CPANTS let us create profiles so we could say I care about this, I don't care about that. To me, the re 'taint' data point is a pretty cool idea, but that's just 'cause I love taint. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Baffling cluelessness
http://binstock.blogspot.com/2008/05/is-popularity-of-unit-tests-waning.html Most notable: Few OSS products. Except for the xUnit frameworks themselves, few FOSS tools for unit testing have been adopted. The innovative Jester project, which built a tool that looked for untested or poorly tested logic, essentially stopped development a long time ago because to quote the founder, Ivan Moore, in a comment to me so few sites are into unit testing enough to care about perfecting their tests. Maybe he can't look beyond Java? xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Changing the focus of the chronic CPAN problem
I'd like to have a discussion about rethinking the How do I do what I want to do? problem that people have been discussing, and that I talked about here: http://perlbuzz.com/2008/04/rethinking-the-interface-to-cpan.html I've started a separate group, away from here, to discuss. http://groups.google.com/group/rethinking-cpan I welcome your thoughts, discussions, and ideas. Thanks, xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Idea: CPAN Category Reviews
On Apr 5, 2008, at 6:02 AM, Shlomi Fish wrote: Hi all! In regards to the previous discussion about trimming down CPAN and finding better ways to find quality modules, I got an idea of making CPAN category reviews. The idea was originally derived from Freshmeat.net where they often have category reviews of the various software hosted there: This is something I sort of started doing on perl101.org. How do I parse XML? Use this module etc Your idea is a bigger better expansion of that. However, my concern is that discussion has turned down the road of where the reviews will live, what formats they'll be kept in, etc etc etc. These are all technical issues and are the least of your concerns. Like most projects of any size, the technical aspect is at most half of the problem. The rest is the human side. Who is going to write these reviews? Where do you expect them to come from? Will they be posted by whoever wants to post them? Will there be some sort of editorial oversight? What are the categories? Who decides what the categories are? Do the modules get starred reviews? How will differences of opinion be handled? Whenever I'm faced with this sort of requirements gathering, I find it useful to come up with a mockup of what a screen might look like. Your list of OOP modules is a good start, but there's room for expansion. A full-blown HTML page mockup of what cpanreviews.shlomi.com could be will help others visualize what you're discussing. $picture == @words[0..999]. I think it's far more useful to talk about these human issues first. The technical answers will fall out of the requirements that get created. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Changing the focus of the chronic CPAN problem
Every so often, an idea's like Shlomi's comes up, where we talk about adding reviews to CPAN, or reorganizing the categories, or any number of relatively easy-to-implement tasks. It's a good idea, but it's focused too tightly. What we're really trying to do is not provide reviews, but help with the selection process. ** We want to help the user find and select the best tool for the job. ** It might involve showing the user the bug queue; or a list of reviews; or an average star rating. But ultimately, the goal is to let any person with a given problem find and select a solution. I want to parse XML, what should I use? XML::Parser? XML::Simple? XML::Twig? If parse XML really means find a single tag out of a big order file my boss gave me, the answer might well be a regex, no? In my day job, I work for Follett Library Resources and Book Wholesalers, Inc. We are basically the Amazon.com for the school public library markets, respectively. The key feature to the website is not ordering, but in helping librarians decide what books they should buy for their libraries. Imagine you have an elementary school library, and $10,000 in book budget for the year. What books do you buy? Our website is geared to making that happen. Part of this is technical solutions. We have effective keyword searching, so you can search for horses and get books about horses. Part of it is filtering, like I want books for this grade level, and that have been positively reviewed in at least two journals, in addition to plain ol' keyword searching. Part of it is showing book covers, and reprinting reviews from journals. (If anyone's interested in specifics, let me know and I can probably get you some screenshots and/or guest access.) BWI takes it even farther. There's an entire department called Collection Development where librarians select books, CDs DVDs to recommend to the librarians. The recommendations could be based on choices made by the CollDev staff directly. They could be compiled from awards lists (Caldecott, Newbery) or state lists (the Texas Bluebonnet Awards, for example). Whatever the source, they help solve the customer's problem of I need to buy some books, what's good? This is no small part of the business. The websites for the two companies are key differentiators in the marketplace. Specifically, they raise the company's level of service from simply providing an item to purchase to actually helping the customer do her/his job. Ultimately, I think this is where all how do we make CPAN easier to use discussions are leading. The focus needs to change from the tactical (Let's have reviews) to the strategic (How do we get the proper modules/solutions in the hands of the users that want them.) -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Changing the focus of the chronic CPAN problem
On Apr 5, 2008, at 1:34 PM, Shlomi Fish wrote: Thanks for the comments. See below for my response. It will be a rather stream-of-consciousness thing, but I hope something can come up of it. I've expanded my original comments here: http://perlbuzz.com/2008/04/rethinking-the-interface-to-cpan.html xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
cpan-testers in the inbox
http://log.perl.org/2008/02/no-more-email-d.html Well I guess that settles that. :) xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Find all the modules 'use'd in a directory
On Feb 7, 2008, at 8:22 PM, Matisse Enzer wrote: I only care about modules loaded via 'use' for now - that's Good Enough (tm) for our purposes. First, install ack, either installing App::Ack or downloading the standalone version from http://petdance.com/ack/ Then: $ ack -h '^use\s+(\S+);' --output=$1 || sort -u -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Find all the modules 'use'd in a directory
On Feb 7, 2008, at 8:28 PM, Andy Armstrong wrote: ack -h '^use\s+\w+' | perl -pe 's/^use\s+(\w+(?:::\w+)*).*/$1/' | sort -u Great minds think alike, except that you don't need to be doing that Perl stuff. The --output flag for ack is your friend. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Find all the modules 'use'd in a directory
On Feb 7, 2008, at 8:40 PM, Matisse Enzer wrote: Here's the command line that seems to work for me: ack -h '^use\s+(\S+);' --output='$1' | sort -u Yes, but that assumes that they'll be of the form use Foo::Bar; but what if you have use Foo::Bar 'baz'; or use Foo::Bar qw( baz quux ); My regex will miss those latter two. Mr. Armstrong's regex is safer. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Testing on live systems
A cautionary tale of why we must be very careful doing tests against live systems. http://thedailywtf.com/Articles/Ive-Got-The-Monkey-Now.aspx -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: demining
My personal favorite... rats! http://www.apopo.org/ No discussion of minesweeping may omit Minesweeper: The Movie. http://www.collegehumor.com/video:1770138 -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Stateful prove
On Nov 29, 2007, at 10:22 AM, Andy Armstrong wrote: prove --shuffle=$seed Or perhaps App::Prove can cache the last random seed used and use that if someone wants to repeat the last shuffle: prove --last-shuffle Good call. I'll do that too then. I really really really don't like the idea of basing it on a given seed. I want to be able to know state about the tests that have run, the order they were in, etc, without having to go through prove to generate the sequence for me. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Stateful prove
On Nov 29, 2007, at 11:30 AM, Andy Armstrong wrote: I really really really don't like the idea of basing it on a given seed. I want to be able to know state about the tests that have run, the order they were in, etc, without having to go through prove to generate the sequence for me. My plan is to record the order in which the tests were most recently run and to be able to use that as the order this time too. That OK? Yes, thank you. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Providing command-line arguments to tests run via 'prove'
I wonder if all of these different features for *running* tests should go into modules that play together nicely and compose in such a way that writing our own individual runner scripts is as easy as using Test::Builder is. Agreed. We've got this brand new flexible parser doodad, and we're still working on making a monolithic prove. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Providing command-line arguments to tests run via 'prove'
On Nov 28, 2007, at 2:44 PM, chromatic wrote: Could we not add a feature to prove and/or runtests such that, any arguments after a bare -- will be passed on to the scripts it runs? I've often wanted this myself, and --exec seems like overkill to me. Seconded. My only request would be that we not overload the meaning of --. I could easily see, though: prove -v t/ --testargs --db=test which would be less ambiguous than prove -v t/ -- --db=test My only concern about any of this is that it opens the door for the I want to pass different arguments to different tests -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Providing command-line arguments to tests run via 'prove'
On Nov 28, 2007, at 3:02 PM, Andy Armstrong wrote: prove -v t/fetch.t http://example.com would attempt to run a test called http://example.com;. So you do need some, ideally shell safe, marker that tells prove where to stop. Which is why I said --testargs prove -v t/fetch.t --testargs http://wakeupandya.com/ xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Providing command-line arguments to tests run via 'prove'
As much as I like the non-quotedness of the -- or --testargs idea, I really think it needs to be --testargs='--foo --bar'. I realize 3.04 is out there right now, but I think that it's not too late to change. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: BackPAN mirror owners: please delete Finance::FuturesQuote
On Tue, Nov 27, 2007 at 11:31:53AM -0600, Jonathan Rockway ([EMAIL PROTECTED]) wrote: Would you also distribute a module which effectively performed a DoS against search.cpan.org and *.perl.org? Please delete Firefox from the Internet, since users can click reload repeatedly and DoS a slow site. I think he means a legal DoS, where armies of bank-payrolled lawyers come in and CD the entire *.cpan.org and *.perl.org infrastructure. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Deferred Plans
On Nov 20, 2007, at 9:19 AM, Adrian Howard wrote: Then you get an error because you have said that you'll defer the plan, and you didn't. That there is a there's a plan coming later part is what I missed. Now I get it. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Deferred Plans
I guess I'm not seeing why a deferred plan is better than no plan at all. Seems to me the whole point of a plan is that you know up front how many they're gonna be. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Deferred Plans
On Nov 19, 2007, at 5:04 PM, A. Pagaltzis wrote: A deferred plan is clearly not as good as a predeclared plan, but is definitely much safer than no plan at all. But what if something blows up before getting to the deferred plan? Then you don't know. You've bypassed having a plan. I would never use a deferred plan. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Ownership rot in the Phalanx 100 page
On Nov 15, 2007, at 4:52 AM, David Landgren wrote: Andy Lester wrote: I imagine that there are other modules in the same boat. Perhaps a better solution is to avoid the ego points, drop the author link, and just point to http://search.cpan.org/dist/Crypt-SSLeay/ instead. You wanna take care of that maintenance task? My plate is plenty full. Sure. Send me the details off-list. Would you take care of the other cleanup tasks needed at qa.perl.org? You don't want to bother learning Combust if all you'll be doing is changing one page. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Ownership rot in the Phalanx 100 page
Is there much that needs doing? I am reasonably familiar with Combust. I dunno, look around qa.perl.org and see how long it's been since I've touched it. There's a big page of testing modules that's pretty out- of-date. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Ownership rot in the Phalanx 100 page
I imagine that there are other modules in the same boat. Perhaps a better solution is to avoid the ego points, drop the author link, and just point to http://search.cpan.org/dist/Crypt-SSLeay/ instead. You wanna take care of that maintenance task? My plate is plenty full. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
SKIP_ALL tests should not get hidden
I was very surprised to find that tests that I was skipping via plan skip_all = 'wangdoodle not installed' if $@; were not showing up in the results when I ran make test or prove. In my mind, prove and make test should DEFINITELY be showing that we're skipping tests, even though they've effectively passed. Instead of t/html_lint_okok 500 ms t/has_tag.ok 1649 ms we should have t/html_lint_okok 500 ms # SKIP: HTML::Lint is not installed, test cannot be run. t/has_tag.ok 1649 ms xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Test::Harness::Straps is going away
On Fri, Oct 05, 2007 at 11:22:57AM -0500, brian d foy ([EMAIL PROTECTED]) wrote: Do you mean that Test::Harness 3.0 won't have it but it will still be there in earlier releases, or that you're going to remove any trace of it from CPAN so it looks like it never existed? We're not going to retroactively remove it from the 2.x series. 3.0 and beyond will not have straps. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Searching CPAN repositories in a chain
CPAN::Mini is designed to mirror a public CPAN, not to be part of a search path, which is what I want. that's what urllist in the CPAN.pm config is for. On my laptop, where I want to always keep a mini-CPAN lying around, I have my CPAN shell look at file:///minicpan/ and just run minicpan for the updates every so often. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Test::Load, anyone?
On Oct 3, 2007, at 9:27 AM, Ovid wrote: I'm thinking about writing Test::Load (similar to Test::Class::Load). It would be a wrapper around http://use.perl.org/~Ovid/journal/34596. My first thought is that you were talking about load testing. xoa -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: Perl 5 Wiki Improvement Drive: Recommended Modules For Testing
On Fri, Sep 21, 2007 at 11:23:21AM +0100, David Cantrell ([EMAIL PROTECTED]) wrote: It appears that I can't make any changes without registering for yet another bloody account. I already have too many. You have a limit? Maybe you'd get more edits if people could login using their PAUSE id. You can use OpenID, too. -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance