Well after much playing about, I have finally sussed out a few methods to help me join the CPAN testing squad ... yey!
In previous journal entries I was looking at Outlook as the transport mechanism, but ultimately I wanted to obtain just the test reports and bulk send them when either the mail servers were quiet, or when I am connected to a network again. Since many of my tests are run against a current local mirror of CPAN (thanks to merlyn's script) I don't need to have a net connection to test the distributions. As a consequence I have now written Mail::File. On it's own it isn't a great deal of use, however, I have included a patch for Test::Reporter 1.20 and 2 scripts that can do the hard work should you need them. It's very Windows orientated, but with a few path changes, I'm sure it'll be fine on Linux. Well we'll see when I attempt a run on the laptop later.
This has been quite a fun exercise as I've learnt a little more about mail apps and some of the trouble they cause, plus I've tried a few new (for me) idioms that I'll now start using more. Along the way, I discovered pod2html to help me keep my POD in good working order, and that *.bat files only likes one cpansmoke command per batch file.
There are still some problems running cpansmoke within a shell, as sometimes the testing hangs indefinitely (ExtUtils-AutoInstall-0.54.tar.gz) or it loops continuously (File-AnySpec-0.05.tar.gz) when it can't find a pre-requisite that has the latest version installed (File::TestPath). There are some that fail on a details fetch (-d), even though I haven't specified a fetch, and others that just fail just because CPANPLUS is waiting for a user response even though the -a option is specified (Pod-MultiLang-0.06.tar.gz). The latter mainly happens with distributions that fail, so that'll be something I'm going to try and figure out first.
A-ha! That last one is the problem. In cpansmoke there is a line:
$ENV{VISUAL} = 'echo' if $auto; # let cpantest skip editing
which doesn't do what it's supposed to on Windows. In fact tracing the code back to that line, I'm surprise the auto feature works at all, as there doesn't appear to be anything that says don't ask if set to 'echo'. Curious. I've now changed:
$self->_start_editor();
to
$self->_start_editor() unless($ENV{VISUAL} eq 'echo');
which seems to have done the trick.
I hope to also finally get round to testing Mail::Outlook on Outlook Express tonight. djberg96 sent me a link which can stop the popup on send from Outlook, but by the looks of it, I'm not so sure that I want to install that. Plus now I have Mail::File it's less of a priority.