pungi/tests
Lubomír Sedlář ba0193ca28 gather: Add a hybrid depsolver backend
This patch adds a new gather method called `hybrid`, which uses a `fus`
binary, which must exist somewhere on the `$PATH`. It will call it
multiple times to add multilib packages.

The solver can handle packages, modules and comps groups as input.
However comps groups are never passed in. Pungi will expand it to a list
of packages to avoid issues with comps handling in fus. It ignores
optional packages, and if the group mentions a package that does not
exist, nothing else from the group is included.

Multilib is also handled outside of fus. Pungi will run it, parse the
packages from output, determines multilib packages and adds them as
input. Then it runs the solver again. This is done until nothing new is
added. Usually two passes should be enough.

Source packages and debuginfo are added as a final step. All debuginfo
packages from any included source are added. If the source or debuginfo
package is included in any lookaside repo, it will be skipped.

The tool expects to get a platform stream that should be provided for
modules to depend on. Pungi looks into the modules and gets the platform
from there. If there are more requests, an error is raised.

There is some missing functionality and options that are ignored.
Particularly these are:

 * gather_fulltree
 * gather_selfhosting
 * greedy_method

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2018-07-16 10:21:41 +02:00
..
data Add a phase for creating extra ISOs 2018-05-16 12:20:01 +02:00
fixtures init: Validate whitespace in comps groups 2018-06-25 11:58:52 +02:00
__init__.py Fix test data, improve Makefile. 2015-06-25 08:02:57 -04:00
helpers.py Always get old compose with release type suffix 2018-05-25 09:49:14 +02:00
test_arch.py arch: Make i386 map to i686 instead of athlon 2018-05-16 15:22:31 +02:00
test_arguments.py Update tests for Python 2.6 2018-03-29 16:34:52 +02:00
test_buildinstall.py buildinstall: Use metadata if skipped 2018-04-23 10:42:33 +02:00
test_checks.py Use modifyrepo_c if possible 2017-12-06 13:26:43 +01:00
test_compose.py createrepo: Allow disabling SQLite database 2018-05-21 08:13:29 +02:00
test_compose.sh tests: Fix test_compose.sh paths 2017-08-10 09:28:36 +02:00
test_comps_wrapper.py init: Validate whitespace in comps groups 2018-06-25 11:58:52 +02:00
test_config.py Validation of parameter skip_phases 2018-05-15 13:30:00 +02:00
test_config_validate_script.py Ostree can use pkgset repos 2018-02-08 15:23:15 +01:00
test_createiso_phase.py createiso: Break hardlinks by copying files 2018-06-20 12:40:43 +02:00
test_createiso_script.py El-Torito boot information on s390x 2017-12-14 10:08:30 +01:00
test_createrepo_wrapper.py createrepo: Use less verbose logs 2018-05-07 08:38:23 +02:00
test_createrepophase.py createrepo: Include empty modules 2018-06-22 12:54:39 +02:00
test_extra_files_phase.py tests: Work with older unittest2 2017-10-30 09:16:18 +01:00
test_extra_isos_phase.py Add a phase for creating extra ISOs 2018-05-16 12:20:01 +02:00
test_fus_wrapper.py gather: Add a hybrid depsolver backend 2018-07-16 10:21:41 +02:00
test_gather.py tests: Use dummy modulesdir for DNF 2018-04-04 12:23:43 +02:00
test_gather_method_deps.py Remove comps from arch repo 2018-04-12 13:52:36 +02:00
test_gather_method_hybrid.py gather: Add a hybrid depsolver backend 2018-07-16 10:21:41 +02:00
test_gather_method_nodeps.py gather: Use comps for given variant 2018-04-10 08:21:56 +02:00
test_gather_phase.py gather: Add a hybrid depsolver backend 2018-07-16 10:21:41 +02:00
test_gather_source_module.py Update tests for libmodulemd 1.4.0 2018-05-02 15:36:52 +02:00
test_graph.py Variant as a lookaside - configuration 2018-04-13 14:14:43 +02:00
test_imagebuildphase.py image-build: Drop suffixes from configuration 2017-11-01 12:47:36 +01:00
test_imagechecksumphase.py Add directory name for checksum file 2017-10-05 16:08:27 +02:00
test_initphase.py init: Validate whitespace in comps groups 2018-06-25 11:58:52 +02:00
test_iso_wrapper.py Tests fail if unittest2 library is missing 2018-04-09 07:47:17 +02:00
test_koji_wrapper.py kojiwrapper: Call chmod recursively 2018-06-04 13:11:37 +02:00
test_linker.py Remove executable permissions on test scripts 2016-10-25 10:42:16 +00:00
test_liveimagesphase.py live-images: Honor global settings for target 2017-10-09 13:46:54 +02:00
test_livemediaphase.py koji-wrapper: Log failed subtasks 2018-05-02 08:27:44 +02:00
test_lorax_wrapper.py Port to Python 3 2017-10-24 15:15:31 +02:00
test_media_split.py Include phase name in log for some phases 2016-11-23 16:47:22 +08:00
test_metadata.py extra-files: Allow configuring used checksums 2017-04-20 09:28:09 +02:00
test_notifier.py Update tests for Python 2.6 2018-03-29 16:34:52 +02:00
test_osbs_phase.py osbs: Generate unique repo names 2018-07-09 13:21:58 +02:00
test_ostree_installer_phase.py ostree-installer: Skip comps repo if there are no comps 2018-06-07 09:27:14 +02:00
test_ostree_phase.py Remove comps from arch repo 2018-04-12 13:52:36 +02:00
test_ostree_script.py ostree/utils: Drop timestamps from generated repo names - tests 2018-01-17 16:48:22 +01:00
test_patch_iso.py Use universal_newlines when running other commands 2017-10-24 15:15:31 +02:00
test_pathmatch.py Remove executable permissions on test scripts 2016-10-25 10:42:16 +00:00
test_phase_base.py Move ostree phase and pipelines for running phases 2018-02-26 13:43:44 +01:00
test_pkgset_pkgsets.py Fail early if input packages are unsigned 2018-02-13 12:35:55 +01:00
test_pkgset_source_koji.py pkgset: Apply module filters on pkgset level 2018-06-25 15:15:42 +02:00
test_repoclosure_wrapper.py repoclosure: Don't run build deps check 2017-01-30 10:16:03 +01:00
test_scm.py tests: Work with older unittest2 2017-10-30 09:16:18 +01:00
test_test_phase.py Use dnf backend for repoclosure on PY3 2017-12-06 13:26:43 +01:00
test_unified_isos.py tests: Work with older unittest2 2017-10-30 09:16:18 +01:00
test_util.py Expand version field during image_build using version_generator 2018-07-09 12:56:00 +02:00
test_variant_wrapper.py variants: Reject values with whitespace 2018-06-12 12:48:14 +02:00