diff options
-rw-r--r-- | tests/Makefile.am | 3 | ||||
-rw-r--r-- | tests/data/SPECS/parallel.spec | 50 | ||||
-rw-r--r-- | tests/rpmscript.at | 47 |
3 files changed, 99 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 1e71d685f..3a99b11f4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -55,6 +55,7 @@ EXTRA_DIST += data/SPECS/selfconflict.spec EXTRA_DIST += data/SPECS/replacetest.spec EXTRA_DIST += data/SPECS/triggers.spec EXTRA_DIST += data/SPECS/filetriggers.spec +EXTRA_DIST += data/SPECS/parallel.spec EXTRA_DIST += data/SPECS/prefixtest.spec EXTRA_DIST += data/SPECS/testdoc.spec EXTRA_DIST += data/SOURCES/hello-1.0-modernize.patch @@ -112,7 +113,7 @@ testing$(bindir)/rpmbuild: ../rpmbuild for node in urandom stdin stderr stdout null; do ln -s /dev/$${node} testing/dev/$${node}; done for cf in hosts resolv.conf passwd shadow group gshadow mtab fstab; do [ -f /etc/$${cf} ] && ln -s /etc/$${cf} testing/etc/$${cf}; done ln -s ../$(bindir) testing/usr/bin - for prog in gzip cat patch tar sh ln chmod rm mkdir uname grep sed find file ionice mktemp nice cut sort diff touch; do p=`which $${prog}`; ln -s $${p} testing/$${p}; done + for prog in gzip cat patch tar sh ln chmod rm mkdir uname grep sed find file ionice mktemp nice cut sort diff touch wc; do p=`which $${prog}`; ln -s $${p} testing/$${p}; done for d in /proc /sys /selinux /etc/selinux; do if [ -d $${d} ]; then ln -s $${d} testing/$${d}; fi; done (cd testing/magic && file -C) diff --git a/tests/data/SPECS/parallel.spec b/tests/data/SPECS/parallel.spec new file mode 100644 index 000000000..41896726e --- /dev/null +++ b/tests/data/SPECS/parallel.spec @@ -0,0 +1,50 @@ +Name: parallel +Version: %{ver} +Release: 1%{?dist} +Summary: Testing parallel install behavior +BuildArch: noarch +License: GPL + +%description +%{summary} + +%package trigger +Summary: %{summary} + +%description trigger +%{summary} + +%transfiletriggerin trigger -- /opt/parallel +echo %transfiletriggerin: $* +cat | wc -l + +%transfiletriggerun trigger -- /opt/parallel +echo %transfiletriggerun: $* +cat | wc -l + +%transfiletriggerpostun trigger -- /opt/parallel +echo %transfiletriggerpostun: $* +cat | wc -l + +%filetriggerin trigger -- /opt/parallel +echo %filetriggerin: $* +cat | wc -l + +%filetriggerpostun trigger -- /opt/parallel +echo %filetriggerpostun: $* +cat | wc -l + + +%install +for d in mydir yourdir; do + datadir=%{buildroot}/opt/parallel/%{version}/${d} + mkdir -p ${datadir} + for f in 1 2 3 4; do + echo ${f} > ${datadir}/${f} + done +done + +%files +/opt/%{name} + +%files trigger diff --git a/tests/rpmscript.at b/tests/rpmscript.at index 1ac7fcda2..d360ac998 100644 --- a/tests/rpmscript.at +++ b/tests/rpmscript.at @@ -268,3 +268,50 @@ IOnice value is none: prio 4 ], []) AT_CLEANUP + +AT_SETUP([basic file triggers 2]) +AT_KEYWORDS([filetrigger script]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +rm -rf "${TOPDIR}" + +runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec +for v in 1.0 2.0 3.0; do + runroot rpmbuild --quiet -bb --define "ver ${v}" /data/SPECS/parallel.spec +done + +runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm +runroot rpm -i \ + /build/RPMS/noarch/parallel-1.0-1.noarch.rpm \ + /build/RPMS/noarch/parallel-2.0-1.noarch.rpm \ + /build/RPMS/noarch/parallel-3.0-1.noarch.rpm + +echo INSTALL: +runroot rpm -U /build/RPMS/noarch/parallel-trigger-1.0-1.noarch.rpm +echo UPGRADE: +runroot rpm -U /build/RPMS/noarch/parallel-trigger-2.0-1.noarch.rpm +echo ERASE: +runroot rpm -e parallel-trigger + +], +[0], +[INSTALL: +%filetriggerin: 0 0 +36 +%transfiletriggerin: 0 0 +36 +UPGRADE: +%transfiletriggerun: 0 0 +36 +%filetriggerin: 0 0 +36 +%transfiletriggerin: 0 0 +36 +ERASE: +%transfiletriggerun: 0 0 +36 +], +[]) +AT_CLEANUP + |