summaryrefslogtreecommitdiffstats
path: root/t/helper.pm
diff options
context:
space:
mode:
Diffstat (limited to 't/helper.pm')
-rw-r--r--t/helper.pm26
1 files changed, 26 insertions, 0 deletions
diff --git a/t/helper.pm b/t/helper.pm
index 58499a7f..11614842 100644
--- a/t/helper.pm
+++ b/t/helper.pm
@@ -8,6 +8,7 @@ our @EXPORT = qw(need_root_and_prepare
urpm_cmd urpmi_cmd urpmi urpme
urpmi_cfg set_urpmi_cfg_global_options
system_
+ check_installed_names check_installed_and_remove check_installed_and_urpme
);
my $using_root;
@@ -89,6 +90,31 @@ sub system_ {
ok($? == 0, $cmd);
}
+
+sub check_installed_names {
+ my (@names) = @_;
+ is(`rpm -qa --qf '%{name}\\n' --root $::pwd/root | sort`, join('', map { "$_\n" } sort(@names)));
+}
+
+sub check_nothing_installed() {
+ is(`rpm -qa --root $::pwd/root`, '');
+}
+
+sub check_installed_and_remove {
+ my (@names) = @_;
+ check_installed_names(@names);
+ system_("rpm --root $::pwd/root -e " . join(' ', @names));
+ check_nothing_installed();
+}
+
+sub check_installed_and_urpme {
+ my (@names) = @_;
+ check_installed_names(@names);
+ urpme(join(' ', @names));
+ check_nothing_installed();
+}
+
+
END {
$using_root and system('rm -rf root');
$server_pid and kill(9, $server_pid);