Skip to content

terceiro/autodep8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

See examples.md.

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