summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2014-07-09 16:05:33 +0300
committerPanu Matilainen <pmatilai@redhat.com>2014-08-18 09:59:47 +0300
commit23bd5ceb911d0e0c6eb1dea573921e5ea8f07d90 (patch)
tree76c486c6d4063c541956af56f4c430cd650a61a8
parent974576f2c3410ee0b62019b7453ed976fd9fd894 (diff)
downloadrpm-23bd5ceb911d0e0c6eb1dea573921e5ea8f07d90.tar.gz
Add testcase for basic trigger behavior
(cherry picked from commit e6ea36806ba21cb1b4f72b28946528091b3fe635)
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/data/SPECS/triggers.spec26
-rw-r--r--tests/rpmscript.at57
3 files changed, 84 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0456c323a..57a445068 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -51,6 +51,7 @@ EXTRA_DIST += data/SPECS/fakeshell.spec
EXTRA_DIST += data/SPECS/scripts.spec
EXTRA_DIST += data/SPECS/selfconflict.spec
EXTRA_DIST += data/SPECS/replacetest.spec
+EXTRA_DIST += data/SPECS/triggers.spec
EXTRA_DIST += data/SOURCES/hello-1.0-modernize.patch
EXTRA_DIST += data/SOURCES/hello-1.0.tar.gz
EXTRA_DIST += data/SOURCES/hello-2.0.tar.gz
diff --git a/tests/data/SPECS/triggers.spec b/tests/data/SPECS/triggers.spec
new file mode 100644
index 000000000..ae447b60b
--- /dev/null
+++ b/tests/data/SPECS/triggers.spec
@@ -0,0 +1,26 @@
+Name: triggers
+Version: 1.0
+Release: %{rel}
+Summary: Testing trigger behavior
+Group: Testing
+License: GPL
+BuildArch: noarch
+
+%description
+%{summary}
+
+%files
+%defattr(-,root,root,-)
+
+%triggerprein -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERPREIN $*
+
+%triggerin -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERIN $*
+
+%triggerun -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERUN $*
+
+%triggerpostun -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERPOSTUN $*
+
diff --git a/tests/rpmscript.at b/tests/rpmscript.at
index 9e6efd2d2..618609908 100644
--- a/tests/rpmscript.at
+++ b/tests/rpmscript.at
@@ -41,3 +41,60 @@ scripts-1.0-2 POSTUN 0
[])
AT_CLEANUP
+AT_SETUP([basic trigger scripts and arguments])
+AT_KEYWORDS([trigger script])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 1" --define "trigpkg scripts" /data/SPECS/triggers.spec
+runroot rpmbuild --quiet -bb --define "rel 2" --define "trigpkg scripts" /data/SPECS/triggers.spec
+
+runroot rpm -U "${TOPDIR}"/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+echo TRIGGERS 1
+runroot rpm -U "${TOPDIR}"/RPMS/noarch/triggers-1.0-1.noarch.rpm
+echo SCRIPTS 1
+runroot rpm -U "${TOPDIR}"/RPMS/noarch/scripts-1.0-1.noarch.rpm
+echo SCRIPTS 2
+runroot rpm -U "${TOPDIR}"/RPMS/noarch/scripts-1.0-2.noarch.rpm
+echo TRIGGERS 2
+runroot rpm -U "${TOPDIR}"/RPMS/noarch/triggers-1.0-2.noarch.rpm
+echo ERASE
+runroot rpm -e scripts
+],
+[0],
+[TRIGGERS 1
+SCRIPTS 1
+scripts-1.0-1 PRETRANS 1
+triggers-1.0-1 TRIGGERPREIN 1 0
+scripts-1.0-1 PRE 1
+scripts-1.0-1 POST 1
+triggers-1.0-1 TRIGGERIN 1 1
+scripts-1.0-1 POSTTRANS 1
+SCRIPTS 2
+scripts-1.0-2 PRETRANS 2
+triggers-1.0-1 TRIGGERPREIN 1 1
+scripts-1.0-2 PRE 2
+scripts-1.0-2 POST 2
+triggers-1.0-1 TRIGGERIN 1 2
+triggers-1.0-1 TRIGGERUN 1 1
+scripts-1.0-1 PREUN 1
+scripts-1.0-1 POSTUN 1
+triggers-1.0-1 TRIGGERPOSTUN 1 1
+scripts-1.0-2 POSTTRANS 1
+TRIGGERS 2
+triggers-1.0-2 TRIGGERPREIN 1 1
+triggers-1.0-2 TRIGGERIN 2 1
+triggers-1.0-1 TRIGGERUN 1 1
+ERASE
+triggers-1.0-2 TRIGGERUN 1 0
+scripts-1.0-2 PREUN 0
+scripts-1.0-2 POSTUN 0
+triggers-1.0-2 TRIGGERPOSTUN 1 0
+],
+[])
+AT_CLEANUP