diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-04-23 14:22:11 -0400 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-04-23 14:22:11 -0400 |
commit | e7706c28cecffccb52f2f1e6a30a141f23fbfcf5 (patch) | |
tree | ddaff54e8ed852846e074d859104e16d43eddd31 | |
parent | c251bfd3e5033243aaa9e50c753299bc19602733 (diff) |
dh_auto_test: New program, automates running make test or make check if the Makefile has such a target.
-rw-r--r-- | debian/changelog | 2 | ||||
-rwxr-xr-x | dh_auto_build | 7 | ||||
-rwxr-xr-x | dh_auto_test | 65 |
3 files changed, 71 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog index 8cd39347..8f832d9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ debhelper (6.0.13) UNRELEASED; urgency=low * dh_auto_build: New program, automates building the package by either running make or using setup.py. (Support for cmake and other build systems planned but not yet implemented.) + * dh_auto_test: New program, automates running make test or make check + if the Makefile has such a target. -- Joey Hess <joeyh@debian.org> Tue, 22 Apr 2008 17:54:20 -0400 diff --git a/dh_auto_build b/dh_auto_build index 21798cc2..2d636ea3 100755 --- a/dh_auto_build +++ b/dh_auto_build @@ -16,7 +16,8 @@ B<dh_auto_build> [S<I<debhelper options>>] [S<B<--> I<params>>] =head1 DESCRIPTION dh_auto_build is a debhelper program that tries to automatically -build a package. If a Makefile is found, this is done by running make. +build a package. If a Makefile is found, this is done by running make (or +MAKE, if the environment variable is set). If there's a setup.py, it is run to build the package. This is intended to work for about 90% of packages. If it doesn't work, @@ -30,7 +31,7 @@ build process manually. =item B<--> I<params> Pass "params" to the program that is run. These can be used to suppliment -or override the standard parameters that dh_auto_build passes. +or override any standard parameters that dh_auto_build passes. =back @@ -39,7 +40,7 @@ or override the standard parameters that dh_auto_build passes. init(); if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") { - doit($ENV{MAKE}, @{$dh{U_PARAMS}}); + doit(exists $ENV{MAKE} ? $ENV{MAKE} : "make", @{$dh{U_PARAMS}}); } elsif (-e "setup.py") { doit("python setup.py", "build", @{$dh{U_PARAMS}}); diff --git a/dh_auto_test b/dh_auto_test new file mode 100755 index 00000000..74a80e8c --- /dev/null +++ b/dh_auto_test @@ -0,0 +1,65 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_auto_test - automatically runs a package's test suites + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_auto_test> [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. + +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 +just run the test suite manually. + +=head1 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. + +=back + +=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; + } + } +} + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess <joeyh@debian.org> + +=cut |