]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_test
Apply manual pages conventions
[debhelper.git] / dh_auto_test
index ddc223e7c4356b8eb3e22ebc78d3f65e081062e2..ab361cc5cad6be9fe0c44b3be4675e6118a30bbd 100755 (executable)
@@ -7,54 +7,54 @@ dh_auto_test - automatically runs a package's test suites
 =cut
 
 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. These can be used to supplement
+or override the any standard parameters that B<dh_auto_test> 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;
-               }
-       }
+if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nocheck/) {
+       exit 0;
 }
 
+buildsystems_init();
+buildsystems_do();
+
 =head1 SEE ALSO
 
 L<debhelper(7)>