autodep8 - DEP-8 test control file generator
autodep8 will detect well-known types of packages and generate DEP-8-compliant
test control files for them. It can be used by DEP-8 implementations to
support implicit test control files.
$ autodep8 # assumes source package in current dir
$ autodep8 /path/to/srcpkg # path to source package
If a known package type is detected, autodep8 exits with 0 and prints the
suggested contents of debian/tests/control to the standard output.
If a known package type is NOT detected, autodep8 exits with 1 and produces not
output.
autodep8 can be automatically called by
autopkgtest(1). To achieve that,
you must set the
Testsuite: field in the source package paragraph to
autopkgtest-pkg-TYPE, where
TYPE if one of package types
supported by autodep8. The valid values of
TYPE are listed below as the
headings of the "EXAMPLES OF PRODUCED TEST CONTROL FILES" section.
See the
autopkgtest(1) documentation for more details.
autodep8 will first look for
Testsuite: autopkgtest-pkg-TYPE field
in
debian/control. if
TYPE is a known package type, then that is
used. If not, each supported package type is tried against a set of
heuristics, based on packages names, build dependencies. specific files under
debian/, or a combination of those.
Packages can provide configuration for
autodep8 in
debian/tests/autopkgtest-pkg-${PACKAGETYPE}.conf. The file format is
the following:
# comment lines start with # and are ignored.
# note that #'s only mark comments when in the beginning of the line
# empty lines are also ignored
# values are set in this format:
var1=value1
# spaces around the = sign are allowed
var2 = value 2
# backslashes allow one to set values that span multiple lines.
# Note that the newline is removed in the final value, though
# The following is equivalent to "multilinevar=value1, value2"
multilinevar = value1, \
value2
The following configuration variables are supported:
extra_depends: extra test dependencies to be added to the generated
tests. Will be included as-is in the generated control file.
extra_restrictions: extra restrictions to be added to the generated
tests. Will be included as-is in the generated control file.
architecture: Adds restrictions on what architecture the generated tests
are suitable to run on. Will be included as-is in the generated control file.
test_env: value for the DH_OCTAVE_TEST_ENV environment variable that will
be used when invoking dh_octave_check. The default value of DH_OCTAVE_TEST_ENV
is "xvfb -a".
import_name: name of the module to import, if it cannot be inferred from
the name of the Debian package. For example, `python3-xlib` is used via
`import Xlib`, so `import_name = Xlib` would be appropriate. This used to be
configured by writing to `debian/tests/pkg-python/import-name`, but that is
now deprecated.
If `debian/tests/control` exists, autodep8 will prepend the contents of that
file to its own output. In that case, autodep8 will exit with a status of 0
even if no known package type is detected. The same applies for
`debian/tests/control.autodep8`, but the use of that file is deprecated
because the test dependencies defined there aren't processed by dpkg-source.
Test-Command: /usr/lib/dkms/dkms-autopkgtest
Restrictions: needs-root, allow-stderr
Depends: @, dkms
Test-Command: dh_elpa_test --autopkgtest
Depends: @, @builddeps@
Restrictions: rw-build-tree
Test-Command: /usr/bin/dh_golang_autopkgtest
Depends: @, @builddeps@, dh-golang
Restrictions: allow-stderr
Architecture: !armhf
Test-Command: /usr/share/pkg-js-autopkgtest/runner require
Depends: @, pkg-js-autopkgtest
Restrictions: superficial
Test-Command: /usr/share/pkg-js-autopkgtest/runner
Depends: @, @builddeps@, pkg-js-autopkgtest
Restrictions: allow-stderr, skippable
Test-Command: DH_OCTAVE_TEST_ENV="xvfb-run -a" /usr/bin/dh_octave_check --use-installed-package
Depends: @, octave-control (>= 3.1.0), dh-octave-autopkgtest (>= 0.5.6), xauth, xvfb
Restrictions: allow-stderr
Test-Command: /usr/share/pkg-perl-autopkgtest/runner build-deps
Depends: @, @builddeps@, pkg-perl-autopkgtest
Features: test-name=autodep8-perl-build-deps
Test-Command: /usr/share/pkg-perl-autopkgtest/runner runtime-deps
Depends: @, pkg-perl-autopkgtest
Features: test-name=autodep8-perl
Test-Command: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends
Depends: @, pkg-perl-autopkgtest
Restrictions: needs-recommends
Features: test-name=autodep8-perl-recommends
Test-Command: pybuild-autopkgtest
Depends: @, pybuild-plugin-autopkgtest, @builddeps@,
Restrictions: allow-stderr, skippable,
Features: test-name=pybuild-autopkgtest
Test-Command: set -e ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import flaky; print(flaky)" ; done
Depends: python3-all, python3-flaky
Restrictions: allow-stderr, superficial
Features: test-name=autodep8-python3
Test-Command: cd "$AUTOPKGTEST_TMP" ; pypy -c "import flaky; print flaky"
Depends: pypy-flaky
Restrictions: allow-stderr, superficial
Features: test-name=autodep8-pypy
Test-Command: /usr/share/dh-r/pkg-r-autopkgtest
Depends: @, r-cran-testthat,r-cran-testthat-dbgsym,r-cran-lattice,r-cran-lattice-dbgsym,r-cran-ggplot2, pkg-r-autopkgtest
Restrictions: allow-stderr
Test-Command: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1
Depends: @, libsqlite3-dev,rake,ruby-hoe,ruby-minitest,ruby-redcloth, gem2deb-test-runner
Copyright (c) 2014 by the contributing authors. See `git log` for details.
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <
http://www.gnu.org/licenses/>.