Jess Robinson wrote:
On Wed, 19 Oct 2005, Ken Williams wrote:
On Oct 19, 2005, at 4:50 PM, Jess Robinson wrote:
My module will login to a web service and manipulate data
programmatically.. Nothing critical I assure you, just a tool ;) Since
theres no dummy/test account that I know of, I'll need the users
account/email address and password to login.
Typically you'd add some code to the Makefile.PL or Build.PL that asks the
user for a username/password to use for testing, and gives the user an option
to skip those tests. DBI modules often do this, for example (where the
username/password is for a database to access).
If you're using ExtUtils::MakeMaker, you'll have to find some file to stash
the information, probably somewhere in t/ . If you're using Module::Build,
have a look at the notes() method, which is for caching this kind of
information.
Right, I'd seen a few modules do this, but.. Is there a *standard* way of
doing it? Those Makefile.PLs tend to look cluttered and confusing IMO.. a
nice:
use Test::Auth;
get_user_fields("user", "password");
would be preferable.. (hmmm, could write something that does that, using
IO::Prompt.. anyone interested?)
If there's a standard way of doing it, it would be really nice that it
understood when it was being run in a smoke environment, and asked no
questions and used built-in defaults.
I haven't had time to look at this issue, but after having been smoking
CPAN uploads for a while, I'm astonished at the number of modules that
sit hanging on STDIN waiting for input.
David
Jess
--
"It's overkill of course, but you can never have too much overkill."