Hi,

Gabor's recent question regarding testing say a system perl without having to 
install the
smoking toolchain sent me off thinking.

I had an epiphany last night.

The CPANPLUS distribution comes with a tool called 'cpanp-boxed' and bundled 
versions of modules
that it needs to boot-strap itself.

This means that it is possible to simply download the CPANPLUS distribution, 
extract it, chdir to 
the extracted distribution and:

  perl bin/cpanp-boxed

This boxed cpanp can now be used to install modules etc. without actually 
installing CPANPLUS.

Looking at the code for cpanp-boxed, it occurred to me that with the inclusion 
of a few more 
bundled modules and some extra bin/ scripts I could get something working to 
have CPAN Testing in
a boxed environment too.

So I did.

http://github.com/bingos/smoke-in-a-box/tree/master

The whole CPAN Testing environment in a box.

It includes bundled versions of Test::Reporter, Sort::Versions, 
Regexp::Assemble, Config::IniFiles,
YAML::Tiny and CPANPLUS::YACSmoke and two scripts yactest and yactest-boxed.

===========================================================================

$ git clone git://github.com/bingos/smoke-in-a-box.git
$ cd smoke-in-a-box/
$ perl bin/cpanp-boxed
cPAN Terminal> s conf email [email protected]

Key 'email' was set to '[email protected]'
CPAN Terminal> s conf cpantest_mx my.mail.gateway       # optional

Key 'cpantest_mx' was set to 'my.mail.gateway'
CPAN Terminal> s save boxed

Configuration successfully saved to CPANPLUS::Config::Boxed
CPAN Terminal> quit


Exiting CPANPLUS shell

$ perl bin/yactest-boxed

# Smoking happens

===========================================================================

yactest-boxed takes distributions to be smoked on the command-line

perl bin/yactest-boxed DISTRIBUTION DISTRIBUTION DISTRIBUTION 

Without any options it fetches the RECENT file from a CPAN mirror and starts 
processing distributions
from there.

I'll be writing a POE::Component::SmokeBox Backend for this soon so that one 
can use minismokebox
with this setup.

Cheers,

-- 
Chris Williams
aka BinGOs
PGP ID 0x4658671F
http://www.gumbynet.org.uk
==========================

Attachment: pgpOqhjHP5VVA.pgp
Description: PGP signature

Reply via email to