aboutsummaryrefslogtreecommitdiff
path: root/bpkg/system-package-manager-debian.test.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/system-package-manager-debian.test.cxx')
-rw-r--r--bpkg/system-package-manager-debian.test.cxx30
1 files changed, 27 insertions, 3 deletions
diff --git a/bpkg/system-package-manager-debian.test.cxx b/bpkg/system-package-manager-debian.test.cxx
index dc5f418..b44fdc1 100644
--- a/bpkg/system-package-manager-debian.test.cxx
+++ b/bpkg/system-package-manager-debian.test.cxx
@@ -26,6 +26,8 @@ namespace bpkg
//
// apt-cache-show <pkg> <ver> result comes from stdin
//
+ // parse_name_value debian-name value from from stdin
+ //
// main-from-dev <dev-pkg> <dev-ver> depends comes from stdin
//
int
@@ -80,7 +82,29 @@ namespace bpkg
s.apt_cache_show_.emplace (key, path ("-"));
- cout << m.apt_cache_show (key.first, key.second) << "\n";
+ cout << m.apt_cache_show (key.first, key.second) << '\n';
+ }
+ else if (cmd == "parse-name-value")
+ {
+ assert (argc == 2);
+
+ string v;
+ getline (cin, v);
+
+ package_status s (m.parse_name_value (v, false, false));
+
+ if (!s.main.empty ()) cout << "main: " << s.main << '\n';
+ if (!s.dev.empty ()) cout << "dev: " << s.dev << '\n';
+ if (!s.doc.empty ()) cout << "doc: " << s.doc << '\n';
+ if (!s.dbg.empty ()) cout << "dbg: " << s.dbg << '\n';
+ if (!s.common.empty ()) cout << "common: " << s.common << '\n';
+ if (!s.extras.empty ())
+ {
+ cout << "extras:";
+ for (const string& e: s.extras)
+ cout << ' ' << e;
+ cout << '\n';
+ }
}
else if (cmd == "main-from-dev")
{
@@ -89,9 +113,9 @@ namespace bpkg
string n (argv[2]);
string v (argv[3]);
string d;
- getline (cin, d, '\0');
+ getline (cin, d);
- cout << m.main_from_dev (n, v, d) << "\n";
+ cout << m.main_from_dev (n, v, d) << '\n';
}
else
fail << "unknown command '" << cmd << "'";