diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2010-11-22 10:36:54 +0200 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2010-11-22 11:51:13 +0200 |
commit | 95a52a37e8e9001b6bbb6950215da0aa7db12d40 (patch) | |
tree | 79fb96572af4a92c5b352add7d8be82f4fbc2719 /tests/rpmi.at | |
parent | 080007c90f285a57e6ba76c8c5fcd0d516d24ccc (diff) | |
download | rpm-95a52a37e8e9001b6bbb6950215da0aa7db12d40.tar.gz |
Move the current "version compare" tests to rpm install tests
- These are more about rpm install/upgrade behavior than pure
version comparison, although obviously version comparison is involved
Diffstat (limited to 'tests/rpmi.at')
-rw-r--r-- | tests/rpmi.at | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/tests/rpmi.at b/tests/rpmi.at index c4063be8b..5500a3179 100644 --- a/tests/rpmi.at +++ b/tests/rpmi.at @@ -96,3 +96,107 @@ run rpm \ [ignore], [ignore]) AT_CLEANUP + +# ------------------------------ +# Test normal upgrade +AT_SETUP([rpm -U upgrade to newer]) +AT_CHECK([ +RPMDB_CLEAR +rm -rf "${TOPDIR}" + +for v in "1.0" "2.0"; do + run rpmbuild --quiet -bb \ + --define "ver $v" \ + ${RPMDATA}/SPECS/versiontest.spec +done + +runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm +runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm +runroot rpm -q versiontest +], +[0], +[versiontest-2.0-1.noarch +], +[]) +AT_CLEANUP + +# Test upgrading to older package (should fail) +AT_SETUP([rpm -U upgrade to older]) +AT_CHECK([ +RPMDB_CLEAR + +runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm +runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm +], +[2], +[], +[ package versiontest-2.0-1.noarch (which is newer than versiontest-1.0-1.noarch) is already installed +]) +AT_CLEANUP + +# Test downgrading to older package with --oldpackage +AT_SETUP([rpm -U --oldpackage downgrade]) +AT_CHECK([ +RPMDB_CLEAR + +runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm +runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm +runroot rpm -q versiontest +], +[0], +[versiontest-1.0-1.noarch +], +[ignore]) +AT_CLEANUP + +# Test upgrade of different versions in same transaction +AT_SETUP([rpm -U two versions of same package]) +AT_CHECK([ +RPMDB_CLEAR + +runroot rpm -U \ + "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \ + "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm +runroot rpm -q versiontest +], +[0], +[versiontest-2.0-1.noarch +], +[]) +AT_CLEANUP + +# Test install of two different versions in same transaction +AT_SETUP([rpm -i two versions of same package]) +AT_CHECK([ +RPMDB_CLEAR + +runroot rpm -i \ + "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \ + "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm +runroot rpm -q versiontest +], +[0], +[versiontest-2.0-1.noarch +versiontest-1.0-1.noarch +], +[]) +AT_CLEANUP + +# Test install of two different versions in same transaction +# TODO: test only one was installed +AT_SETUP([rpm -i identical versions of same package]) +AT_CHECK([ +RPMDB_CLEAR + +runroot rpm -i \ + "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \ + "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm +runroot rpm -q versiontest +], +[0], +[versiontest-1.0-1.noarch +], +[]) +AT_CLEANUP + +# TODO: the same with epoch vs no epoch |