r77944 - /website/policy.pod

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Thu Jul 28 09:13:43 UTC 2011


Author: gregoa
Date: Thu Jul 28 09:13:40 2011
New Revision: 77944

URL: http://svn.debian.org/wsvn/?sc=1&rev=77944
Log:
policy amendment for test suites

Modified:
    website/policy.pod

Modified: website/policy.pod
URL: http://svn.debian.org/wsvn/website/policy.pod?rev=77944&op=diff
==============================================================================
--- website/policy.pod (original)
+++ website/policy.pod Thu Jul 28 09:13:40 2011
@@ -29,13 +29,15 @@
 
 =item 5. L<Package Naming Policy|/"Package Naming Policy">
 
-=item 6. L<Debian Maintainers practice|/"Debian Maintainers practice">
-
-=item 7. L<Release Process|/"Release Process">
-
-=item 8. L<Authors|/"Authors">
-
-=item 9. L<License|/"License">
+=item 6. L<Test suites|/"Test suites">
+
+=item 7. L<Debian Maintainers practice|/"Debian Maintainers practice">
+
+=item 8. L<Release Process|/"Release Process">
+
+=item 9. L<Authors|/"Authors">
+
+=item 10. L<License|/"License">
 
 =back
 
@@ -261,6 +263,58 @@
 
 =back
 
+=head1 Test suites
+
+CPAN distributions typically come with a test suite that is run at build time.
+As a general rule, we want to run as many tests as possible in order to catch errors.
+Some details need to be taken into account:
+
+=over 4
+
+=item *
+
+We can't run tests that need internet access.
+If they are run by default they must be disabled (if not controlled by a
+specific environment variable, a patch is required).
+                                                
+=item *
+
+We don't enable tests that are explicitly declared as upstream/author/release tests by the author
+(typically via an environment variable as I<RELEASE_TESTING>, I<AUTHOR_TESTING, >or I<TEST_AUTHOR>).
+
+Test designed to be run in automatic builds/installs (usually enabled by setting
+I<AUTOMATED_TESTING>) are fine.
+
+=item *
+
+Some tests are, even if not declared explicitly as release tests, a bit fragile and tend
+to break with new releases of the test modules, or test style and not functionality
+(Test::Perl::Critic, Test::Spelling, Test::Kwalitee, ...). It might be helpful to avoid running them.
+
+=item *
+
+Tests that are disabled or not enabled (like the ones needing internet
+access) should be run manually by the person preparing the package on their
+local machine before uploading.
+
+=item *
+
+Tests that need display access usually work with B<xvfb>:
+
+    debian/control:
+    Build-Depends(-Indep): ..., xvfb, xauth, ...
+
+    debian/rules:
+    override_dh_auto_test:
+        xvfb-run -a dh_auto_test
+
+=item *
+
+Some tests need versioned build dependencies for dual-lifed modules (e.g. B<Test::More>),
+cf. L<Build and runtime dependencies|/"Build and runtime dependencies">.
+
+=back
+
 =head1 Debian Maintainers practice
 
 The Debian project has adopted the Debian Maintainers (DM) concept (cf.
@@ -301,7 +355,7 @@
 
 =head1 LICENSE
 
-Copyright (c) 2004-2010 by the individual authors and contributors noted
+Copyright (c) 2004-2011 by the individual authors and contributors noted
 above.  All rights reserved. This document is free software; you may
 redistribute it and/or modify it under the same terms as Perl itself
 




More information about the Pkg-perl-cvs-commits mailing list