From: Panu Matilainen Date: Thu, 26 May 2011 11:24:46 +0000 (+0300) Subject: Add test-cases for three RhBug:705115 scenarios X-Git-Tag: rpm-4.10.0-beta1~537 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a925a16f5b4206e8bef4b5f5e3742bf1d1f75809;p=platform%2Fupstream%2Frpm.git Add test-cases for three RhBug:705115 scenarios --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 17f1e0f..026a0d5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -31,6 +31,7 @@ EXTRA_DIST += $(TESTSUITE_AT) ## testsuite data EXTRA_DIST += data/SPECS/hello.spec +EXTRA_DIST += data/SPECS/hello-script.spec EXTRA_DIST += data/SPECS/foo.spec EXTRA_DIST += data/SPECS/versiontest.spec EXTRA_DIST += data/SPECS/conflicttest.spec diff --git a/tests/data/SPECS/hello-script.spec b/tests/data/SPECS/hello-script.spec new file mode 100644 index 0000000..567519e --- /dev/null +++ b/tests/data/SPECS/hello-script.spec @@ -0,0 +1,22 @@ +Name: hello-script +Version: 1.0 +Release: 1 +Summary: Testing file conflict behavior + +Group: Testing +License: GPL +BuildArch: noarch + +%description +%{summary} + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/usr/bin +cat << EOF > $RPM_BUILD_ROOT/usr/bin/hello +echo "Hello world!" +EOF + +%files +%defattr(-,root,root,-) +/usr/bin/hello diff --git a/tests/rpmconflict.at b/tests/rpmconflict.at index 2dc12e3..1463a38 100644 --- a/tests/rpmconflict.at +++ b/tests/rpmconflict.at @@ -125,6 +125,78 @@ runroot rpm -q --qf "[[%{filestates:fstate} ]]" hello.i686 hello.x86_64 AT_CLEANUP # ------------------------------ +# File conflict between colored and non-colored file 1 +AT_SETUP([rpm -U multilib elf vs non-elf file conflict 1]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT + +runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec + +runroot rpm -U --ignoreos --ignorearch --nodeps \ + --define "_transaction_color 3" \ + --define "_prefer_color 2" \ + /data/RPMS/hello-2.0-1.x86_64.rpm \ + "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm +], +[2], +[], +[ file /usr/bin/hello conflicts between attempted installs of hello-2.0-1.x86_64 and hello-script-1.0-1.noarch +]) +AT_CLEANUP + +# File conflict between colored and non-colored file 2 +AT_SETUP([rpm -U multilib elf vs non-elf file conflict 2]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT + +runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec + +runroot rpm -U --ignoreos --ignorearch --nodeps \ + --define "_transaction_color 3" \ + --define "_prefer_color 2" \ + /data/RPMS/hello-2.0-1.x86_64.rpm + +runroot rpm -U --ignoreos --ignorearch --nodeps \ + --define "_transaction_color 3" \ + --define "_prefer_color 2" \ + "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm +], +[1], +[], +[ file /usr/bin/hello from install of hello-script-1.0-1.noarch conflicts with file from package hello-2.0-1.x86_64 +]) +AT_CLEANUP + +# File conflict between colored and non-colored file 3 +AT_SETUP([rpm -U multilib elf vs non-elf file conflict 3]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT + +runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec + +runroot rpm -U --ignoreos --ignorearch --nodeps \ + --define "_transaction_color 3" \ + --define "_prefer_color 2" \ + "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm + +runroot rpm -U --ignoreos --ignorearch --nodeps \ + --define "_transaction_color 3" \ + --define "_prefer_color 2" \ + /data/RPMS/hello-2.0-1.x86_64.rpm +], +[1], +[], +[ file /usr/bin/hello from install of hello-2.0-1.x86_64 conflicts with file from package hello-script-1.0-1.noarch +]) +AT_CLEANUP + +# ------------------------------ # Replace directory with symlink, this is expected to fail AT_SETUP([rpm -U replacing directory with symlink]) AT_KEYWORDS([install])