]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_test
Typo. Closes: #653339
[debhelper.git] / dh_auto_test
index 41a2e5d32826ec126c2ad78d772c253c28f37f9e..9d3fd93c56e738a0ba4ecc98e67322f8aae63d80 100755 (executable)
@@ -8,57 +8,54 @@ dh_auto_test - automatically runs a package's test suites
 
 use strict;
 use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
 
 =head1 SYNOPSIS
 
-B<dh_auto_test> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_test> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
 
 =head1 DESCRIPTION
 
-dh_auto_test is a debhelper program that tries to automatically run a
-package's test suite. If there's a Makefile and it contains a "test"
-or "check" target, then this is  done by running make (or MAKE, if the
-environment variable is set). If the test suite fails, the command will
-exit nonzero. If there's no test suite, it will exit zero without doing
-anything.
+B<dh_auto_test> is a debhelper program that tries to automatically run a
+package's test suite. It does so by running the appropriate command for the
+build system it detects the package uses. For example, if there's a
+Makefile and it contains a B<test> or B<check> target, then this is done by
+running B<make> (or B<MAKE>, if the environment variable is set). If the test
+suite fails, the command will exit nonzero. If there's no test suite, it
+will exit zero without doing anything.
 
 This is intended to work for about 90% of packages with a test suite. If it
-doesn't work, you're encoruaged to skip using dh_auto_test at all, and
+doesn't work, you're encouraged to skip using B<dh_auto_test> at all, and
 just run the test suite manually.
 
 =head1 OPTIONS
 
+See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
+system selection and control options.
+
 =over 4
 
 =item B<--> I<params>
 
-Pass "params" to the program that is run. These can be used to suppliment
-or override the any standard parameters that dh_auto_test passes.
+Pass I<params> to the program that is run, after the parameters that
+B<dh_auto_test> usually passes.
 
 =back
 
+=head1 NOTES
+
+If the B<DEB_BUILD_OPTIONS> environment variable contains B<nocheck>, no
+tests will be performed.
+
 =cut
 
-init();
-
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
-       $ENV{MAKE}="make" unless exists $ENV{MAKE};
-       foreach my $target (qw{test check}) {
-               # Use make -n to check to see if the target would do
-               # anything. There's no good way to test if a target exists.
-               my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
-               chomp $ret;
-               if (length $ret) {
-                       doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
-                       last;
-               }
-       }
-}
-elsif (-e "Build.PL" && -e "Build") {
-       $ENV{MAKE}="make" unless exists $ENV{MAKE};
-       doit($ENV{MAKE}, 'test', @{$dh{U_PARAMS}});
+if (get_buildoption("nocheck")) {
+       exit 0;
 }
 
+buildsystems_init();
+buildsystems_do();
+
 =head1 SEE ALSO
 
 L<debhelper(7)>