Skip GTK tests if no display available?

2011-08-25 Thread Thomas Klausner
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?

2011-08-25 Thread Thomas Klausner
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

2010-02-10 Thread Thomas Klausner
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

2010-01-29 Thread Thomas Klausner
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?

2009-08-10 Thread Thomas Klausner
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

2009-06-29 Thread Thomas Klausner
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

2009-04-19 Thread Thomas Klausner
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

2009-04-09 Thread Thomas Klausner
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

2009-02-19 Thread Thomas Klausner
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?

2009-02-10 Thread Thomas Klausner
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)

2008-09-04 Thread Thomas Klausner
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

2008-08-21 Thread Thomas Klausner
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

2008-07-18 Thread Thomas Klausner
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

2008-06-29 Thread Thomas Klausner
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

2008-06-25 Thread Thomas Klausner
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'

2008-06-24 Thread Thomas Klausner
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

2008-06-22 Thread Thomas Klausner
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

2008-06-03 Thread Thomas Klausner
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

2008-05-12 Thread Thomas Klausner
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

2008-05-08 Thread Thomas Klausner
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

2008-04-09 Thread Thomas Klausner
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

2008-04-01 Thread Thomas Klausner
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

2008-04-01 Thread Thomas Klausner
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

2008-02-21 Thread Thomas Klausner
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

2008-02-19 Thread Thomas Klausner
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

2008-02-19 Thread Thomas Klausner
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?

2008-02-05 Thread Thomas Klausner
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

2007-11-12 Thread Thomas Klausner
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...)

2007-09-13 Thread Thomas Klausner
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

2007-09-11 Thread Thomas Klausner
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

2007-09-11 Thread Thomas Klausner
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

2007-09-11 Thread Thomas Klausner
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

2007-06-06 Thread Thomas Klausner
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)

2007-06-01 Thread Thomas Klausner
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

2007-04-18 Thread Thomas Klausner
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

2007-03-11 Thread Thomas Klausner
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?

2007-03-06 Thread Thomas Klausner
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?

2007-03-06 Thread Thomas Klausner
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

2007-02-13 Thread Thomas Klausner
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

2006-11-07 Thread Thomas Klausner
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

2006-11-03 Thread Thomas Klausner
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

2006-11-03 Thread Thomas Klausner
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

2006-11-03 Thread Thomas Klausner
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

2006-10-24 Thread Thomas Klausner
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

2006-09-25 Thread Thomas Klausner
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

2006-09-13 Thread Thomas Klausner
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

2006-09-13 Thread Thomas Klausner
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

2006-09-12 Thread Thomas Klausner
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

2006-09-07 Thread Thomas Klausner
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

2006-09-07 Thread Thomas Klausner
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

2006-09-06 Thread Thomas Klausner
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]

2006-08-29 Thread Thomas Klausner
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

2006-07-21 Thread Thomas Klausner
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

2006-07-20 Thread Thomas Klausner
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

2006-07-20 Thread Thomas Klausner
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

2006-07-19 Thread Thomas Klausner
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

2006-07-19 Thread Thomas Klausner
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.

2006-05-29 Thread Thomas Klausner
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.

2006-05-29 Thread Thomas Klausner
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.

2006-05-26 Thread Thomas Klausner
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.

2006-05-23 Thread Thomas Klausner
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

2006-05-09 Thread Thomas Klausner
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

2006-03-20 Thread Thomas Klausner
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

2006-02-15 Thread Thomas Klausner
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)

2006-02-01 Thread Thomas Klausner
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

2006-01-26 Thread Thomas Klausner
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?

2005-10-04 Thread Thomas Klausner
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.

2005-09-28 Thread Thomas Klausner
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.

2005-09-28 Thread Thomas Klausner
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

2005-09-23 Thread Thomas Klausner
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

2005-09-21 Thread Thomas Klausner
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

2005-09-20 Thread Thomas Klausner
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

2005-09-19 Thread Thomas Klausner
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

2005-09-19 Thread Thomas Klausner
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

2005-09-19 Thread Thomas Klausner
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

2005-09-19 Thread Thomas Klausner
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

2005-09-16 Thread Thomas Klausner
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?

2005-09-07 Thread Thomas Klausner
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?

2005-09-06 Thread Thomas Klausner
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_*

2005-04-07 Thread Thomas Klausner
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_*

2005-04-04 Thread Thomas Klausner
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_*

2005-04-01 Thread Thomas Klausner
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_*

2005-04-01 Thread Thomas Klausner
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

2004-08-22 Thread Thomas Klausner
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

2004-07-24 Thread Thomas Klausner
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

2004-07-24 Thread Thomas Klausner
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

2004-07-24 Thread Thomas Klausner
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

2004-07-24 Thread Thomas Klausner
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...)

2004-07-22 Thread Thomas Klausner
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

2004-07-22 Thread Thomas Klausner
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

2004-07-12 Thread Thomas Klausner
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

2004-02-23 Thread Thomas Klausner
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

2003-12-05 Thread Thomas Klausner
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

2003-12-03 Thread Thomas Klausner
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

2003-10-17 Thread Thomas Klausner
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

2003-10-17 Thread Thomas Klausner
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

2003-10-15 Thread Thomas Klausner
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

2003-10-15 Thread Thomas Klausner
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

2003-10-15 Thread Thomas Klausner
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

2003-10-15 Thread Thomas Klausner
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$_.$/}


  1   2   >