Config::Model::models::Dpkg::Tests::Control(3pm) | User Contributed Perl Documentation | Config::Model::models::Dpkg::Tests::Control(3pm) |
Config::Model::models::Dpkg::Tests::Control - Configuration class Dpkg::Tests::Control
Configuration classes used by Config::Model
describes how autopkgtest interprets and executes tests found in Debian source packages.
See <https://salsa.debian.org/ci-team/autopkgtest/raw/master/doc/README.package-tests.rst>
Tests names. names of the scripts used for tests. For instance, if set to 'fred', autopkgtest will try to exexcute "debian/tests/fred".
Alternatively, a test command can be specified in "Test-Command" parameter. Optional. Type list of uniline.
Command executed to perform the tests. Optional. Type uniline.
Declares some restrictions or problems with the tests defined in this stanza. Depending on the test environment capabilities, user requests, and so on, restrictions can cause tests to be skipped or can cause the test to be run in a different manner. Optional. Type check_list. choice: 'rw-build-tree', 'breaks-testbed', 'needs-root', 'build-needed', 'allow-stderr', 'isolation-container', 'isolation-machine', 'needs-internet', 'needs-reboot', 'needs-recommends', 'flaky', 'skippable', 'skip-not-installable', 'hint-testsuite-triggers', 'superficial'.
Here are some explanations on the possible values:
When this restriction is present the test will usually be skipped unless the testbed's virtualisation arrangements are sufficiently powerful, or alternatively if the user explicitly requests.
Please use this considerately, as for large builds it unnecessarily builds the entire project when you only need a tiny subset (like the tests/ subdirectory). It is often possible to run "make -C tests" instead, or copy the test code to $AUTOPKGTEST_TMP and build it there with some custom commands. This cuts down the load on the Continuous Integration servers and also makes tests more robust as it prevents accidentally running them against the built source tree instead of the installed packages.
The test with the hint-testsuite-triggers restriction should not actually be run.
The packages listed as Depends for this test are usually indirect dependencies, updates to which are considered to pose a risk of regressions in other tests defined in this package.
There is currently no way to specify this hint on a per-test basis; but in any case the debian.org machinery is not able to think about triggering individual tests.
For example, a C library might have a superficial test that simply compiles, links and executes a "hello world" program against the library under test but does not attempt to make use of the library's functionality, while a Python or Perl library might have a superficial test that runs "import foo" or "require Foo;" but does not attempt to use the library beyond that.
Declares some additional capabilities or good properties of the tests defined in this stanza. Any unknown features declared will be completely ignored. See below for the defined features. Optional. Type uniline.
Declares that the specified packages must be installed for the test to go ahead. This supports all features of dpkg dependencies (see <https://www.debian.org/doc/debian-policy/#document-ch-relationships>), plus the following extensions:
@ stands for the package(s) generated by the source package containing the tests; each dependency (strictly, or-clause, which may contain |s but not commas) containing @ is replicated once for each such binary package, with the binary package name substituted for each @ (but normally @ should occur only once and without a version restriction).
@builddeps@ will be replaced by the package's "Build-Depends:", "Build-Depends-Indep:", and build-essential. This is useful if you have many build dependencies which are only necessary for running the test suite and you don't want to replicate them in the test "Depends:". However, please use this sparingly, as this can easily lead to missing binary package dependencies being overlooked if they get pulled in via build dependencies.
If no Depends field is present, "Depends: @" is assumed. Note that the source tree's Build-Dependencies are not necessarily installed, and if you specify any Depends, no binary packages from the source are installed unless explicitly requested. Optional. Type string.
Replaces the path segment debian/tests in the filenames of the test programs with path. I. e., the tests are run by executing built/source/tree/path/testname. path must be a relative path and is interpreted starting from the root of the built source tree.
This allows tests to live outside the debian/ metadata area, so that they can more palatably be shared with non-Debian distributions. Optional. Type uniline.
Most package tests should work in a minimal environment and are usually not hardware specific. However, some packages like the kernel, X.org, or graphics drivers should be tested on particular hardware, and also run on a set of different platforms rather than just a single virtual testbeds.
This field can specify a list of abstract class names such as "desktop" or "graphics-driver". Consumers of autopkgtest can then map these class names to particular machines/platforms/policies. Unknown class names should be ignored.
This is purely an informational field for autopkgtest itself and will be ignored. Optional. Type uniline.
2023-01-21 | perl v5.36.0 |