Man page - autodep8(1)

Packages contains this manual

Manual

autodep8

NAME
DESCRIPTION
USAGE
AUTOMATIC USAGE BY AUTOPKGTEST
HOW THE PACKAGE TYPE IS DETECTED
PACKAGE-SPECIFIC CONFIGURATION
All package types
octave (debian/tests/autopkgtest-pkg-octave.conf)
python (debian/tests/autopkgtest-pkg-python.conf)
COMBINING AUTO-GENERATED TESTS WITH MANUALLY SPECIFIED ONES
EXAMPLES OF PRODUCED TEST CONTROL FILES
dkms (kpatch)
elpa (flycheck)
go (prometheus)
nodejs (node-tar)
octave (octave-signal)
perl (libtest-most-perl)
php (php-composer-semver)
puppet_module (puppet-module-puppetlabs-mysql)
pybuild (python-ofxclient)
python (python-flaky)
r (r-cran-evaluate)
ruby (ruby-sqlite3)
COPYRIGHT

NAME

autodep8 - DEP-8 test control file generator

DESCRIPTION

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.

USAGE

$ 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.

AUTOMATIC USAGE BY AUTOPKGTEST

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.

HOW THE PACKAGE TYPE IS DETECTED

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.

PACKAGE-SPECIFIC CONFIGURATION

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:

All package types

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.

octave (debian/tests/autopkgtest-pkg-octave.conf)

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".

python (debian/tests/autopkgtest-pkg-python.conf)

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.

COMBINING AUTO-GENERATED TESTS WITH MANUALLY SPECIFIED ONES

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.

EXAMPLES OF PRODUCED TEST CONTROL FILES

dkms (kpatch)

Test-Command: /usr/lib/dkms/dkms-autopkgtest
Restrictions: needs-root, allow-stderr
Depends: @, dkms

elpa (flycheck)

Test-Command: dh_elpa_test --autopkgtest
Depends: @, @builddeps@
Restrictions: rw-build-tree

go (prometheus)

Test-Command: /usr/bin/dh_golang_autopkgtest
Depends: @, @builddeps@, dh-golang
Restrictions: allow-stderr
Architecture: !armhf

nodejs (node-tar)

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

octave (octave-signal)

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

perl (libtest-most-perl)

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

php (php-composer-semver)

Test-Command: phpunit-autopkgtest
Depends: @, phpunit, pkg-php-tools, @builddeps@,
Restrictions: allow-stderr, skippable,
Features: test-name=phpunit-autopkgtest

puppet_module (puppet-module-puppetlabs-mysql)

Test-Command: /usr/bin/dh_puppet_module_autopkgtest debian/tests/module_test.pp
Depends: @, dh-puppet, puppet-agent,
Restrictions: needs-root, isolation-container,
Features: test-name=dh-puppet-module-autopkgtest

pybuild (python-ofxclient)

Test-Command: pybuild-autopkgtest
Depends: @, pybuild-plugin-autopkgtest, @builddeps@,
Restrictions: allow-stderr, skippable,
Features: test-name=pybuild-autopkgtest

python (python-flaky)

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

r (r-cran-evaluate)

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

ruby (ruby-sqlite3)

Test-Command: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1
Depends: @, libsqlite3-dev,rake,ruby-hoe,ruby-minitest,ruby-redcloth, gem2deb-test-runner

COPYRIGHT

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/>.