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 dh_auto_test at all, and
just run the test suite manually.
=head1 OPTIONS
=item B<--> I<params>
-Pass "params" to the program that is run. These can be used to suppliment
+Pass "params" to the program that is run. These can be used to supplement
or override the any standard parameters that dh_auto_test passes.
=back
+=head1 NOTES
+
+If the DEB_BUILD_OPTIONS environment variable contains "nocheck", no
+tests will be performed.
+
=cut
init();
+if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nocheck/) {
+ exit 0;
+}
+
if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
$ENV{MAKE}="make" unless exists $ENV{MAKE};
foreach my $target (qw{test check}) {
- # Make --question returns false if the target is
- # up-to-date. But we still want to run the target in this
- # case. So ceck if a target exists by seeing if make outputs
- # "Making target".
- my $ret=`LANG=C $ENV{MAKE} --question $target 2>/dev/null`;
+ # 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 ($ret =~ /^Making \Q$target\E/m) {
+ if (length $ret) {
doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
last;
}
}
}
+elsif (-e "Build.PL" && -e "Build") {
+ $ENV{MODULEBUILDRC} = "/dev/null";
+ doit(qw/perl Build test/, @{$dh{U_PARAMS}});
+}
=head1 SEE ALSO