summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/data/SPECS/should-restart/a.spec14
-rw-r--r--t/data/SPECS/should-restart/b.spec13
-rw-r--r--t/data/SPECS/should-restart/c.spec14
-rw-r--r--t/superuser--should-restart.t29
4 files changed, 70 insertions, 0 deletions
diff --git a/t/data/SPECS/should-restart/a.spec b/t/data/SPECS/should-restart/a.spec
new file mode 100644
index 00000000..1c65ba1d
--- /dev/null
+++ b/t/data/SPECS/should-restart/a.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: a
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: should-restart = system
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/should-restart/b.spec b/t/data/SPECS/should-restart/b.spec
new file mode 100644
index 00000000..337a7807
--- /dev/null
+++ b/t/data/SPECS/should-restart/b.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: b
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/should-restart/c.spec b/t/data/SPECS/should-restart/c.spec
new file mode 100644
index 00000000..4205104a
--- /dev/null
+++ b/t/data/SPECS/should-restart/c.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: c
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: should-restart = system
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/superuser--should-restart.t b/t/superuser--should-restart.t
new file mode 100644
index 00000000..a8729712
--- /dev/null
+++ b/t/superuser--should-restart.t
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+# "a" provides "should-restart = system"
+# "c" provides "should-restart = system"
+#
+use strict;
+use lib '.', 't';
+use helper;
+use Test::More 'no_plan';
+
+need_root_and_prepare();
+
+my $medium_name = 'should-restart';
+
+urpmi_addmedia("$medium_name $::pwd/media/$medium_name");
+
+test_urpmi('a', 'You should restart system for a');
+test_urpmi('b', '');
+test_urpmi('c', 'You should restart system for a, c');
+
+sub test_urpmi {
+ my ($para, $wanted) = @_;
+ my $s = run_urpm_cmd("urpmi $para");
+ print $s;
+
+ my $msg = $s =~ /^(You should restart .*)/m ? $1 : '';
+
+ ok($msg eq $wanted, "wanted:$wanted, got:$msg");
+}