diff options
Diffstat (limited to 'bpkg/system-package-manager-debian.test.cxx')
-rw-r--r-- | bpkg/system-package-manager-debian.test.cxx | 65 |
1 files changed, 8 insertions, 57 deletions
diff --git a/bpkg/system-package-manager-debian.test.cxx b/bpkg/system-package-manager-debian.test.cxx index 1853a4f..562344c 100644 --- a/bpkg/system-package-manager-debian.test.cxx +++ b/bpkg/system-package-manager-debian.test.cxx @@ -3,21 +3,17 @@ #include <bpkg/system-package-manager-debian.hxx> -#include <bpkg/types.hxx> -#include <bpkg/utility.hxx> - #include <map> #include <iostream> -#include <libbutl/manifest-parser.hxx> - -#include <libbpkg/manifest.hxx> - -#include <bpkg/package.hxx> +#include <bpkg/types.hxx> +#include <bpkg/utility.hxx> #undef NDEBUG #include <cassert> +#include <bpkg/system-package-manager.test.hxx> + using namespace std; namespace bpkg @@ -221,41 +217,7 @@ namespace bpkg if (i == aps.end ()) fail << "unknown package " << n << " in '" << l << "'"; - // Parse the manifest as if it comes from a git repository with a - // single package and make an available package out of it. - // - try - { - ifdstream ifs (f); - manifest_parser mp (ifs, f); - - package_manifest m (mp, - false /* ignore_unknown */, - true /* complete_values */); - - m.alt_naming = false; - m.bootstrap_build = "project = " + m.name.string () + '\n'; - - shared_ptr<available_package> ap ( - make_shared<available_package> (move (m))); - - lazy_shared_ptr<repository_fragment> af ( - make_shared<repository_fragment> ( - repository_location ("https://example.com/" + i->first, - repository_type::git))); - - ap->locations.push_back (package_location {af, current_dir}); - - i->second.push_back (make_pair (move (ap), move (af))); - } - catch (const manifest_parsing& e) - { - fail (e.name, e.line, e.column) << e.description; - } - catch (const io_error& e) - { - fail << "unable to read from " << f << ": " << e; - } + i->second.push_back (make_available_from_manifest (n, f)); } else if ( map<strings, path>* policy = @@ -307,25 +269,14 @@ namespace bpkg fail << "unknown keyword '" << k << "' in simulation description"; } - // Fallback to stubs as if they come from git repositories with a single - // package. + // Fallback to stubs and sort in the version descending order. // for (pair<const string, available_packages>& p: aps) { if (p.second.empty ()) - { - shared_ptr<available_package> ap ( - make_shared<available_package> (package_name (p.first))); + p.second.push_back (make_available_stub (p.first)); - lazy_shared_ptr<repository_fragment> af ( - make_shared<repository_fragment> ( - repository_location ("https://example.com/" + p.first, - repository_type::git))); - - ap->locations.push_back (package_location {af, current_dir}); - - p.second.push_back (make_pair (move (ap), move (af))); - } + sort_available (p.second); } system_package_manager_debian m (move (osr), |