Skip GTK tests if no display available?
Hi! I recently uploaded a small dist to CPAN (App-TimeTracker-Gtk2TrayIcon) that uses Gtk2::TrayIcon to display my working status (powered by App::TimeTracker...) Now I'm getting FAIL reports like this: http://www.cpantesters.org/cpan/report/0c00fda4-cde2-11e0-bbec-9aeec8b7ec30 [ERROR] [Wed Aug 24 00:45:54 2011] MAKE TEST failed: Gtk-WARNING **: cannot open display: at /usr/home/cpan/pit/thr/conf/perl-5.10.1/.cpanplus/5.10.1/build/Gtk2-1.224/blib/lib/Gtk2.pm line 138. Is there an easy and/or unified way to skip tests if there is no display? Are there ways to mock a display? Thanks for any tips, domm -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Skip GTK tests if no display available?
Hi! On Thu, Aug 25, 2011 at 11:32:59AM +0200, Torsten Schoenfeld wrote: On 25.08.2011 08:51, Thomas Klausner wrote: You can use Gtk2::TestHelper to handle this automatically: https://metacpan.org/module/Gtk2::TestHelper. Hm, this means I'd have to go back to calculation the plan by hand - no more done_testing() :-( Or I just rip out the relevant part, which seem to be Gtk2-init_check anyway, thanks for the hint. -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Perl QA Hackathon: Last call to apply for sponsorship
Hi! The phase for applications for sponsorship ends on Friday, 2010-02-12. We then shall deliberate over the weekend and announce the result afterwards so that travel arrangements can be made ASAP. If you're considering coming to Vienna, and want to apply for sponsored travel/hotel, add yourself to the wiki[0] now. The more you tell us about your plans, the better! 0: http://2010.qa-hackathon.org/qa2010/wiki -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Perl QA Hackathon 2010 Venue Vienna.pm Sponsorship
Hi! The Perl QA Hackathon 2010 [0] will take place in the lovely MetaLab [1], a grass-root non-profit hack-space in the middle of Vienna (more on Wikipedia [2]). There will be lots of space, workplaces, sofas, wireless and wired network and a big fridge full of drinks. Vienna.pm [3] has also proud to announce that we will sponsor the hackathon with 10.500 Euro. We will reserve a small part for catering during the event, but most of the money will go into paying for transport and hotel of invited guests. If you want to hack on a QA / Toolchain project, please add yourself to the Attendees [4] page of the wiki [5]. Thomas Klausner, on behalf of Vienna.pm and the Perl QA Hackathon 2010 team 0: http://2010.qa-hackathon.org/ 1: http://www.metalab.at/ 2: http://en.wikipedia.org/wiki/Metalab 3: http://vienna.pm.org/ 4: http://2010.qa-hackathon.org/qa2010/wiki?node=Attendees 5: http://2010.qa-hackathon.org/qa2010/wiki -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: standard for internal-only tests?
Hi! On Fri, Jul 31, 2009 at 10:51:57AM -0700, Jonathan Swartz wrote: Is there a standard for signifying internal-only tests, and for make test to figure out when they should run? The Oslo Consensus http://use.perl.org/~Alias/journal/36128 -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
looking for CPANTS (co-) maintainers
Hi! See over there: http://use.perl.org/~domm/journal/39189 -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Maintaining state between tests
Hi! On Thu, Apr 09, 2009 at 03:22:16PM -0700, Michael G Schwern wrote: For that reason I believe the idea is fundamentally flawed and a pain in the ass. I agree - at least that it's a pain in the ass, but sometime you just have to deal with something that's a pain in the ass and I was looking for advice on the least painfull way :-) Instead, I put the MakeMaker test module creation code into little test modules in t/lib. Now each test can just load the appropriate setup module to create the necessary test files, and throw it out at the end. So I'd suggest an approach like that. Keep each test file as a stand alone unit. Shove common setup/teardown code into a module. I had some setup/teardown stuff in place, and in the end I extended that instead of trying to mess around with some sort of state between testing. It's not complete pain-free, but well.. -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Maintaining state between tests
Hi! Is there any module on CPAN (or some other accepted technique) to maintain some kind of state between tests? I know that this will kill parallel testing, but I'm trying to test a rather long process involving several files and several steps, factored into several distinct test scripts, and I don't want to write lots of setup code before each step of the test. Basically, I'd love to use the CLEANUP feature of File::Temp, but instead of triggering the CLEANUP after one test script exists, I'd like to trigger it manually. Of course I know that I can just write out the path somewhere and remove the testdir when I'm done. But I'm wondering if this is already built in one test module or the other (similar to what Module::Build offers with config_data) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: build_requires, the xt and build_prereq_matches_use
Hi! On Thu, Feb 19, 2009 at 10:04:58AM -0500, David Golden wrote: That's absurd. The Kwalitee analyzer shouldn't look in xt. Period. I agree partly (it can look, but should not add any dependencies), but I'm very unlikely to find some time to fix this in the next weeks (http://use.perl.org/~domm/journal/38260). But of course, patches welcome (eg I'd like to use Alias' new Find::File::Rule::Perl or take a look at Davids App::CPAN::Mini::Visit) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS not updating some modules?
Hi! On Tue, Feb 10, 2009 at 10:31:28AM +0100, Marc Lucksch wrote: The update for some of my modules seems lost somehow Dotiac: Still 0.5, but 0.8_1 is the latest Dotiac-addon-html_template is missing completely. Is this an error on my part, or is there a bug somewhere? Very likely a bug somewhere, but as I'm _very_ low on tuits atm (girlfriend away writing her dissertation so I'm now single parent for 4 months, just came back from holiday, where I got ill, which I still am, and there's this $work deadline next month...) it might take a while until I find some time... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Why make up a Makefile.PL (was: Re: git tarballs / tarfile comments)
Hi! On Wed, Sep 03, 2008 at 03:16:35PM -0400, David Golden wrote: There are handful of things on CPAN that are just zipped .pm files. I cpants says: cpants= select extension,count(*) from dist group by extension ; extension | count ---+--- tar.gz| 14762 tgz | 241 zip | 113 I've attachted the list, if this is of any help... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/} package --- Acme-POE-Knee-1.10.zip AI-NeuralNet-BackProp-0.89.zip AI-NeuralNet-Mesh-0.44.zip Algorithm-Line-Bresenham-C-0.1.zip Algorithm-Loops-1.031.zip Archive-Tyd-0.02.zip BitTorrent-V0.1.zip Chatbot-Alpha-2.04.zip Convert-MIL1750A-0.1.zip CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip Crypt-XXTEA-1.00.zip Data-Iterator-0.021.zip DBIx-Compare-1.0.zip DBIx-Compare-ContentChecksum-mysql-1.0.zip DBIx-Fun-0.02.zip Devel-TraceSubs-0.02.zip DISCO-0.01.zip EasyDate-103.zip ESplit1.00.zip extensible_report_generator_1.13.zip ExtUtils-FakeConfig-0.11.zip Finance-Bank-ES-Cajamadrid-0.04.zip Finance-Edgar-0.01.zip Games-LogicPuzzle-0.20.zip Games-Multiplayer-Manager-1.01.zip Graph-Maker-0.02.zip HTML-EasyTable-0.04.zip Inline-Octave-0.22.zip Joystick-1.01.zip LIMS-Controller-1.6b.zip LIMS-MT_Plate-1.17.zip Lingua-EN-Dict-0.20.zip Lingua-EN-VerbTense-3.00.zip link_NCBI.zip Memo32-1.01b.zip mGen-1.03.zip Microarray-0.45c.zip MIDI-Trans-0.15.zip modules/etext/etext.1.6.3.zip modules/SelfUnzip-0.01.zip modules/SOM-0.0601.zip Module-Versions-0.02.zip MRTG-Config-0.04.zip MSN-PersonalMessage-0.02.zip NCBI-0.10.zip NetIcecast-1.02.zip Net-IPAddress-1.10-PPM.zip Net-Server-POP3-0.0009.zip Notes/Notes.zip NPRG-0.31.zip Nums2Words-1.12.zip Object-Interface-1.1.zip os2/OS2-FTP-0_10.zip os2/OS2-UPM-0_10.zip os2/tk/Tk-OS2src-1.04.zip Parse-EventLog-0.7.zip ParseTemplate-0.37.zip PCX-Loader-0.50.zip Perl56/Win32-PerfMon.0.07-Perl5.6.zip Perl6-Interpolators-0.03.zip perlipse/Perlipse-0.02.zip Prima-prigraph-win32-1.06.zip Reduziguais.zip Regex-Number-GtLt-0.1.zip resched-0.7.2.zip rms.zip smg.zip System-Index-0.1.zip SystemTray-Applet-0.02.zip SystemTray-Applet-Win32-0.01.zip Template-Ast-0.02.zip Term-Getch-0.20.zip Term-Sample-0.25.zip Test-Version-0.02.zip Tie-Tk-Text-0.91.zip TimeConvert0.5.zip tinyperl-1.0-580-win32.zip Tk-DiffText-0.19.zip Tk-TOTD-0.20.zip Tkx-FindBar-0.06.zip UDPServersAndClients.zip VCS-StarTeam-0.08.zip VMS-Device-0_09.zip VMS-FlatFile-0.01.zip VMS-Queue-0_58.zip vms-user-0_02.zip Win32-ActAcc-1.1.zip Win32-Capture-1.1.zip Win32-Encode-0.5beta.zip Win32-Env-Path-0.01.zip win32-guidgen-0.04.zip Win32-GUI-Scintilla-1.7.zip Win32-HostExplorer-01.zip Win32-MCI-Basic-0.02.zip Win32-MediaPlayer-0.2.zip Win32-MIDI-0_2.zip Win32-MMF-0.09e.zip Win32-MultiMedia-0.01.zip Win32-OLE-CrystalRuntime-Application-0.08.zip Win32-OLE-OPC-0.92.zip Win32-PerlExe-Env-0.04.zip Win32-Printer-0.9.1.zip Win32-ShellExt-0.1.zip Win32/SimpleProcess/SimpleProcess_1.0.zip Win32-SqlServer-2.004.zip Win32-SystemInfo-0.11.zip Win32-TaskScheduler2.0.3.zip Win32-TieRegistry-0.25.zip Win32-TSA-Notify-0.01.zip WordPress-V1.zip WWW-MySpaceBot-0.01.zip WWW-PDAScraper-0.1.zip WWW-TwentyQuestions-0.01.zip (113 rows)
Re: Test::Harness Output Change
Hi! On Thu, Aug 21, 2008 at 02:36:11AM -0700, Ovid wrote: unexpected consequences. It also highlights the issue of Test::Harness's long-standing practice of stripping the .t extension from filenames. Why? If we want other extensions, stripping them is probably bad. Actually, I'd love to have the extension in the report, so I can just past the listed failing test and copy either into 'prove -vl ' or 'vim ' (or both..) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Interrest for a QA-Tool hackathon after YAPC::EU
Hi! On Fri, Jul 18, 2008 at 11:29:10AM +0300, Gabor Szabo wrote: I am about to book my flight to Copenhagen but I have to decide when to come back so I was wondering what's going on with the Hackathon? I would assume that this is the authorative source if info: http://www.yapceurope2008.org/ye2008/wiki?node=QA-Tool%20Hackathon Unfortunatly, I definitly cannot attend... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: About tidying up Kwalitee metrics
Hi! On Sun, Jun 29, 2008 at 01:54:19AM -0700, Ovid wrote: On a side note, I still don't understand why I sometimes get dinged for CPANTs errors. Here's one for HOP-Lexer (http://cpants.perl.org/dist/errors/HOP-Lexer): STDERR: Invalid row in Debian file: libhtml-wikiconverter-moinmoin-perl, HTM STDOUT: I have no idea what this is and I have no way of correcting it yet I am getting dinged for it. I see that I can send an email to [EMAIL PROTECTED], but why? I don't understand why CPANTs bugs are counted against me. As Gabor already suggested, most of the texts on cpants.perl.org should be overhauled and extendend. For example: http://cpants.perl.org/kwalitee.html#no_cpants_errors no_cpants_errors Shortcoming: Some errors occured during CPANTS testing. They might be caused by bugs in CPANTS or some strange features of this distribution. See 'cpants' in the dist error view for more info. Remedy: Please report the error(s) to [EMAIL PROTECTED] 'Shortcoming' should be extended to say: The goal of deducting a kwalitee point for 'no_cpants_errors' is to get authors to report CPANTS bugs. As you might guess, testing 10.000+ different dists is hard. There are lot of special cases. It's impossible to figure out all those special cases in advance. 'no_cpants_errors' is a way to outsource the discovery of special cases to module authors. or something like that... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: About tidying up Kwalitee metrics
Hi! On Tue, Jun 24, 2008 at 10:10:07AM +0200, Salve J Nilsen wrote: I propose to split the current main and optional kwalitee scales into topical ones, so we can allow for richer set of metrics while allowing everyone that care mostly about certain types of metric access to untainted versions. ... Thoughts? I've been very quite lately regarding CPANTS, mostly because I currently have more interesting things to do (at the moment I'm in the lucky situation that my day job is more fun than my non-paid open source activities). This does not mean that I want to give up maintaing CPANTS. I like most of the feedback given here (and on use.perl) in the last months, and would love to turn some of the suggestions into code. I would of course love it even more, if you [all of you, not Slave] would turn some of the suggestions into code... Anyway, next week my kids are on holidays with my father, which will buy me some extra time. Some of this time will go into CPANTS. I have a talk on CPANTS scheduled for YAPC::Europe. I would love to turn this into a how to contribute thing, followed by a hacking-session. One comment regarding 'each devel sets his/her own kwalitee metrics': This could be quite easy for the various views etc. But I'm not sure how to calculate a game score then. Do we end up with lots of different games? But then, it's only the game (which still motivates a few people..) Oh, and of course even yet only 'core' metrics are used to calculate the game score. Anyway, even if I do not reply on all comments, I'm collecting the feedback and will comment/implement parts of it. When I have tuits. -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Proposed (optional) kwalitee metric; use re 'taint'
Hi! On Tue, Jun 24, 2008 at 03:57:26PM +1000, Paul Fenwick wrote: * What's the procedure of getting this added to the CPANTS list of kwalitee metrics? Either you wait until I have tuits (but to tell the truth there are some more issues to fix with CPANTS before I can add more metrics), or: * ask me for a comit bit for http://code.google.com/p/cpants/ * add the new metric to Module::CPANTS::Analyse I would put it into Module::CPANTS::Kwalitee::Uses (although the current code does not report what's in the import list, i.e you can see that 're' is uses, but not that it's used with 'taint'...) * commit (or send a patch) * kick me to deploy the new metric on the server and to do a --force run (testing all CPAN dists) (yay, and another slide for my YAPC::Europe talk on CPANTS is nearly done :-) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: cpants.perl.org giving 404 not founds
Hi! On Sat, Jun 21, 2008 at 09:56:19PM +1000, Paul Fenwick wrote: Just wanted to report that: http://cpants.perl.org/ is presently giving me 404 (not found) errors. My DNS currently resolves The server was upgraded to the latest Debian (with Perl 5.10, yay), and I guess that caused some downtime.. -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS has_separate_license_file test
Hi! On Tue, Jun 03, 2008 at 03:55:38PM +0300, Gabor Szabo wrote: Is CPANTS looking for something special inside the LICENSE file? The currently running version of CPANTS has that bug. I think I have fixed that already in the SVN we just have to wait till Thomas has some time to upgrade the version on the server. Which will happen tonight. Finally... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Interrest for a QA-Tool hackathon after YAPC::EU
Hi! On Tue, May 06, 2008 at 12:49:05PM +0200, nadim khemir wrote: In Oslo I proposed to organize a hackathon the week after YAPC::EU. Maybe you should add the hackathon to the YAPC::Europe 2008 wiki: http://www.yapceurope2008.org/ye2008/wiki -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Interrest for a QA-Tool hackathon after YAPC::EU
Hi! On Tue, May 06, 2008 at 12:49:05PM +0200, nadim khemir wrote: In Oslo I proposed to organize a hackathon the week after YAPC::EU. .. Rapid feedback please, Nadim. Sounds very nice. But I have to travel back on Saturday, so I think I won't be able to attend... :-( -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Preparing a new Test::* module
Hi! On Wed, Apr 09, 2008 at 02:49:05PM +0100, Fergal Daly wrote: On 09/04/2008, Gabor Szabo [EMAIL PROTECTED] wrote: On Mon, Apr 7, 2008 at 10:14 PM, Fergal Daly [EMAIL PROTECTED] wrote: I would say put as much as possible of this outside the Test:: namespace and then wrap in a thin Test:: wrapper. I wish I'd done this with Test::Deep, it's on the todo list but I'll never get around to it, I am not sure how it will work out, but maybe add it to the TODO Tracker http://todo.useperl.at/ so someone will pick it up and do it for money. I'd really like to see that separated. Since I'm not willing to pay for it, feel free to add it yourself :) No,no, Vienna.pm will pay for it. We just need project maintainers to a) submit things they want to be done (including a price tag) and b) review the work done by implementors. -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Friday afternoon in Oslo
Hi! On Mon, Mar 31, 2008 at 09:34:32AM -0400, David Golden wrote: I'll be getting into Oslo Friday mid-morning. Assuming no mishaps finding the hotel, I'll be up for touring around Oslo on Friday afternoon. If anyone from the hackathon has similar plans and is interested in meeting up, please email and let me know. (And if any locals want to play tour guide, that's great too!) I'll arrive at Oslo Airport at 12:55 - and I've no idea how long it will take to get to the Best Western Anker (ah, the wiki says (20|40)+10 minuntes) To make things a bit worse, I haven't got a mobile, so I would need an old-fashioned meeting place and time. Which wasn't suggested yet (unless I missed something...) So I suggest something: Lobby of Best Western Anker, 15:00. And if I can't make that because of delays etc, well, then see you at the Shamrock! -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Oslo Hackathon schedule page
Hi! On Mon, Mar 31, 2008 at 10:58:39AM -0400, David Golden wrote: For those attending the Oslo hackathon, please see the new schedule page: Are there any plans on short talks introducing people to the various topics? I could prepare a short intro to CPANTS, and list my 'Testing Best Practices' questions (which are also CPANTS related..) I think that short intro talks would be nice to help attendees decide what they want to hack on. Longer, more in-depth talks introducing people to each topic would also be nice, but are maybe to much work to prepare. What do you think? -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS Site Seems... Confused
Hi! On Wed, Feb 20, 2008 at 11:52:09AM +0100, Aristotle Pagaltzis wrote: * Thomas Klausner [EMAIL PROTECTED] [2008-02-19 09:25]: While I was away last week (snowboarding..) Do you ever do any actual work, Thomas? :-P Yes, I do! Here's proof: http://revdev.at (the very fresh (we finally put something together today) mini-site of our new company which wasn't proof-read by any english speaking person yet, so if @you want to: patches welcome ;-) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS Site Seems... Confused
Hi! On Mon, Feb 18, 2008 at 02:34:15PM -0800, Randy J. Ray wrote: information. Just a little while ago, I checked the CPANTS site and noticed I had a crapload of red marks, almost all of which are wrong (one of the two dists doesn't have LICENSE sections in pod, or a LICENSE file). But I'm flagged for executable build files (they aren't), no test_pod or test_pod_coverage (they are there), Changelog, MANIFEST, README, even tests in general! While I was away last week (snowboarding..) CPANTS seems to have acquired yet another bug. As soon as I have some free time (maybe tomorrow, but at the latest this weekend during FOSDEM) I'll take a look. In the meantime: patches welcome :-) (and comit bits are easily obtainable too..)
Re: CPANTS Site Seems... Confused
Hi! On Tue, Feb 19, 2008 at 09:23:38AM +0100, Thomas Klausner wrote: While I was away last week (snowboarding..) CPANTS seems to have acquired yet another bug. As soon as I have some free time (maybe tomorrow, but at the latest this weekend during FOSDEM) I'll take a look. It seems that the problem was caused by a full disk (or rather only 16MB available on /tmp) on the new machine CPANTS is running on. I fixed this, and started a new run over all of CPAN, which will take a few hours... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Smoking private dists?
Hi! I've recently started a new job (and a small company (which btw explains a certain CPANTS lagging on my part...)), and we want to smoke test our code. Are there any tools/frameworks available that would (in a perfect, lazy world) to the following: * fetch various projects from git (HEAD, and some defined tags) * run their test suite * run Devel::Cover (eg via Build testcover) * run some special tests (eg Pod::Coverage), which probably means to run some tests in the testsuite with some special ENV settings * report all results on a nice and colorfull website If there isn't, are there any frameworks to customize, or CPAN modules to glue together? Smolder looks interesting, but it seems to be more concerned with presenting test results and so much with the acutal smoking (or am I missing something)? Then there's SmokeRunner::Multi, but I couldn't understand how it's supposed to work from the docs (and before I burn a few hours playing with it, I'd rather ask here...) And I presume that the various CPAN smoking tools don't fit my needs, because they are designed to either smoke the whole of CPAN, or to send back test results after installing a given CPAN dist. Therefore, my current approach would be to hack together a few scripts that fetch stuff from git, run the tests, collect the results, and report them. Unless somebody shows me the one wellknown package that does what I need and that everybody besides me knows about :-) Thanks! -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
New proposed CPANTS metric: prereq_matches_use
Hi! I'm currently thinking about a new CPANTS metric (and I even have a half-finished implementation..), and I'd like to get some feedback on it, before spending more time on it (or even releasing it..) The metric will be called prereq_matches_use and shall check if all the modules used in a dist are also listed as a prereq. (prereq is either gatherd directly from Meta.YMLs 'requires', by parsing Build.PL or Makefile.PL) As you might know this is quite tricky, because some modules live in strange dists (e.g. HTTP::Request - libwww-perl) and some modules are in Core (I'll check this with Module::CoreList). The first implementation 'simply' selects all distinct dists from all modules (of which CPANTS know which dist they are in..) used in a dist, and compares this with the distinct dists from all listed prereqs. This results in: Of 12039 dists, 5419 have missing deps Adiitionally, there is a lot of potential finetuning possible: - do not award the kwalitee point if there are too many listed prereqs (i.e. the dist requires another dist, without actually using it.) This might be controversial, because authors could lists dists as a prereq which are a prereq of a prereq (etc) - for various valid (?) reasons... - also check build_requires (I'm not sure if other buildtools than Module::Build support this), with this twist: If dists are only used in tests, but are listed in 'requires', do not award a kwalitee point. What do you think? -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Test::Pod / YAML explodes (and taking cpants with it...)
Hi! You might wonder why cpants.perl.org is still down, even though I found some time to work on it. Here's why: Some dists (eg Number::Phone) currently cause segfaults in cpants [Meta: I changed a few things in how cpants processes CPAN. In a first pass, cpants writes a YAML file for each dist containing all the info. In the second pass, the YAML files are read and stored into the DB) I tracked the problem down to this: Pod::Simple::Checker (and Test::Pod) report very strange things when run against eg. Number::Phone. This semi-garbage is then stored in a yaml file. Which works. But during the second pass, YAML doesn't eat it's own dog food and segfaults while parsing the yaml. I'm not sure if the problem is caused by some dists liek Number::Phone, or by Pod::Simple::Checker (YAML for sure is causing the segfaults, but I'd definitly want to correct the data, too) I've put one of the problematic files up here: http://cpants.perl.org/static/Number-Phone-1.58.yml (look for the line starting with 'pod_errors_msg') To see YAML expolode, try: perl -MYAML=LoadFile -le 'LoadFile(Number-Phone-1.58.yml)' I'm currently working on a hackish workaround, but I think this might be a bug somewhere that's worth squashing. Now I (or we) only need to figure out where the problem lies. BTW, adding a run-of-the-mill pod.t to Number-Phone also yields some interesting results (loads of garbage output) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: cpants not updating; new cpants test request
Hi! On Tue, Sep 11, 2007 at 01:43:43PM +0100, Andy Armstrong wrote: On 10 Sep 2007, at 22:10, Anonymous wrote: looks like the cpants site has stopped updating for about 3 weeks now. Oops. That's my fault. cron job now re-enabled. Blush. No, that was my fault, as I turned it off. CPANTS has a bug at the moment, and due to YAPC (and post-YAPC work overload etc) I haven't found time yet to fix it. But I'll try to find some time this week (maybe tomorrow, maybe Friday). -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: cpants not updating; new cpants test request
Hi! On Mon, Sep 10, 2007 at 11:10:25PM +0200, Anonymous wrote: also, would it make sense to have a test to check for warnings when warnings are enabled globally? many modules do not enable warnings, but when you use those modules and run the script with -w, it's possible to get lots of warnings. There was a use_warnings metric (similar to use_strict), but a lot of people said that was too strict, so I removed it. It might make sense to re-add this metric as an optional kwalitee point, though (which weren't implemented then...) -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: cpants not updating; new cpants test request
Hi! On Tue, Sep 11, 2007 at 08:39:57PM +0100, Andy Armstrong wrote: On 11 Sep 2007, at 20:37, Thomas Klausner wrote: On Tue, Sep 11, 2007 at 01:43:43PM +0100, Andy Armstrong wrote: On 10 Sep 2007, at 22:10, Anonymous wrote: looks like the cpants site has stopped updating for about 3 weeks now. Oops. That's my fault. cron job now re-enabled. Blush. No, that was my fault, as I turned it off. Oh sorry Thomas - I assumed it was me. Shall I turn it off again? Hm, I guess it's better to turn it off. CPANTS has a bug at the moment, and due to YAPC (and post-YAPC work overload etc) I haven't found time yet to fix it. But you and the team made YAPC look s easy :) Well, thanks, but there was some work involved :-) Add this to the fact that I was more than a month in Mongolia prior to YAPC, and you can start to gauge how much @work I have to handle. But now I'll stop complaining and JFDI -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee and other dists requiring report
Hi! On Tue, Jun 05, 2007 at 12:31:34PM -0500, Ian Malpass wrote: Would it be easy and/or interesting to add the kwalitee of the distributions listed in the other dists requiring X section of the CPANTS report? That should be fairly easy to do. I think I'll have some time this weekend/early next week to do some long outstanding CPANTS updates... -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Test::Kwalitee (was: CPANTS: suggestion for a new metric)
Hi! On Fri, Jun 01, 2007 at 03:23:14PM +0100, Andy Armstrong wrote: Test::Kwalitee currently exposes the known test types as methods. I can make it delve into Module::CPANTS::Analyse to find the tests that are actually available - but then what to do about the methods? Sorry, not a lot of time at the momemt, but I remember that somebody (I think Nathan Haigh [EMAIL PROTECTED] ) already patched Test::Kwalitee to dynamically figure out which metric to use. But I'm only following this thread with 50% attention (sorry, YAPC takes up all my tuits ATM), so might mix up things... I could * generate the methods dynamically based on the Kwalitee modules that are installed * generate only the current methods and add a new method test_against() (or whatever) that provides access to any named Kwalitee test * replace the generated methods with an AUTOLOAD handler In the test_against() or AUTOLOAD scenarios I could then make Kwalitee tests for which the module is unavailable skip automatically. Thoughts? -- Andy Armstrong, hexten.net -- #!/usr/bin/perl http://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: trying to setup Module::CPANTS::Analyse
Hi! On Sun, Apr 15, 2007 at 03:56:03PM +0100, Michael Stevens wrote: I'm trying to use Module::CPANTS::Analyse, with the theory that will let me test modules locally without waiting for them to go through CPAN. .. Whenever I feed this a module to test, it prints 1 and 2 in the logfile and no more. I can't work out why it's dying because there's no sign of any error. I have just declared Moday, 23 April to be CPANTS patch day. On Monday, I will work through all (hopefully..) RT tickets and the various other requests/bugs I got via mail or which where posted here. My goal is to have installable, stable documented releases on Monday evening. After this, new metrics can be discussed and added. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
CPANTS up and running again
Hi! CPANTS is now up and running again, with fresh data, which will be available daily. (There might be a problem with UTF8 and the database, but that should be solvable soon (especially as I know finally groked Unicode)). CPANTS now lives on a new server provided by hexten.net . Thanks!! You can now continue playing the CPANTS game and raising your kwalitee (and hopefully making CPAN a nicer place in the process...) Thanks to the nice DBD::PgLite::MirrorPgToSQLite there is now a daily SQLite dump of the CPANTS database available. I hope you won't get blind from looking at the schema... You can get the latest dump from this URL: http://cpants.perl.org/static/sqlite/cpants_all.db.gz. Have fun playing with the data! Oh, now that the basic things are working (again), I'll look into new metrics when I have a few spare minutes (which is unfortunantly unlikely to happen before April.. - but patches (and suggestions) are of course welcome) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS?
Hi! On Tue, Mar 06, 2007 at 02:34:16PM +, Andy Armstrong wrote: Does anyone apart from Thomas Klausner know anything about the status of CPANTS? It's been down for about five days now. I'm trying to offer him free hosting for it but he doesn't seem to be getting his mail just now either. I got the mail but was/am busy (work and YAPC...) I also have troubles contacting the sysadmin who's currently hosting CPANTS, so I think I'll accept your generous offer. I'd suggest we settle the rest in private mail. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS?
Hi! On Tue, Mar 06, 2007 at 10:01:09AM -0500, Christopher H. Laco wrote: It's the CPANTS shuffle! Isn't this like, server/host 3 or so? :-) It is, which is my punishment for beeing to lazy to set up my own server :-) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Fixtures
Hi! On Wed, Feb 14, 2007 at 09:46:19AM +1100, Kirrily Robert wrote: example used Test::Class's setup/teardown; would anyone else be able to provide confirm that I'm making sense in the following Test::Harness/Test::More style example: I had to do something similar just yesterday. I wrote a small testlib.pm that does some setup with import() and some teardown in an END-block In the test scripts I say: use lib qw(t); use testlib qw(things to setup); in testlib.pm, the custom written import method sets up stuff according to the (slightly misused) import-list (eg qw(things to setup)). And the END-block just tears down everything (after checking it's there...) I guess with some more fiddling the END-block could be made smart enough to only tear down stuff that was actually set up, but it worked for me... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Hi! On Tue, Nov 07, 2006 at 06:58:11AM +0100, A. Pagaltzis wrote: But yeah, other than that, I agree, the metric should check that META.yml conforms to the spec it says it conforms to, and that a metric that checks for conformance to the latest version should be a bonus, if it exists at all. I renamed the metrics to metayml_conforms_spec_1_0 (which is (AFAIK) the first well-defined version, even if some of the fields might only be upgraded to 'required' later. And to metayml_conforms_spec_current, which will always point to whatever http://module-build.sourceforge.net/META-spec-current.html says. And it's an optional metric (like has_example and is_prereq) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 03:35:41PM +0100, David Landgren wrote: Aha, since I have your attention... :-) I've been meaning to suggest the following changes, on the best and worst reports pages: This distributions got the most Kwalitee: -- These distributions have the most Kwalitee This distributions got the least Kwalitee: -- These distributions have the least Kwalitee done. Question: how are the dists sorted on the /author/CPANID page? Currently random (whatever the DB spits out), but I'll change that to sorted by distname -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 10:47:36AM -0500, Michael G Schwern wrote: meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html version: 1.2 The 'problem' is that this field was introduced in 1.1, and it seems that quite a lot of dists use 1.0 of META-spec. My question basically is: What is the 'stable' version of META-spec? I guess I'll post this on the module-build list... PS If someone would check the metafile generated by MakeMaker 6.31 for 1.2 spec conformance I'd appreciate that. Hmm, I tried to do that (I usually use Module::Build): ~$ module-starter --module=FooTest --author='foo' --email='[EMAIL PROTECTED]' Created starter directories and files ~$ cd FooTest/ ~/FooTest$ perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: META.yml Please inform the author. Writing Makefile for FooTest ~/FooTest$ make dist rm -rf FooTest-0.01 /usr/bin/perl5.8.8 -MExtUtils::Manifest=manicopy,maniread \ -e manicopy(maniread(),'FooTest-0.01', 'best'); mkdir FooTest-0.01 mkdir FooTest-0.01/t mkdir FooTest-0.01/lib -e: META.yml not found at -e line 1 Can't read META.yml: No such file or directory make: *** [create_distdir] Error 2 I'm using ExtUtils::MakeMaker 6.31 But the META.yml in MakeMaker confroms to META-spec 1.2, so if you use the same tools to generate MakeMakers META.yml it should work: http://cpants.perl.org/kwalitee/ExtUtils-MakeMaker -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 01:00:58PM -0500, Michael G Schwern wrote: Oh so THAT'S where all those reports of -e META.yml not found were coming from. Module::Starter is being naughty and putting META.yml into the MANIFEST before it exists. Well, after fixing this by removing META.yml from MANIFEST everything worked. And the generated manifest complies to META.yml Spec 1.2 -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Bioperl
Hi! On Tue, Oct 24, 2006 at 03:13:08PM +0100, Nathan Haigh wrote: I have just discovered the cpants and was wondering why only version 1.2.3 of bioperl has made it in and not the latest version 1.4? Does anyone have any ideas about this? CPANTS currently seems to have some problems with finding the correct (i.e. latest) version of some dists. And with finding the right author for a dist. I'm a bit busy at the moment, but I'll try to take a look at this problem in the next few days. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Getting Cruft off of CPANTS
Hi! On Sat, Sep 23, 2006 at 03:30:06PM -0600, Randy J. Ray wrote: I asked this once before, but rather than getting an answer, someone just did it. There are some modules that I've deleted completely from CPAN; one was because I renamed the top-level of the namespace (per conversation with Adam Kennedy), and the other because someone else has a much better module for the task (I've dropped Devel::Coverage in favor of using and maybe one day contributing to Devel::Cover). Should there be a clearer way for module authors to communicate this? Does CPANTS recognize when modules disappear? Until some months ago CPANTS had a bug (caused by bugs in the tools used..) that prevented some dists from beeing deleted. In your case (Devel::Coverage) the reason was that there was no new CPANTS run since you deleted the dist from CPAN. I did a new run, and now it's gone... Over the last few months, CPANTS has been a great resource for me in finding shortcomings in my distributions. Test suites and CPAN testers do their parts, and CPANTS helps keep the bundling sane. Nice to hear :-) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS quality brainstorming
Hi! On Tue, Sep 12, 2006 at 11:07:28PM -0500, Chris Dolan wrote: I posted all of my thoughts on the Perl-QA wiki here: http://perl-qa.yi.org/index.php/CPANTS_Quality_Goals Cool! I added a few things, most notably the new has_license metric (thanks again to Gabor Szabo for implementing it). (BTW, there was quite a drop in the CPANTS game highscore lists, as lots of dists don't come with a license (9064 to be exact) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS quality brainstorming
Hi! On Wed, Sep 13, 2006 at 02:24:16PM +0200, David Landgren wrote: Oww, that includes all of mine, even though they state clearly in the docs that they are distributed under the perl license. I assume this looks at the META.yml license key? I guess it's time to take ExtUtils-MakeMaker-6.30_04 for a spin, I guess. Yes, the metric currently checks if there's a 'license' field in META.yml Maybe it would be reasonable to also check for a POD-Heading named LICENSE, but that's definitly more error-prone. Maybe this metric should even check if there's a license in META.yml AND a pod heading namen LICENSE, so that humans and tools can figure the license out... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: post-YAPC::Europe CPANTS news
Hi! On Tue, Sep 12, 2006 at 11:15:50AM -0500, Chris Dolan wrote: Wow, excellent post! Some notes: The next step in the exercise becomes how to implement those measures. In the current CPANTS simple proxies are used for those measures. Namely, we assume that if there is a t/*pod.t file present then the pod is valid, and if there is a t/*pod_coverage.t present then all subroutines are documented. In fact, CPANTS actually runs Pod::Simple::Checker on the POD, so the t/*pod.t check is more or less redunant. If there's a problem with the POD, a dist won't get points for 'no_pod_errors'. (In the next release of Module::CPANTS::Analyse the errors reported by Pod::Simple::Checker will be available on cpants.perl.org) The problem with pod_coverage is that Pod::Coverage executes the code to get a list of all functions, and then uses some Pod parsing to check if they are all covered. But running code is something CPANTS just cannot do (at least not for all of CPAN (Win32::*, interfaces to various C libraries, etc). Thus, I finally get to an action item: CPANTS should encourage authors to run Module::CPANTS::Analyse offline before uploading to CPAN. I assert that if we can convince authors to perform more thorough tests of their packages at author-time, then the quality of CPAN will improve. And the more closely the metrics match our real quality goals, the bigger the quality delta we will achieve. Well, I could add a metric like 'has_test_kwalitee' to check for t/99_kwalitee.t which uses Test::Kwalitee :-) Basically, nearly most of what you said describes quite exactly what I think. When I took over CPANTS, I was targetting low-hanging fruits (like some simple-to-check files). Now, we are implementing more complex metrics that are obviously more meaningfull than simple does-this-file-exists-stlye metrics. In theory, we can now remove some of the very simple metrics (that might not make that much sense), i.e. has_test_pod (no_pod_errors is much better) and has_test_pod_coverage The main reason why they're still here is because I do get reports from people that say that adding these two test files (which they maybe never heard of before (not everybody hangs around on YAPCs, IRC, use.perl and perlmonks...)) made them add more/better docs. Which is good. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: post-YAPC::Europe CPANTS news
Hi! On Wed, Sep 06, 2006 at 04:28:56PM -0400, Michael G Schwern wrote: Thanks for the updates, Thomas. And now on with the complaining! :-) - has_example An optional metric that checks if the author included a dir called 'eg|ex|example(s?)' which in turn includes at least on *.pl IMO examples in an example directory are a detriment, not a bonus. The one advantage of dedicated examples for me is that I can take that example file (mostly downloaded from search.cpan.org), run it, modifiy it, run it etc. This hardly works with code embedded in the docs, as this code tends to be overly verbose (eg no 'use strict' etc). In fact I was only made aware of 'examples' during the discussion here a while ago. I used examples several times since, as a first step to get used to a distribution. So I think they are valuable. Examples go in the installed docs or they are lost. The docs could state that there are some ready-to-run examples in that dir in the distribution. Additionally, if you're going to keep this thing around, restricting the examples to .pl files penalizes HTML (Mason or other templating system), POD and module examples. [1] It would be best to just say that the directory contains something. You're right (and several other people that suggested that). I'll change it in the next run. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: post-YAPC::Europe CPANTS news
Hi! On Thu, Sep 07, 2006 at 10:23:39AM +1000, Adam Kennedy wrote: - has_example I thought we were generally negative on this one, because it would encourage people to spuriously add trivial example directories to their distributions... Yes, but I've recently introduced the concept of 'optional' metrics. Optional metrics are not used to calculate an authors rank in the CPANTS game. Current optional metrics are 'is_prereq' and 'has_examples'. This also makes it possible to get 110% kwalitee at the moment :-) As a secondary point, if we keep it you might also want to include /sample(s)/ and /demo(s)/. Thanks, added - declares_dependencies It might be an interesting idea to also add a dependencies_exist metric, that makes sure that all the dependencies that are declared actually exist in the CPAN. Dunno, could be of dubiously little value, but I just managed to somehow upload something with bad deps that I had installed on my local machine, but that weren't all on CPAN yet... It might also catch possible CPANTS bugs. - no_open_bugs If we are going to do this, we have to make sure that we DON'T include wishlist bugs in this metric, or it blows the validity all to hell. I was thinking of something like 'no open bugs with severity wishlist (or even unimportant) and more than two weeks old'. 'Taken' bug reports are obviously also not counted. - Signature checking ? I looked into this a bit more recently, with all the Module::Signature changes. I think this is a bad idea. .. I agree - has_rating ? Bad idea I think as well, because it will encourage spurious ratings. This is the same reason that ratings aren't factored into the search.cpan result order. CPAN Ratings currently has most of it's value because it doesn't matter much, and so it encourages high quality reviews. I also do not really like this metirc, I just wrote it down because it was suggested some time ago. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
post-YAPC::Europe CPANTS news
Hi! During YAPC::Europe in Birmingham I did a (rather short and un-hackish) hackathon. Slides are available here: http://domm.plix.at/talks/2006_birmingham_cpants/ During YAPC, I added a few new metrics: - manifest_matches_dist Check if the stuff listed in MANIFEST matches what's in the dist - buildtool_not_executable Check if the buildtool (Makefile.PL, Build.PL) are not executable (and thus need to be called with 'perl Build.PL' thereby specifying which exact version of Perl you want) - has_example An optional metric that checks if the author included a dir called 'eg|ex|example(s?)' which in turn includes at least on *.pl This resulted in quite some movement in the CPANTS game... I've also changed the display of the authors page http://cpants.perl.org/author/DOMM optional metrics (is_prereq and has_example) are now visually seperated from the core metrics. The site cpants.perl.org is still not very stable due to a Catalyst/DBIx::Class-Bug (or more likely a bug in my usage of them) Oh, and if you want to join the fun and help a bit, here's a (probably incomplete) list of tasks: - Metrics: - has_license - no_boilerplate - has_valid_filenames - declares_dependencies - no_open_bugs - Signature checking ? - has_rating ? - relation of subs to lines of code ? - Scripts - Generate a SQLite DB dump from the postgres DB - Catalyst Frontend - sqash bug - Split up dist/view into several sub-pages - API / Webservice -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
[EMAIL PROTECTED]: CPANTS Hackathon at YAPC::Europe 2006]
Hi! So I was stupid enough to offer an CPANTS hackathon at YAPC::Europe 2006... If you're interested, join us (or only me...) on 31st Aug from 14:00 to 17:30 in the Shadowcat Room. I've put a few infos up in the wiki: http://wiki.birmingham2006.com/WikiPlan/wiki.pl?CpantsHackathon -- #!/usr/bin/perl ... http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Dependency trees
Hi! On Thu, Jul 20, 2006 at 10:24:49PM -0500, Andy Lester wrote: Is there anything out there that will generate a tree of dependencies, probably based on META.yml? AFAIK there are several people working on stuff like that (Graph::Dependency, Module::Dependency, CPAN::Dependency, maybe more). I would like to add this to CPANTS, too. But I haven't found the time to do it, or to check which of those solutions work best with CPANTS. Recently, there also was some discussion here on something like CPAN::DB (or ::Index). Then there's the CPANTS db, (postgres with a DBIx::Class interface (Module::CPANTS::DB), but I still need to find a way to share the postgres db (maybe with pg_dump)... If it doesn't exist, I'll write it. I just don't want to reinvent the wheel. I think there are several wheels out there, but they might not be very round... (to be honest, I didn't try any of the aforementioned modules, I just know that they exist) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: some CPANTS news
Hi! On Thu, Jul 20, 2006 at 12:17:02AM +0200, Thomas Klausner wrote: Please note the for the next few hours cpants.perl.org will show slightly strange results, as a big reindexing is currently happending. It's finished by now. Here's a list of dists failing the new Module::Install metric: http://cpants.perl.org/dist/shortcoming?metric=has_working_buildtool 452 Distributions failing 'has_working_buildtool' I'd appreciate if somebody with some knowledge of the issues with old Module::Install version could check if this list seems reasonable. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee metric: Community support channels
Hi! On Thu, Jul 20, 2006 at 01:56:36PM +0200, Salve J Nilsen wrote: Is there a (public) authoritative META.yml spec describing required, recommended and supported fields? http://module-build.sourceforge.net/META-spec.html -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee metric: Broken Installer
Hi! On Tue, Jul 18, 2006 at 12:27:30PM +0200, Steffen Mueller wrote: domm: What do you think? Is this a good metric? If so, would you like to include the plugin in the distribution or do you want me to upload a separate distribution? I've added your code to CPANTS (with some minor modification). Currently, I'm reindexing the whole of CPAN, which will take several hours (and I'll go to bed soonish, so I'll check results tomorrow morning) I haven't put out new releases of the various CPANTS tools yet, but I'll do so soon. Thanks a lot again! -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
some CPANTS news
Hi! I've found some tuits to spend on CPANTS, so I changed the whole author rating thing (aka the CPANTS game). I've split the metrics into core metircs and optional ones. At the moment, the only optional metric is 'is_prereq'. I've also changed the kwalitee rating from absolut to relative (i.e. percentages). If a dist satisfies all core metrics, it gets 100% kwalitee. If it satisfies all core and optional metrics, it gets more then 100% kwalitee. For the author rankigns, I'm not counting the optional metrics. So now you won't loose rank if you publish a new ('perfect') dist because nobody is using it... Please note the for the next few hours cpants.perl.org will show slightly strange results, as a big reindexing is currently happending. Oh, and thanks for all the feedback in the past few days. I keep notes of all thats discussed here and care about it. (I was ill for two weeks recently, so I have quite a bit of $work to do (but this week our kids are on holiday with my father, which gives me some tuits...)) As you might know, the organisers of YAPC::Europe tricked me into offering a CPANTS hackathon. If you're interested (and in Birmingham) I'd appreciate some visitors (on the other hand, if no one shows up, I won't miss some interesting talks ...) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS is not a game.
Hi! On Thu, May 25, 2006 at 09:51:06PM +0200, Philippe BooK Bruhat wrote: Le mardi 23 mai 2006 ? 21:56, Thomas Klausner ?crivait: And no, I won't take the fun out of CPANTS. Then why did you filter out the Acme modules from the prereq lists? Mmm? For example, see http://cpants.perl.org/dist/Bot-MetaSyntactic and http://cpants.perl.org/dist/Acme-MetaSyntactic-RefactorCode The problem is caused by cascading deletes in the DB. If there's a new version of Acme::MetaSyntactic, the current info in the DB is deleted. After analysis of Acme::MetaSyntacit, the new info is inserted. The problem is that Bot::MetaSytactic didn't change and thus didn't get reindexed. But the reference from Bot::MS to Acme::MS was deleted. In error. I'll try to fix that soon. Thanks for the pointer. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS is not a game.
Hi! On Fri, May 26, 2006 at 11:35:14PM +1000, Adam Kennedy wrote: What the hell is the run thing in the latest run... is the run just half-way through or something? that was a bug in the templates. resolved now. (FYI: 'run' stores when the data was analysed (using what version of cpants)) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS is not a game.
Hi! On Thu, May 25, 2006 at 09:51:06PM +0200, Philippe BooK Bruhat wrote: Le mardi 23 mai 2006 ? 21:56, Thomas Klausner ?crivait: And no, I won't take the fun out of CPANTS. Then why did you filter out the Acme modules from the prereq lists? Mmm? For example, see http://cpants.perl.org/dist/Bot-MetaSyntactic and http://cpants.perl.org/dist/Acme-MetaSyntactic-RefactorCode Both list Acme::MetaSyntactic as a prerequisite in Makefile.PL, but it doesn't appear in the Listed Prerequisites nor in the Modules/pragmas/etc use'd by Acme-MetaSyntactic-RefactorCode lists (and therefore doesn't get its well earned is_prereq point). That's a bug, not a feature :-) I'll take a look later. BTW, there seems to be quite some dists missing since I switched to the new version. But it's rather hard to find bugs etc when a complete run takes several hours... Another side effect is that CPANTS gives false information. Thats why it says ALPHA VERSION - Hic sunt dracones! on every page. And Please take all the information presented here with a grain of salt. The methods used to test the distributions are a bit flakey, and some of the Kwalitee indicators are still subjects of discussions (which should happen on the perl-qa list). on the start page. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS is not a game.
Hi! I missed most of this discussion due to work and a very important shopping trip to IKEA (well, maybe not that important, but I'll let you argue this out with my girlfriend...) I'm also a bit exhausted now, so here are just some semi-random comments on this thread: - I think the biggest problem with CPANTS now is lack of (meaningful) tests. There were a lot of suggestions for more tests on this list, in private mail (and some even in my brain..). The only problem is that I never had time implementing them ($job etc, you know). Then, in Jannuary this year, I changed jobs, so I had to move CPANTS to a new server. At the same time I did some fundamental changes to the internals (e.g. factor out Module:CPANTS::Analyse to allow for stuff like Test::Kwalitee and cpants_lint.pl) But... I'm now settled in my new job (and new appartment), the new and improved CPANTS is running on a new server (provided by yi.org, thanks again to Tyler MacDonald!). So basically all the time I can spend on CPANTS will go into new tests (eg a check if used modules (minus stuff in Module::CoreList) matches PREREQ_PM). - Until I grok PPI and merry it with CPANTS, testing distribution kwalitee is basically the only halfway serious option. Even this doesn't work all the time (see has_test_pod*). Dist tests are low-hanging fruits. But I'll promise I'll reach further. Later... - CPANTS as a multiplayer online game is an easy way to get peoples attention without totaly offending them. I /could/ send an email to everybody on CPAN with some 'helpfull hints' on how to improve kwalitee. I guess the biggest effect would be to get added to some SPAM blacklists etc... But with the tongue-in-cheek 'highscore lists', people get interested/hooked and DO improve their code. I got several mails of people who discovered semi-serious problems in their code (eg missing 'use strict' statements) because they checked their CPANTS ratings. If people want to 'cheat', that's ok for me. As soon as I have some time to spend on the issue, I can improve the tests (but that's rather low on my todo list, as I like to assume that we are all grown-ups and do not need faked cpants ratings to boost our ego (I might be wrong...)). And no, I won't take the fun out of CPANTS. - With regard to various problems with certain metrics: I won't remove a single metric unless I (or somebody else...) implemented a new one (and even than I'll think very hard before removing it) Again, serveral people found bugs/lacks of docu thanks to has_test_pod_coverage. Yes, some people use other tools to check pod/code coverage. Ok, some people don't ship their developer test suite to the world. But those are very few and very able authors. They do not need CPANTS to increase their kwalitee. But there are hundreds of authors who do need hints to increase kwalitee (most likely because there's a new trend in Perl, and not everyone attends YAPCs / reads all the lists / etc). CPANTS is a way to introduce those new (or not so new) trends to the majority of CPAN authors who do not participate in the 'inner circles' of PERL. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: W3C validator
Hi! On Mon, May 08, 2006 at 09:01:19PM +0300, Gabor Szabo wrote: I checked it again, one can download the source code of their service from here http://validator.w3.org/source/ and it is even packaged in some of the linux distros. (It is of course slightly outdated on Debian) Someone might want to write a wrapper around it or maybe use WebService::Validator::HTML::W3C with a local URL instead of the real W3C service. Several years ago I worked on a project where we needed a commandline interface to the W3C HTML validator. Back then, the cgi-script was basically a wrapper around some SGML parser/validator, only doing parameter munging and file upload handling etc. So what we did was to use the SGML parser itself and ditch the W3C middleware. ... I took a look at their current code, which seems much different / better now (templates vs inline prints, etc). So maybe reusing it is an option... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Proposed kwalitee metric: installer_not_executable
Hi! On Sat, Mar 18, 2006 at 06:12:37PM +1100, Adam Kennedy wrote: I'd like to propose a Kwalitee test installed_not_executable be added for which you get the Kwalitee point if and only if: 1) Both Makefile.PL and Build.PL (if they exist) are not executable 2) Both Makefile.PL and Build.PL (if they exist) do not have a leading hash-bang line I like it :-) BTW, new and improved CPANTS is nearly finished. And sorry that I wasn't commenting on a few threads lately, but there was a lot of @jobs and $real_live stress which is mostely resolved now. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Test::Kwalitee 0.10
Hi! On Thu, Feb 16, 2006 at 08:02:27AM +0100, Andreas J. Koenig wrote: I've just opened a ticket on RT about the issue. A new version is on it's way to CPAN. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee in your dependencies (was CPAN Upload: etc etc)
Hi! On Tue, Jan 31, 2006 at 10:36:47AM -0800, Tyler MacDonald wrote: OK, speaking of Kwalitee, I saw cpants for the first time today. And saw that it claims to update every sunday, but there hasn't been an update since december 5th. On the one hand I'm having problems with the server (which is ancient and overloaded), on the other hand I quited my job at the company where the server is located (it's our dev-box). So until I find a new server (either at my new job or somewhere else) I won't update cpants.perl.org. Hmm, maybe I should put a note up there... I also saw this interesting .pm file that appeared to have an anonymous hash of every tarball in CPAN in it, all on one line. That nearly crashed my browser. Well, that's really outdated. I think it's a leftover from Leon Brocard. :-) What's up with CPANTS? Is it a defunct project? No. Last week I released Module::CPANTS::Analyse http://use.perl.org/~domm/journal/28475 As soon as I find a server and some tuits, I will revive cpants.perl.org -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Hi! I finally found some tuits to work on CPANTS again. As the previous implementation had some drawbacks, I started from scratch, and from another direction. I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of the previous Kwalitee indicators and some code to check if one distribution tarball conforms to those indicators. It also includes a script calls icpants_lint.pl/p which is basically a frontend to the module. Example: cpants_lint.pl path/to/Foo-Bar-1.42.tgz Checked distFoo-Bar-1.42.zip Kwalitee rating 15/16 Here is a list of failed Kwalitee tests and what you can do to solve them: * has_changelog Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions. With Module::CPANTS::Analyse you can now check Kwalitee before uploading to CPAN. Test::Kwalitee should be easly doable now. I will add some more Kwalitee indicators soon, and then start to look for a new server (I start a new job in February so I won't be able to use my old dev-box for this). - Forwarded message from PAUSE [EMAIL PROTECTED] - The uploaded file Module-CPANTS-Analyse-0.5.tar.gz has entered CPAN as file: $CPAN/authors/id/D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz size: 20772 bytes md5: 1a4d1ec910402d7cb4d76bf89693f0d8 - End forwarded message - -- #!/usr/bin/perl ... http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Test::Kwalitee - Where is it hosted?
Hi! On Tue, Oct 04, 2005 at 04:15:45PM +0100, Dave Cross wrote: Dear List, In Perl Testing - A Developers Notebook it has a section on Test::Kwalitee. .. Actually the book strongly suggests that it's a real module which runs the Kwalitee checks on your code .. That's from section 4.9 Validating Kwalitee. In june, chromatic informed me that he planned something like Test::Kwalitee. AFAIK it was/is in 'proof of concept'-stage, mostly because CPANTS was a fast-moving target back then (I was rewriting stuff a lot...) BTW, Module::CPANTS::Generator nwo includes a script called lint.pl http://search.cpan.org/src/DOMM/Module-CPANTS-Generator-0.43/cpants/lint.pl that sort of runs kwalitee checks on an unreleased dist. It's not documented and hardly working (e.g. it can only test on dist, and reporting is done by writing a sqlite file (with a fixed name...)) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Apologies for my last post.
Hi! On Wed, Sep 28, 2005 at 12:41:31PM +0100, Gavin Henry wrote: I have just re-read the summary of this list; A list for discussing and planning CPANTS, the quality assurance effort for CPAN modules. and realised this is the wrong list for my last post. No it's not. The summary should be changed. CPANTS is one small and IMO not so important topic on this list. General testing discussions are much more important than CPANTS, and this list has mostly been used for them. I think there where maybe three or four CPANTS threads in total... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Apologies for my last post.
Hi! On Wed, Sep 28, 2005 at 02:07:13PM +0200, David Landgren wrote: I have just re-read the summary of this list; A list for discussing and planning CPANTS, the quality assurance effort for CPAN modules. and realised this is the wrong list for my last post. No it's not. module-authors is perhaps a better fit. Whatever, but the perl-qa description should be changed to something that reflects the actual usage of this list better - by whoever has the powers to change it. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: New kwalitee test, has_changes
Hi! On Fri, Sep 23, 2005 at 12:54:42PM +1000, Adam Kennedy wrote: Collecting any sort of coverage data is a complete bitch. Let me just say right now that doing it across _all_ of CPAN is flat out impossible. It's impossible. I completly agree. Now, if somebody sets up a system to collect coverage data thats generated at various decentralised machines and provides a nice interface to the results, CPANTS might be able to use coverage statistics as a metric. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: New kwalitee test, has_changes
Hi! On Wed, Sep 21, 2005 at 11:58:36AM +0200, David Landgren wrote: To me, this is a mark of Quality. It would be good to have it as a Kwalitee metric, but I see no easy way. The simplest way I can see would be to have a META.yml key that contains a URI to the HTML D::C report. I would rule out adding a cover/ subdirectory to the distribution due to the impact it would have on CPAN repositories. CPANTS will never use Devel::Cover directly, because CPANTS doesn't run the code it's looking at. I think somebody once suggested a central server/service to collect Devel::Cover statistics. Maybe slightly parallel to how testers work, but I'm not sure and haven't got any time ATM to ask google.. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Plugging CPANTS
Hi! On Sun, Sep 18, 2005 at 08:18:17PM -0500, Andy Lester wrote: Can someone please write up a paragraph and a link that I can put up on qa.perl.org's front page? Took me a bit longer than planned, but renovating our new appartment sucks up a lot of time... Anyway, I rewrote some of the pages on cpants.perl.org and I think that this is a reasonable introduction for qa.perl.org: -- start -- CPANTS is an acronym for CPAN Testing Service. The goals of the CPANTS project are to provide some sort of quality measure (called Kwalitee) and lots of metadata for all distributions on CPAN. Please take all the information presented here with a grain of salt. The methods used to test the distributions are a bit flakey, and some of the Kwalitee indicators are still subjects of discussions (which should happen on the perl-qa list). -- end -- Enhancements by people who actually /can/ speak/write proper English are highly anticipated. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Plugging CPANTS
Hi! On Sun, Sep 18, 2005 at 08:18:17PM -0500, Andy Lester wrote: For all the activity going on with CPANTS, we have nothing on qa.perl.org that refers to it. Can someone please write up a paragraph and a link that I can put up on qa.perl.org's front page? I'll wirte up something a bit later today. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS new
Hi! On Sun, Sep 18, 2005 at 11:48:02AM +0200, David Landgren wrote: Seriously though, I have a module whose test suite includes Test::Pod and Test::Pod::Coverage, except that I use the following construct: SKIP: { skip( 'Test::Pod not installed on this system', 1 ) unless do { eval qq{ use Test::Pod }; $@ ? 0 : 1; }; pod_file_ok( 'foobar.pm' ); } The cpants analysis fails to recognise this as valid. What is it looking for and/or could it be taught to look for this? I thought that it was only looking for a string eval of use Test::Pod. It does, but the qq{} you're using isn't recognised by the regex. I'll try to improve it a bit. In the long run I'd like to use PPI to parse the code properly (or at least some magnitudes more proper than I do). Congratulations on a job well done! Thanks! -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS new
Hi! On Sun, Sep 18, 2005 at 12:24:26PM +0200, Tels wrote: The cpants analysis fails to recognise this as valid. What is it looking for and/or could it be taught to look for this? I thought that it was only looking for a string eval of use Test::Pod. I would like to know the same. I do want to add pod-tests, but not burden users of my module with a dependency on yet-another-test-module. (If the pod tests pass on my dev system, they are very likely to pass at the users system, too. So no point in running the tests there always) something like this does work: eval use Test::Pod 1.00; plan skip_all = Test::Pod 1.00 required for testing POD if $@; CPANTS only didn't recognise Davids way of quoting 'use Test::Pod'. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS new
Hi! On Sun, Sep 18, 2005 at 09:30:03PM +0200, David Landgren wrote: Yeah, but I'm loathe to dedicate two separate test files merely to score two points of Kwalitee. As it is, I'd just much rather bundle both tests in a 00_basic.t file along with all the other standard no-brainer tests. I'm not sure if Test::Pod and Test::Pod::Coverage can be run from the same test script. AFAIK all_pod_files_ok sets the plan, and all_pod_coverage_ok does so too. I guess it will work if you set the plan by yourself. CPANTS doesn't care if you're using one or several files. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: New kwalitee test, has_changes
Hi! On Fri, Sep 16, 2005 at 09:23:10AM +1000, Adam Kennedy wrote: Yeah, something like that. Changes, for a suitably flexible value of Changes I implemented this in CPANTS. It will be in the next release (tomorrow), results should be available on Sunday morning. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Why are we adding more kwalitee tests?
Hi! On Wed, Sep 07, 2005 at 03:13:31PM +0300, G?bor Szab? wrote: On 9/7/05, David Golden [EMAIL PROTECTED] wrote: a) all tests are relevant b) all tests matter equally (are equally weighted) c) higher score means higher quality The scores are available in the database. There's no reason that someone can't use it to generate their own Qualitee score or a core Kwalitee or whatever subset they think matters. IIRC there was some talk about the possibility to change the weigths of the various metrics to form your own Kwalitee score. Would it be possible to add my own idea about the relative weights of the various metrics and use the current gui to view everything using this set of values ? I was thinking about this but am no where near implementing it. For that matter is the source of the GUI available for reading and patching ? http://search.cpan.org/dist/Module-CPANTS-Site/ But it's rather ugly on the inside, I'm afraid. And you'll need Module::CPANTS::DB (which lives in Module::CPANTS::Generator) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Why are we adding more kwalitee tests?
Hi! On Wed, Sep 07, 2005 at 05:31:37AM +1000, Andrew Savige wrote: flame wars. Best, at least for now, is to simply publish some kwalitee metrics as an optional aid to enthusiastic CPAN authors. If they prove good and useful, they will naturally become better known. Some of my recent thoughts about CPANTS: *) The metrics should help the average Perl programmer to generate better distributions. If a few people use better techniques (that might be too tough for 'average' programmers) it might happen that they do not get all the points. (cf has_test_pod_coverage vs using Dever::Cover et.al) But it's better for CPAN as a whole: A few people add pod-coverage tests because they get a few more points. *) CPANTS is not describing the one and only way how to write Perl / pack distribution. It's more of an online mutliplayer game where people submit their dists which than fight against my evil metrics. Please do not take CPANTS too serious. It might evolve into something really usefull, but currently it's way to simple-minded. As it says on the new Catalyst-powered web frontend: http://cpants.perl.org ALPHA VERSION - Hic sunt dracones! -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee and has_test_*
Hi! On Thu, Apr 07, 2005 at 01:17:40PM +1000, Adam Kennedy wrote: Adding a kwalitee check for a test that runs Devel::Cover by default might on the surface appear to meet this goal, but I hope people recognize it as a bad idea. Why, then, is suggesting that people ship tests for POD errors and coverage a good idea? Although I've now added the automated inclusion of a 99_pod.t to my packaging system (less for kwalitee than that I've noticed the odd bug get through myself) why doesn't kwalitee just check the POD itself, rather than make a check for a check? It does: no_pod_errors Shortcoming: The documentation for this distribution contains syntactic errors in it's POD. Defined in: Module::CPANTS::Generator::Pod I added the check for Test::Pod because somebody requested it (together with Test::Pod::Coverage). While I can see the point why people object to this metrics, I currently leave them in, mostly because I've got no time for CPANTS right now (mostly because of the Austrian Perl Workshop organisation (shameless plug: http://conferences.yapceurope.org/apw2005/) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee and has_test_*
Hi! On Mon, Apr 04, 2005 at 10:32:14AM +0100, David Cantrell wrote: Thomas Klausner wrote: I cannot check POD coverage because Pod::Coverage executes the code. No it doesn't. Yes, it does. Pod::Coverage uses Devel::Symdump to get a list of all subs. That said, if you don't want to run the code you're testing, you are, errm, limiting yourself rather badly. http://domm.zsi.at/talks/2005_brussels_cpants/s00023.html -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee and has_test_*
Hi! On Sun, Mar 27, 2005 at 11:40:45AM +0100, Tony Bowden wrote: There are now two kwalitee tests for 'has_test_pod' and 'has_test_pod_coverage'. These check that there are test scripts for POD correctness and POD coverage. Actually they check if Test::Pod and Test::Pod::Coverage are used in a test script. These seem completely and utterly wrong to me. Surely the kwalitee checks should be purely that the POD is correct and sufficiently covers the module? Well, sort of. In fact, there is a check for pod correctnes (no_pod_errors). I cannot check POD coverage because Pod::Coverage executes the code. Which is something I do not want to do (for various reasons, see http://domm.zsi.at/talks/2005_brussels_cpants/s00023.html ). Otherwise a distribution which has perfectly correct POD, which completely covers the module, is deemed to be of lesser kwalitee, and listed on CPANTS as having shortcomings. Well, kwalitee != quality. Currently, kwalitee basically only says how well-formed a distribution is. For my definition of well-formed :-) But I'm always open to suggestion etc. Several kwalitee indicators have been removed because people convvinced me. Several where added (e.g. has_test_pod_coverage) We should be very wary of stipulating HOW authors have to achieve their quality. Saying you can only check your POD in one specific way goes to far IMO. That's a good point. OTOH, I know of several people who added Pod::Coverage to their test suites (and hopefully found some undocumented methods...) because of this metric. Thus one goal (raising the overall quality (!) of CPAN) is reached. Anyway, I invite everybody to suggest new metrics or convince me why current metrics are bad. And nobody is going to stop you from fetching the raw data (either all the YAML files or the SQLite DB) and create your own Kwalitee (yay, heretic kwalitee!). -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Kwalitee and has_test_*
Hi! On Fri, Apr 01, 2005 at 10:59:04AM -0800, chromatic wrote: Why, then, is suggesting that people ship tests for POD errors and coverage a good idea? I'm not 100% sure if it's a good idea, but it's an idea. But then, if I write some test (eg to check pod coverage), why should I not ship them? It's a good feeling to let others know that I took some extra effort to make sure everything works. Oh, and I really look forward to the time when I grok PPI and can add metrics like has_cuddled_elses and force /my/ view of how Perl should look like onto all of you. BWHAHAHAHA! OK, seriously. CPANTS currently isn't much more than a joke. It might have some nice benefits, but it is far from a real quality measurment tool. Never will it happen that the Perl community decides on one set of kwalitee metrics. That's why we're writing Perl, not Python. Currently, CPANTS tests for what is easy to test, i.e. distribution layout. Soon it will test more interesting stuff (eg. does prereq and used modules match up or are used modules missing from prereq). But feel free to ignore it... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
new CPANTS version data
Hi! (crossposted from use.perl.org, http://use.perl.org/~domm/journal/20508) As our kids where with their grandparents today and nothing else (cleaning up etc) was todo, I used my tuits to work on CPANTS. The results are a new version on CPAN (should arrive at your CPAN mirror/search.cpan.org soonishly) and some new data. The new version now uses Module::MakefilePL::Parse for Makefile.PL parsing, nice progress bars courtesy of Term::ProgressBar, information on CPAN authors, a nicer dist (MANIFEST, prerequisits), and some minor improvements. But it doesn't contain more Kwalitee indicators. In fact it contains less, as I dumped bad_permissions. Maximum Kwalitee is 9 now, which is achieved by 142 distributions. Average Kwalitee is 6.85366795366795. Here's the Kwalitee distribution: sqlite select kwalitee,count(kwalitee) as cnt from kwalitee group by ... kwalitee order by kwalitee; kwalitee cnt -- 0 32 1 4 2 15 3 87 4 79 5 315 6 1595 7 3794 8 1702 9 147 cpants.db now includes a new table called authors which provides information on CPAN authors (cpanid, name, email, average kwalitee of all dists by this author, total number of dists) Here are the top 20 authors: (highest average Kwalitee AND more then 5 dists on CPAN sqlite select name,cpanid,average_kwalitee,distcount from authors where ... distcount5 order by average_kwalitee desc limit 20; name cpanid average_kwalitee distcount -- -- Dave Rolsky DROLSKY 8.18918918918919 37 Adam Kennedy ADAMK 8.12121212121212 33 Domizio DemichelisDOMIZIO 8 13 David Wheeler DWHEELER8 12 Mark Stosberg MARKSTOS8 7 Joshua HoblittJHOBLITT8 6 Julius C. Duque JCDUQUE 8 17 BarbieBARBIE 8 8 Fabien Potencier FABPOT 8 11 Stephan Buys STEPHANB8 12 Ron SavageRSAVAGE 8 25 Brian IngersonINGY7.979167 48 Elizabeth Mattijsen ELIZABETH 7.975 40 Ian Langworth IAN 7.9 10 Steven Schubiger SCHUBIGER 7.84615384615385 13 Schuyler Erle SDERLE 7.83 6 Dana HudesDHUDES 7.83 6 D. H. PODMASTER 7.81818181818182 11 Ross McFarlandRMCFARLA7.81818181818182 11 Dave CrossDAVECROSS 7.812516 You can get the SQLite file here: http://cpants.dev.zsi.at - Forwarded message from PAUSE [EMAIL PROTECTED] - Date: Sun, 22 Aug 2004 22:50:30 +0200 Subject: CPAN Upload: D/DO/DOMM/Module-CPANTS-Generator-0.21.tar.gz To: Thomas Klausner [EMAIL PROTECTED] From: PAUSE [EMAIL PROTECTED] The uploaded file Module-CPANTS-Generator-0.21.tar.gz has entered CPAN as file: $CPAN/authors/id/D/DO/DOMM/Module-CPANTS-Generator-0.21.tar.gz size: 13620 bytes md5: 249e7ecd1e0991dfbd88b1da70eb509e No action is required on your part Request entered by: DOMM (Thomas Klausner) Request entered on: Sun, 22 Aug 2004 20:49:24 GMT Request completed: Sun, 22 Aug 2004 20:50:29 GMT Thanks, -- paused, v460 - End forwarded message - -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS preview
Hi! On Fri, Jul 23, 2004 at 03:29:10AM +0100, Tim Bunce wrote: The DBI gets 9. The one failure is permissions_ok: permissions_ok (i.e. all files are read/writable by extracting user) Why is that a kwalitee issue? I don't think it warrants impacting the kwalitee. First: Currently there is no real definition of Kwalitee. Now it consists of stuff that's easy to test and that I'm interested in. Personally, I'm annoyed by dist that I cannot remove after installation. If files are read-only, I'll have to do extra steps during deleting. So I like dists which no read-only files. Which is why it's a Kwalitee indicator. If we (whoever is interested in this issue) deciede that containing read-only files is not a big issue, than we can drop this indicator (or any other...) But IMO a polite maintainer should make it easy to remove a dist after installation. p.s. It'll cause problems for anyone using a source code control system that keeps files read-only - like RCS and CVS do. That's the reason the DBI has many read-only files. (I use svn now, but used to use RCS.) I think it was also a problem with Module::Build / ExtUtils::Manifest. See here: http://rt.cpan.org/NoAuth/Bug.html?id=4124 But again: defining Kwalitee is defintly not something I want to do on my own. I only provided first suggestions ... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS preview
Hi! On Fri, Jul 23, 2004 at 04:56:40AM +0200, Paul Johnson wrote: At the moment the focus seems very much on packaging. That's fine, but it does mean that correctly packaged junk looks pretty good. True, but most junk /is/ packaged badly. At its much easier to check for bad packages than for bad content. See this for Schwerns great Ashtray/Lung Cancer Methapher: http://magnonel.guild.net/~schwern/talks/CPANTS/full_slides/slide006.html In time, some more metrics would be good. definitly! Some suggestions: - How do the CPAN testers reports look? - What does cpanratings think? - Some analysis of the RT action. - Number of releases, perhaps in relation to the size of the code. More releases expected for larger code. all planned to some extend or the other... - Static analysis. Hard, but planned. - Test coverage. Impossibly, because CPANTS does not run code. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS preview
Hi! On Fri, Jul 23, 2004 at 08:41:58AM +0200, James Mastros wrote: - Having POD - Not having the POD that h2xs puts in I wonder how many dists are authored by R.U. Thor :-) - Having a README thats allready covered. BTW, I tend to think that modules that require lots of other things deserve lower kwalitee... Why? and that perhaps in addition to kwalitee we should attempt to track importance. Hmm, I was thinking of importance beeing a part of Kwalitee. It seems to make sense, but I think it will be to complicated now. Maybe later? You can get importance for: - being listed as a (prereq|recommendation|build_prereq) for something else (in relation to the importance of that thing) - having lots of CPAN testers reports - having lots of RT activity - having lots of rating votes - having good rating votes (The two above can probably be simplified by taking the sum of all rating votes.) - Being the most recent version of the dist in question - Not being a devel (IE with-underscore) version. BTW, it should be possible to use the raw data to calculate importance. So maybe all that's needed is a script that does some SQL munging... BTW, all modules should probably be considered to depend on perl itself, no matter what the metadata we have says -- otherwise perl gets an unfairly low importance. CPANTS doesn't test Perl itself. BTW, what's $report-{files}{ninja}? see here: http://use.perl.org/comments.pl?sid=21487op=threshold=0commentsort=0mode=threadtid=34pid=32773#32817 A standalone tester would be very nice -- so authors can test their kwalitee before they upload, rather then after. Thats also planned. Something like 'lint' for dists. There's a couple of misspelled fields in the kwalitee report. Which ones? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS preview - coverage in CPAN testers reports
Hi! On Sat, Jul 24, 2004 at 07:46:30PM +0300, Gabor Szabo wrote: On Sat, 24 Jul 2004, Thomas Klausner wrote: - Test coverage. Impossibly, because CPANTS does not run code. But it could fetch it from some other place that does it, right ? Right. Back when Leon was maintaining CPANTS there was some talk of having a mothership which could collect infos from various sources. What about adding (optional) coverage reports to the reports the CPAN testers send in ? That might be a good idea. But AFAIK, coverage reports can vary greatly on different platforms/Perls/installed modules (But I'm not a coverage guru... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
CPANTS (was Re: Script to find Module Dependency Test Results...)
Hi! On Mon, Jul 19, 2004 at 12:12:39AM -0400, Robert Rothenberg wrote: I have a prototype Perl script that will determine the dependencies of a given CPAN distribution, and then check CPAN Testers for any failure reports of that distro or dependent distros for a given platform. Sounds a little bit like CPANTS, the CPAN Testing Service. I'll do a talk on it at YAPC::Europe, so if you're there we could talk about joining forces. If you're not there, we can use email :-) One downside of CPANTS is that it cannot actually run code (for various reasons), so we might not be able to actually work together. But I don't know how your script is working, so... BTW, I've currently found some time to do some work on CPANTS. It's not ready for release, but interested parties can take a look at http://svn.zsi.at:1000/repos/Module-CPANTS-Generator/trunk/ But beware: docs are missing and/or false, so it might be better to wait a little bit... Just now I'm generating stats, which will probably take some time to complete. I'll post links to results as soon as they are available. As I've got some time right now, I'll post a short overview of how CPANTS is working: *) fetch all dist from CPAN using CPANPLUS (examples/fetch_cpan.pl) *) analyse all dists using the generator in Module::CPANTS::Generator::* by running the Canalyse method in the generators. this step generates a yaml-file for each dist in dir metrics. (examples/anaylse_dists.pl) *) calculate kwalitee by looking at the yaml-metrics, adding the kwalitee infos to the yaml file (examples/calc_basic_kwalitee.pl) *) generate a SQLite DB from the yaml-metrics (examples/yaml2sqlite.pl) *) calculate more kwalitee. This time we can use the sqlite-DB do to cross-referencing. (eg in Generators::Prereq I check if a dist is required by three or more other dists. If it is, it get's more kwalitee (although I'm not sure if this is a good metric..)) (examples/calc_complex_kwalitee.pl) When all is finished there is a yaml file for each dist and a SQLite-DB containting all the infos in an easy-to-query format. I've attached the metrics yaml file for Acme::Bleach I generated during testing... Feedback/Patches welcome... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/} --- #YAML:1.0 dist: Acme-Bleach-1.12 distribution: dist_without_version: Acme-Bleach extension: tar.gz extractable: 1 extracts_nicely: 1 package: Acme-Bleach-1.12.tar.gz version: 1.12 version_major: 1 version_minor: 12 files: build_pl: 0 count_bad_permissions: 0 count_dirs: 4 count_files: 19 count_symlinks: 0 list_bad_permissions: '' list_dirs: demo,lib,lib/Acme,t list_files: ! - Changes,MANIFEST,Makefile.PL,README,demo/demo_DWIM.pl,demo/demo_bleach.pl,demo/demo_bleach_c.pl,demo/demo_bleach_eng.pl,demo/demo_bleach_lisp.pl,demo/demo_bleach_sh.pl,demo/demo_empty.pl,demo/demo_morse.pl,demo/empty,lib/Acme/Bleach.pm,lib/Acme/DWIM.pm,lib/Acme/Morse.pm,t/DWIM.t,t/bleach.t,t/morse.t list_symlinks: '' makefile_pl: 1 manifest: 1 meta_yml: 0 ninja: 0 readme: 1 signature: 0 kwalitee: extracts_nicely: 1 has_buildtool: 1 has_manifest: 1 has_meta_yml: 0 has_readme: 1 has_version: 1 is_prereq: 0 kwalitee: 7 no_pod_errors: 0 no_symlinks: 1 permissions_ok: 1 pod: errors: 3 release: date: Tue May 22 02:17:11 2001 epoch: 990490631 size: packed: 4299 unpacked: 11479
CPANTS preview
Hi! I ran CPANTS today, you can view results here: http://cpants.dev.zsi.at/ ( or http://test1.dev.zsi.at if DNS isn't updated..) in /metrics there is a yaml-file for each dist cpants.db (or cpants.db.gz) is a SQLite DB file Oh, there might be a bug, because 100 dists didn't get any kwalitee when at least some of them should... Max Kwalitee is 10, which is reached by 99 dists. dist can get kwalitee for: extracts_nicely (i.e. in a proper subdir, not in current dir) has_version no_symlinks permissions_ok (i.e. all files are read/writable by extracting user) has_readme has_manifest has_meta_yml has_buildtool (either Makefile.PL or Build.PL) no_pod_errors is_prereq (is listed as PREREQ by at least 3 other dists) sqlite select kwalitee,count(kwalitee) as cnt from kwalitee group by kwalitee order by kwalitee; kwaliteecnt -- -- 0 100 1 1 2 6 3 28 4 80 5 123 6 482 7 1986 8 3433 9 1365 10 99 -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Looking for module dependency information
Hi! On Sun, Jul 11, 2004 at 09:14:28AM +0100, Tony Bowden wrote: For a slightly easier approach, Module::CPANTS has a 'requires_recursive' method which lists all the dependencies, and all their dependencies, etc. Well it had this information, but currently it hasn't. But it will have it again soon, as I'm currently working on it. In the meantime you can try this; http://www.cpan.org/authors/id/D/DO/DOMM/cpants_20040210.db.gz A SQLite-DB containing CPANTS info. A bit outdated, but still quite informative. E.g., from 6317 distributions, only 718 contain a Meta.YML file. select count(meta_yml) from files where meta_yml=1; -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Aborting testsuits
Hi! On Mon, Feb 23, 2004 at 05:01:54PM +, Adrian Howard wrote: On Monday, February 23, 2004, at 02:40 PM, Thomas Klausner wrote: [snip] Is there a way to abort a whole testsuite? [snip] Yup. Take a look at BAILOUT in Test::Builder. Doing: Test::More-builder-BAILOUT should stop Test::Harness in its tracks. Thanks, this is working. Is there any reason why BAIL_OUT is marked as unimplemented in the Test::More docs? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
[ANNOUNCE] Module-CPANTS-Generator-0.010
Hi! Finally, here's my first release of Module::CPANTS::Generator, a framework to test all distributions on CPAN for 'kwalitee'. It should be easier to use and run, it should be easer to add new metrics and different ways to report results. On the downside, it currently includes less metrics than Leon Brocards last release... Please note that you'll need a jet unreleased version of CPAN::DistnameInfo to run CPANTS (it's in the docs how to get it..) For various reasons I currently cannot run CPANTS to provide you with fresh results, but this situation should change real soon. In the meantime, you can get (very) old results (generated with a much less improved version of Module::CPANTS::Generate) from here: Similar to Leons Module::CPANTS http://domm.zsi.at/download/Module-CPANTS-as-Hash-0.20031022.tar.gz The same data, but in a SQLite DB (much easier to query) http://domm.zsi.at/download/cpants.db.gz I'll appreciate feedback, questions, patches etc. I suggest using the perl-qa list for this purpose. - Forwarded message from PAUSE [EMAIL PROTECTED] - The uploaded file Module-CPANTS-Generator-0.010.tar.gz has entered CPAN as file: $CPAN/authors/id/D/DO/DOMM/Module-CPANTS-Generator-0.010.tar.gz size: 16317 bytes md5: 71cc7b034a4e3dc1fcae230d3815f1f8 - End forwarded message - -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: RFC: CPAN QA Project
Hi! On Wed, Dec 03, 2003 at 01:24:40PM -0500, Adam Foxson wrote: I suggested that it might be a sane idea to consider starting a project who's mission would be to take over the maintenance of distributions that, for lack of criteria with greater specificity: a) are popular, well-used distributions b) are no longer being actively maintained by their authors c) have unresolved rt tickets of a significant amount of time a) and b) are hard to check, but c) would be an interesting metric for CPANTS (release pending...). You might be able to use low kwalitee ratings combined with an old release date to locate even more unmaintained (or maybe just uninteresting) distributions -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Fri, Oct 17, 2003 at 10:09:04PM +0100, Nicholas Clark wrote: Something I'd be curious about: Modules with lower case names which aren't pragmas. (although how you determine this is hard) Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of those are in fact real distributions (eg. perl, parrot). In fact I think that perl itself shouldn't be part of CPANTS I've no clue on how to figure out if something is a pragmatic module (any hints appreciated..) abbreviation-0.02 again-0.02 autobless-1.0.1 autobox-0.06 base-2.01 base-Glob-0.01 bbobj-0.5.0 beancounter_0.6.2 bid bignum-0.14 bioperl-0.05.1 bioperl-0.6.2 bioperl-0.7.0 bioperl-1.0 bioperl-1.0.2 bioperl-1.2 bioperl-1.2.1 bioperl-1.2.2 bioperl-db-0.1 bioperl-ext-0.6 bioperl-gui-0.7 bioperl-run-1.2.2 bitflags-0.10 capitalization-0.01 chronos-1.1.6.1 compatlib-1.2 conjury-1.004 coroutine0-0.02 csv2txt-2.0 ctflags-0.03 cvswebedit-v2.0b1 cyrillic-1.05 cyrillic-2.09 c_plus_plus-0.1 dapple-0.21 dateheader-1.0 dbd_rdb-1_16 dbMan-0.31 dbsh-0.01 ddb-1.3.1 deltax-modules-3.06 dTemplate-2.4 ebx-0.87 ec-1.25 enum-1.016 enum-fields-1.0 eperl-2.2.13 ePortal-3.2 esmith-1.70 eSTAR-RTML-1.7.0 etext.1.6.3 ex-constant-vars-0.01 ex-lib-zip-0.03 ex-newest-0.02 ex-override-1.1 examples extensible_report_generator_1.13 extproc_perl-1.03 fameperl-2.1.3 finance-yahooquote_0.20 fldbm-0.01 font_ft2_0.1.0 forks-0.04 former-0.2beta foundation-0.03 frogbak gcrypt-0.3 gettext-1.00 gettext-1.01 glist-0.9.17a10 gmuck-1.07 grepmail-4.80 grepmail-5.10 grepmail-5.20 hp200lx-db-0.09 html2latex-1.1 htpl-3.14 http-headers-useragent-1.00 i2c-0.1 if-0.0101 import-1_01 interface-0.02 io-page-0.02 iodbc_ext_0_1 iPerl-0.6 jp_beta_1 kif-1.02 kif-2.01 lastlog.pm.gz libao-perl_0.03-1 libapreq-1.2 libintl-perl-1.01 libnet-1.0703 libnet-1.16 libplot-perl-2.1.6.2b libservlet-0.9.1 libservlet-0.9.2 libsirc-0.12 libwin32-0.191 libwww-perl-5.10 libwww-perl-5.53 libwww-perl-5.69 libxml-enno-1.02 libxml-perl-0.07 llg-1.07 load-0.05 log loose-0.01 lot makepp-1.19 mixin-0.04 mmds-1.902 modules-0.04 mod_perl-1.27 mod_perl-1.28 mqs-header-0.01 mqs-spool-0.03 mssql-1.008 namespace-0.05 new.spirit-2.0.26 new.spirit-2.1.19_beta nsapi_perl-0.24 only-0.26 optimize-0.03 optimizer-0.05 parrot-0.0.10 parrot-0.0.3 parrot-0.0.4 parrot-0.0.5 parrot-0.0.8.1 parrot-0.0.9 parrot-0_0_7 payroll-0.4 pBLADE-0.10 pcsc-perl-1.0.8 pcsc-perl-1.2.2 pee-1.07 perl-5.6.1 perl-5.7.1 perl-5.7.2 perl-5.7.3 perl-5.8.0 perl-5.8.0-RC1 perl-5.8.0-RC2 perl-5.8.1-RC4 perl-GPS-0.12 perl-GPSData-0.02 perl-GPSData-0.04 perl-ldap-0.15 perl-ldap-0.251 perl-ldap-0.28 perl-ldap-0.29 perl-lisp-0.05 perl-vgalib-0.4 perl5-byacc-patches-0.6 perl5.00402-bindist04-msvcAlpha perl5lib-1.02 perldap-1.4 perlhbm-0.01 perlindex-1.301 perlipq-1.25 perlmenu.v4.0 perlrpcgen-0.71a perlSGML.1997Sep18 perl_archie.1.5 persist-0.3.2 persist-0.3.3 pgk_xs-0.05 pgsql_perl5-1.9.0 pod2lyx-0.25 podlators-1.27 poest-0.20030407 pop-0.07 ppt-0.12 pref.pm.gz pRPC-modules-0.1005 psh-1.8 ptkFAQ-0_03 punctuation-0.02 pyperl-1.0 qtpl_perl-0.5 randompass-0.01 release-0.23 releasesystem-1.00 rlib-0.02 rms router-lg-0.98a rubyisms-1.0 savevars-0.07 sdf-2.001beta1 shishi-0.0.1 shufflestat-0.0.3 sitemapper-1.019 smg smime-0.7 sol-inst-0.90a sparky-public-1.06 speech_pm_1.0 spent-0.1 stem-0.10 strict-ModuleName-0.04 sub-curry-0.04 swig1.1p5 sybperl-2.15 tagged-0.1 tagged-0.40 tinyperl-1.0-580-win32 tkjuke-2.0.6 traceFunc-0.1 tux_perl-0.01 txt2html-2.03 types-0.05 typesafety-0.01 ubertext-0.95 uninit-1.00 uny2k-19.101 vague-1.3 variable-1.1 version-0.29 vm-1.0.1 vpopmail-0.08 vsDB-1.4.3 vstadaf-0.01 w3mir-1.0.10 web-1.44 webchat-0.05 webchat-0.64 wildproto-1.0.1 win-0.01 win32-guidgen-0.02 wing-0.9 xanton+xiri-0.63 xdbfdump-0.03 xisofs-1.3 xml-rax-0.01 xslt-parser-0.13 xxx2lout-1.35 your-0.01 -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Fri, Oct 17, 2003 at 09:42:21PM -, Rafael Garcia-Suarez wrote: Thomas Klausner wrote in perl.qa : Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of those are in fact real distributions (eg. perl, parrot). In fact I think that perl itself shouldn't be part of CPANTS I've no clue on how to figure out if something is a pragmatic module (any hints appreciated..) You could check for the interface type field in the module list : 'p' means 'pragmatic'. If the module list would be up to date that would be possible. But as it is currently rather unmaintained (or is it not??), the module list is of little help. Unfortunatly. You could also check if the distribution name matches a .pm file in the tarball. Oh, and the ex:: namespace is officially for experimental pragmas. thanks for the hints... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Mon, Oct 13, 2003 at 02:57:34AM -0700, Michael G Schwern wrote: On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote: * contains files: * Makefile.PL or Build.PL or configure configure? there are currently 4 dists on CPAN that only include a configure script (makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3) 179 do not include any of Makefile.PL, Build.PL or configure. Quite a lot come with two or three of those files. But IMO a 'configure' is not a proper subsitute for Makefile.PL/Build.PL, so I won't use it as a kwalitee indicator. * t/* or test.pl test.pl is not a good thing. It doesn't get parsed by make test. It just runs and spits the output to the screen. If a test fails, make test will still succeed. Still, its better than nothing at all. So t/* should hint more kwalitee than only test.pl Some ideas: * wheater PREREQ_PM matches used modules (hard!) Nearly impossible since: require Foo::Bar if $some_condition; There are obvioulsy edge cases, but one can detect the most plain use/require statements. Otherwise Module::Info-modules_used() can handle it. modules_used needs to compile the module, so it cannot be used for CPANTS. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Mon, Oct 13, 2003 at 07:46:02PM +0200, Tels wrote: * POD/Code ratio (what would be a good measurement?) No. Some _very_ complex code takes little documentation like: Agreed. Probably something like: *.pm file has more than 1000 lines of code = bad :-) CPANTS does/will count lines of code (and POD). While those numbers probably won't go into a kwalitee rating (while it still might be an interesting metric, so I'm not sure..), anybody can grab them and do their own weighting. (I /only/ use modules with less than 1000 lines of code. Everything longer must be crap...) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Mon, Oct 13, 2003 at 05:53:15PM -, Rafael Garcia-Suarez wrote: * POD/Code ratio (what would be a good measurement?) use Pod::Coverage ? As far as I know, Pod::Coverage compiles the module, which makes it not suitable for CPANTS. OTOH, it might be an interesting idea to allow CPANTS to compile code (and thus use stuff like Devel::Cover) if not testing the whole of CPAN, but linting one distribution. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Phalanx / CPANTS / Kwalitee
Hi! On Wed, Oct 15, 2003 at 03:24:22PM +0100, Leon Brocard wrote: Thomas Klausner sent the following bits through the ether: OTOH, it might be an interesting idea to allow CPANTS to compile code (and thus use stuff like Devel::Cover) if not testing the whole of CPAN, but linting one distribution. Yes. We've been thinking about this. It either needs stealing buildd from Debian, having a box we don't mind destroying every so often, or I see the biggest concern not so much with security / conflicting modules, but with modules that interface to third party code and thus need it installed (DBD::*, ImageMagick, GD, ...) Or is some build tool able to automatically fetch needed non-perl libs? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}