X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_auto_test;h=9d3fd93c56e738a0ba4ecc98e67322f8aae63d80;hb=18a0da8092ea9f3dc48bca92b36f592af25a608d;hp=74a80e8c166f24419cfe7e8888a7c4f09ddccc6d;hpb=e7706c28cecffccb52f2f1e6a30a141f23fbfcf5;p=debhelper.git diff --git a/dh_auto_test b/dh_auto_test index 74a80e8..9d3fd93 100755 --- a/dh_auto_test +++ b/dh_auto_test @@ -8,50 +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 [S>] [S I>] +B [S>] [S>] [S I>] =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 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 or B target, then this is done by +running B (or B, 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 at all, and just run the test suite manually. =head1 OPTIONS +See L> for a list of common build +system selection and control options. + =over 4 =item B<--> I -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 to the program that is run, after the parameters that +B usually passes. =back +=head1 NOTES + +If the B environment variable contains B, no +tests will be performed. + =cut -init(); - -if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") { - foreach my $target (qw{test check}) { - my $ret=system("make --question $target >/dev/null 2>&1"); - if ($ret == 0) { - doit(exists $ENV{MAKE} ? $ENV{MAKE} : "make", - $target, @{$dh{U_PARAMS}}); - last; - } - } +if (get_buildoption("nocheck")) { + exit 0; } +buildsystems_init(); +buildsystems_do(); + =head1 SEE ALSO L