From 51a0bbfe1758bcf1526d41d63cd1c4518fa6ce80 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 8 Oct 2008 11:54:13 +0000 Subject: add tests, esp. for %triggerpostun failing that blocks upgrade of drakxtools-backend in mdv2009.0 --- MANIFEST | 15 ++++++++ t/data/SPECS/failing-scriptlets/post.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/posttrans.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/postun.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/pre.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/pretrans.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/preun.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/triggerin-1.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/triggerin-2.spec | 17 +++++++++ .../SPECS/failing-scriptlets/triggerpostun-1.spec | 17 +++++++++ .../SPECS/failing-scriptlets/triggerpostun-2.spec | 17 +++++++++ .../SPECS/failing-scriptlets/triggerprein-1.spec | 17 +++++++++ .../SPECS/failing-scriptlets/triggerprein-2.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/triggerun-1.spec | 17 +++++++++ t/data/SPECS/failing-scriptlets/triggerun-2.spec | 17 +++++++++ t/superuser--failing-scriptlets.t | 42 ++++++++++++++++++++++ 16 files changed, 295 insertions(+) create mode 100644 t/data/SPECS/failing-scriptlets/post.spec create mode 100644 t/data/SPECS/failing-scriptlets/posttrans.spec create mode 100644 t/data/SPECS/failing-scriptlets/postun.spec create mode 100644 t/data/SPECS/failing-scriptlets/pre.spec create mode 100644 t/data/SPECS/failing-scriptlets/pretrans.spec create mode 100644 t/data/SPECS/failing-scriptlets/preun.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerin-1.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerin-2.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerpostun-1.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerpostun-2.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerprein-1.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerprein-2.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerun-1.spec create mode 100644 t/data/SPECS/failing-scriptlets/triggerun-2.spec create mode 100644 t/superuser--failing-scriptlets.t diff --git a/MANIFEST b/MANIFEST index b6a58592..a0ee7451 100644 --- a/MANIFEST +++ b/MANIFEST @@ -129,6 +129,20 @@ t/data/SPECS/dropped-provides/b.spec t/data/SPECS/epochless-conflict-with-promotion/a1.spec t/data/SPECS/epochless-conflict-with-promotion/a2.spec t/data/SPECS/epochless-conflict-with-promotion/b.spec +t/data/SPECS/failing-scriptlets/post.spec +t/data/SPECS/failing-scriptlets/posttrans.spec +t/data/SPECS/failing-scriptlets/postun.spec +t/data/SPECS/failing-scriptlets/pre.spec +t/data/SPECS/failing-scriptlets/pretrans.spec +t/data/SPECS/failing-scriptlets/preun.spec +t/data/SPECS/failing-scriptlets/triggerin-1.spec +t/data/SPECS/failing-scriptlets/triggerin-2.spec +t/data/SPECS/failing-scriptlets/triggerpostun-1.spec +t/data/SPECS/failing-scriptlets/triggerpostun-2.spec +t/data/SPECS/failing-scriptlets/triggerprein-1.spec +t/data/SPECS/failing-scriptlets/triggerprein-2.spec +t/data/SPECS/failing-scriptlets/triggerun-1.spec +t/data/SPECS/failing-scriptlets/triggerun-2.spec t/data/SPECS/file-conflicts/a.spec t/data/SPECS/file-conflicts/b.spec t/data/SPECS/file-conflicts/c.spec @@ -368,6 +382,7 @@ t/superuser--buggy-rpms.t t/superuser--dropped-provides.t t/superuser--epochless-conflict-with-promotion.t t/superuser--exclude.t +t/superuser--failing-scriptlets.t t/superuser--file-conflicts.t t/superuser--handle-conflict-deps.t t/superuser--handle-conflict-deps2.t diff --git a/t/data/SPECS/failing-scriptlets/post.spec b/t/data/SPECS/failing-scriptlets/post.spec new file mode 100644 index 00000000..2534ac9d --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/post.spec @@ -0,0 +1,17 @@ +Summary: x +Name: post +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%post -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/posttrans.spec b/t/data/SPECS/failing-scriptlets/posttrans.spec new file mode 100644 index 00000000..c2a085d9 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/posttrans.spec @@ -0,0 +1,17 @@ +Summary: x +Name: posttrans +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%posttrans -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/postun.spec b/t/data/SPECS/failing-scriptlets/postun.spec new file mode 100644 index 00000000..6f3ae0fd --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/postun.spec @@ -0,0 +1,17 @@ +Summary: x +Name: postun +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%postun -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/pre.spec b/t/data/SPECS/failing-scriptlets/pre.spec new file mode 100644 index 00000000..4d7c1918 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/pre.spec @@ -0,0 +1,17 @@ +Summary: x +Name: pre +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%pre -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/pretrans.spec b/t/data/SPECS/failing-scriptlets/pretrans.spec new file mode 100644 index 00000000..56ec1417 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/pretrans.spec @@ -0,0 +1,17 @@ +Summary: x +Name: pretrans +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%pretrans -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/preun.spec b/t/data/SPECS/failing-scriptlets/preun.spec new file mode 100644 index 00000000..854678b7 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/preun.spec @@ -0,0 +1,17 @@ +Summary: x +Name: preun +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%preun -p +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerin-1.spec b/t/data/SPECS/failing-scriptlets/triggerin-1.spec new file mode 100644 index 00000000..cd7cc977 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerin-1.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerin +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerin -p -- triggerin > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerin-2.spec b/t/data/SPECS/failing-scriptlets/triggerin-2.spec new file mode 100644 index 00000000..caecbde8 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerin-2.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerin +Version: 2 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerin -p -- triggerin > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerpostun-1.spec b/t/data/SPECS/failing-scriptlets/triggerpostun-1.spec new file mode 100644 index 00000000..04f88b5d --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerpostun-1.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerpostun +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerpostun -p -- triggerpostun > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerpostun-2.spec b/t/data/SPECS/failing-scriptlets/triggerpostun-2.spec new file mode 100644 index 00000000..dd44e94a --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerpostun-2.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerpostun +Version: 2 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerpostun -p -- triggerpostun > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerprein-1.spec b/t/data/SPECS/failing-scriptlets/triggerprein-1.spec new file mode 100644 index 00000000..ecf51f00 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerprein-1.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerprein +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerprein -p -- triggerprein > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerprein-2.spec b/t/data/SPECS/failing-scriptlets/triggerprein-2.spec new file mode 100644 index 00000000..a3f1ecc6 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerprein-2.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerprein +Version: 2 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerprein -p -- triggerprein > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerun-1.spec b/t/data/SPECS/failing-scriptlets/triggerun-1.spec new file mode 100644 index 00000000..a717d184 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerun-1.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerun +Version: 1 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerun -p -- triggerun > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/data/SPECS/failing-scriptlets/triggerun-2.spec b/t/data/SPECS/failing-scriptlets/triggerun-2.spec new file mode 100644 index 00000000..2419c4e2 --- /dev/null +++ b/t/data/SPECS/failing-scriptlets/triggerun-2.spec @@ -0,0 +1,17 @@ +Summary: x +Name: triggerun +Version: 2 +Release: 1 +License: x +Group: x +Url: x +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%triggerun -p -- triggerun > 0 +print("%{name}-%{version}") +exit(1) + +%files diff --git a/t/superuser--failing-scriptlets.t b/t/superuser--failing-scriptlets.t new file mode 100644 index 00000000..740e4369 --- /dev/null +++ b/t/superuser--failing-scriptlets.t @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +use strict; +use lib '.', 't'; +use helper; +use Test::More 'no_plan'; + +my $medium_name = 'failing-scriptlets'; + +need_root_and_prepare(); + +test_install_rpm_fail('pre'); +test_install_rpm('pretrans'); +test_install_rpm('post'); +test_install_rpm('preun'); +test_install_rpm('postun'); +test_install_rpm('posttrans'); + +test_install_upgrade_rpm('triggerprein'); +test_install_upgrade_rpm('triggerin'); +test_install_upgrade_rpm('triggerun'); +test_install_upgrade_rpm('triggerpostun'); + +sub test_install_rpm { + my ($name) = @_; + system_("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm"); + check_installed_fullnames_and_remove("$name-1-1"); +} +sub test_install_rpm_fail { + my ($name) = @_; + system_should_fail("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm"); + check_nothing_installed(); +} + +sub test_install_upgrade_rpm { + my ($name) = @_; + + system_("rpm --root $::pwd/root -i media/$medium_name/$name-1-*.rpm"); + check_installed_fullnames("$name-1-1"); + system_("rpm --root $::pwd/root -U media/$medium_name/$name-2-*.rpm"); + check_installed_fullnames_and_remove("$name-2-1"); +} -- cgit v1.2.1