Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 263 lines (174 sloc) 7.44 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263
=head1 NAME

README - Perl Core Test Smoke Suite (1.30)

=head1 SYNOPSIS

  $ perl configsmoke.pl
  $ sh smokecurrent.sh

=head1 DESCRIPTION

The perl core test smoke suite is a set of scripts and modules that try to
run the perl core tests on as many configurations as possible and combine
the results into an easy to read report.

The basic cycle looks like:

    fetch_sourcetree
    foreach $config ( @configurations ) {
        make distclean
        ./Configure $config
        make
        make test (and log failures)
    }
    create_report()
    mail_report()

Before you start "smoking" we expect you have tried to build some of
the configurations "by hand" to check if your environment is okay.

=head1 INSTALLATION

The Test::Smoke suite has been designed to be installed outside of the
normal Perl library-tree. It will also run from the directory in which
it was un-tar-gzipped, but if you like to keep up to date with
Test::Smoke releases, it might be useful to use the standard
perl-module installation commands:

    $ perl Makefile.PL
    $ make test
    $ make install

The F<Makefile.PL> program will ask for a directory in which
Test::Smoke should be installed (this will set I<PREFIX>,
I<INSTALLSCRIPT> and I<LIB> all to that directory).

I<If you want to automate the Makefile.PL step you need to set two
environment variables: $ENV{SMOKE_INSTDIR}='../p5smoke' and
$ENV{PERL_MM_USE_DEFAULT}='y'>

You are now ready to run the F<configsmoke.pl> configuration program:

    $ perl configsmoke.pl

You will have to answer some questions that help create a
configuration file for the Test::Smoke suite.

You should check the F<perlcurrent.cfg> build-configurations file and
remove options that are not supported for your platform.

Now you are set to go:

    $ sh smokecurrent.sh

If something useful happens, do it every night using a scheduler.

=head1 CONFIGURATION

=over 4

=item Test::Smoke configuration

You can create configurations by running the F<configsmoke.pl>
program. Please see its L<documentation|configsmoke.pl>.

=item Build configurations

At the moment there are no guidelines of how to change the
build-configuration best to fit the needs of perl5-porters while still
getting as much smoke out of the test as possible, simply because the
needs of perl5-porters change over time:).

This also makes Test::Smoke somewhat volatile, as we aim to please the
perl5-porters as much as possible, to help make perl even better, more
stable and as thoroughly tested as possible.

=back

=head1 Note to MSWin32 users

To make it clear, the perl core test smoke suite treats B<cygwin> and
B<DJGPP> as unixy platforms and not as true MSWin32.

To keep in sync with the source-tree, it is recommended you use the
B<rsync> program. This currently seems only available with Cygwin
<http://www.cygwin.com>. (All the cygwin tools run perfectly well
under CMD.EXE, so don't let that stop you.)

Some problems have been reported with older versions of cygwin and the
patch program during the C<< S<[nd]make test> >> stage of
Test::Smoke. Don't worry about it if you do not intend to use patch.

Windows 95/98/ME do not seem to be ideal platforms to run Test::Smoke
on. F<COMMAND.COM> gives some problems while building perl. (See
F<README.win32>.)

We have found some problems with the default windows debugger
B<Dr.Watson>. By default Dr.Watson will pop-up when the moral equivalent
of a segmentation fault happens, this will make the smoke wait for
user input. You can disable this by starting F<drwtsn32.exe> and
un-check the B<Visual Notification> and B<Sound Notification>
check-boxes and press B<OK>.

There seems to be a problem with B<Microsoft .NET/Windows XP> and
segmentation faults, even if B<drwtsn32 -i> is run to set it as the
default debugger.

=head1 Slow Systems

It can happen that your system is not able to pursue all the tests, either
because it is too slow or because some of the configurations are not
supported by the system. At first, don't worry, they are detected by the
report creation script and shown as such.

After the first run gave you some idea of how long the smoke will run on
your system, you can create your own copy of smoke.cfg where you either
add new combinations and/or test levels, or delete lines to speed up the
run time of Test::Smoke.

=head1 Availability and references

=over 4

=item B<Distribution>

    http://search.cpan.org/dist/Test-Smoke/

=item B<Archives>

=over 4

=item B<Reports>

    <daily-build-reports@perl.org>
        [subscribe: <daily-build-reports-subscribe@perl.org>]
    http://www.nntp.perl.org/group/perl.daily-build.reports
    news:nntp.perl.org/perl.daily-build.reports

=item B<Smokers>

    <daily-build@perl.org>
        [subscribe: <daily-build-subscribe@perl.org>]
    http://www.nntp.perl.org/group/perl.daily-build
    news:nntp.perl.org/perl.daily-build

=item B<Others>

  Perl general QA: perl-qa@perl.org
  Development: perl5-porters@perl.org

=item B<The new smoke_db> (by Alain Barbet)

Alain Barbet has put a lot of effort in storing the smoke test
reports in a database and build a nice WEB-front-end:

    http://www.alianwebserver.com/cgi-bin/smoke_db

=item B<TinySmoke db>

I also keep a database of smokereports that are created by Test::Smoke
1.17 or higher.

    http://www.test-smoke.org/cgi/tsdb

=back

=back

=head1 REVISION

$Id: README 1155 2008-01-03 13:32:28Z abeltje $

=head1 COPYRIGHT and LICENSE

Copyright (C) 2001-2004

  * H.Merijn Brand
  * Abe Timmerman

This suite is free software; you can redistribute it and/or modify it
under the same terms as Perl itself, without consulting the author.

(Future) Co-Authors and or contributors should agree to this before
submitting patches.

See:

=over 4

=item * http://www.perl.com/perl/misc/Artistic.html

=item * http://www.gnu.org/copyleft/gpl.html

=back

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


=head1 AUTHOR

The perl core test smoke suite is maintained by Abe Timmerman
<abeltje@cpan.org>.

H.Merijn Brand <h.m.brand@hccnet.nl> in dialogue and consultation with
Michael Schwern <schwern@pobox.com>, the Perl QA pumpkin.

Contributors and/or co-authors:

    Configurations and
      nuts and bolts Nicholas Clark <nick@plum.flirble.org>
    smoke.sh Jarkko Hietaniemi <jhi@cc.hut.fi>
    Portability issues Will Coleda - IMG <wjc@infomg.com>
    Safety Richard Soderberg <rs@oregonnet.com>
    Win32/MSC5/dmake Mattia Barbon <mbarbon@dsi.unive.it>,
Abe Timmerman <abeltje@cpan.org>
    Cygwin John Peacock <jpeacock@rowman.com>
    Sharing issues Blair Zajac <blair@orcaware.com>
    Good ideas Jos Boumans <kane@dwim.org>
    VMS Craig Berry
    SysInfo Alain Barbet
                        Merijn Brand
                        Alan Burlison
                        Allen Smith
                        David Woolger
                        Campo Wijerman

and all the people having useful suggestions and nits, starting at
YAPC::Europe-2.0.01, where Michael talked Merijn into simplifying his own
test-suite and sharing it with the community.

The Test::Smoke team.

=head1 MISC

As always, have the appropriate amount of fun!

=head1 SEE ALSO

L<ReleaseNotes>, L<FAQ>

=head1 TODO

=over 4

=item * More test-suite

=item * VMS?

=back

=cut
Something went wrong with that request. Please try again.