Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add a regression test about the provides/requires based on php PR
Baptiste Daroussin committed 11 years ago
commit f7f3f69e32103252c7b585e890c6a7d32f5432aa
parent e9655d5
3 files changed +284 -0
modified tests/Makefile.am
@@ -76,6 +76,7 @@ EXTRA_DIST= frontend/png.uclin \
		frontend/delete.shin \
		frontend/lock.shin \
		frontend/packagesplit.shin \
+
		frontend/php-pr.shin \
		frontend/pkg.shin \
		frontend/register.shin \
		frontend/requires.shin \
@@ -105,6 +106,7 @@ check_SCRIPTS= frontend/pkg.sh \
		frontend/delete.sh \
		frontend/lock.sh \
		frontend/packagesplit.sh \
+
		frontend/php-pr.sh
		frontend/register.sh \
		frontend/requires.sh \
		frontend/rootdir.sh \
modified tests/frontend/Kyuafile
@@ -12,6 +12,7 @@ atf_test_program{name='create.sh'}
atf_test_program{name='delete.sh'}
atf_test_program{name='lock.sh'}
atf_test_program{name='packagesplit.sh'}
+
atf_test_program{name='php-pr.sh'}
atf_test_program{name='pkg.sh'}
atf_test_program{name='register.sh'}
atf_test_program{name='requires.sh'}
added tests/frontend/php-pr.shin
@@ -0,0 +1,281 @@
+
#! /usr/bin/env atf-sh
+

+
atf_test_case pkg_phpextensions
+

+
pkg_phpextensions_head() {
+
	atf_set "descr" "testing pkg -- install php module wich dep on newer php version even with upgrade"
+
}
+

+
pkg_phpextensions_body() {
+
	touch php53.file
+
	touch php53extension.file
+
	touch php53gd.file
+
	touch php53fileinfo.file
+

+
	cat << EOF > php53.ucl
+
name: php53
+
origin: lang/php53
+
version: "5.3.27"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
provides: [ php-5.3.27 ]
+
files: {
+
    ${TMPDIR}/php53.file: "",
+
}
+
EOF
+

+
	cat << EOF > php53extension.ucl
+
name: php53-extensions
+
origin: lang/php53-extensions
+
version: "1.6"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
requires: [ php-5.3.27 ]
+
deps:   {
+
          php53-gd: {
+
                origin: "graphics/php53-gd",
+
                version: "5.3.27"
+
          }
+

+
        }
+

+
files: {
+
    ${TMPDIR}/php53extension.file: "",
+
}
+
EOF
+

+
	cat << EOF > php53gd.ucl
+
name: php53-gd
+
origin: graphics/php53-gd
+
version: "5.3.27"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
requires: [ php-5.3.27 ]
+
deps:   {
+
          php53: {
+
                origin: "lang/php53",
+
                version: "5.3.27"
+
          }
+

+
        }
+

+
files: {
+
    ${TMPDIR}/php53gd.file: "",
+
}
+
EOF
+

+
	cat << EOF > repo1.conf
+
local1: {
+
        url: file://${TMPDIR},
+
        enabled: true
+
}
+
EOF
+

+
	for p in php53 php53extension php53gd; do
+
		atf_check \
+
			-o ignore \
+
			-e empty \
+
			-s exit:0 \
+
			pkg create -M ./${p}.ucl
+
	done
+

+
	atf_check \
+
		-o inline:"Creating repository in .... done\nPacking files for repository... done\n" \
+
		-e empty \
+
		-s exit:0 \
+
		pkg repo .
+

+
	atf_check \
+
		-o ignore \
+
		-e empty \
+
		-s exit:0 \
+
		pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}" install -y php53-extensions
+

+
#### NEW
+

+
	rm repo1.conf
+
	rm -f *.ucl
+
	rm *.txz
+

+
	cat << EOF > php53.new.ucl
+
name: php53
+
origin: lang/php53
+
version: "5.3.40"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
provides: [ php-5.3.40 ]
+
files: {
+
    ${TMPDIR}/php53.file: "",
+
}
+
EOF
+

+
	cat << EOF >> php53extension.new.ucl
+
name: php53-extensions
+
origin: lang/php53-extensions
+
version: "1.6"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
requires: [ php-5.3.40 ]
+
deps:   {
+
          php53-gd: {
+
                origin: "graphics/php53-gd",
+
                version: "5.3.40"
+
          }
+

+
        }
+

+
files: {
+
    ${TMPDIR}/php53extension.file: "",
+
}
+
EOF
+

+
	cat << EOF >> php53gd.new.ucl
+
name: php53-gd
+
origin: graphics/php53-gd
+
version: "5.3.40"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
requires: [ php-5.3.40 ]
+
deps:   {
+
          php53: {
+
                origin: "lang/php53",
+
                version: "5.3.40"
+
          }
+

+
        }
+

+
files: {
+
    ${TMPDIR}/php53gd.file: "",
+
}
+
EOF
+

+

+
	cat << EOF >> php53fileinfo.new.ucl
+
name: php53-fileinfo
+
origin: sysutils/php53-fileinfo
+
version: "5.3.40"
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
requires: [ php-5.3.40 ]
+
deps:   {
+
          php53: {
+
                origin: "lang/php53",
+
                version: "5.3.40"
+
          }
+

+
        }
+

+
files: {
+
    ${TMPDIR}/php53fileinfo.file: "",
+
}
+
EOF
+

+
	for p in php53 php53extension php53gd php53fileinfo; do
+
		atf_check \
+
			-o ignore \
+
			-e empty \
+
			-s exit:0 \
+
			pkg create -M ./${p}.new.ucl
+
	done
+

+
	atf_check \
+
		-o inline:"Creating repository in .... done\nPacking files for repository... done\n" \
+
		-e empty \
+
		-s exit:0 \
+
		pkg repo .
+

+
	cat << EOF >> repo.conf
+
local: {
+
        url: file://${TMPDIR}/,
+
        enabled: true
+
}
+
EOF
+

+
OUTPUT="php53-5.3.40
+
php53-extensions-1.6
+
php53-fileinfo-5.3.40
+
php53-gd-5.3.27
+
"
+

+
OUTPUT="Updating local repository catalogue...
+
${JAILED}Fetching meta.txz... done
+
${JAILED}Fetching packagesite.txz... done
+
Processing entries... done
+
local repository update completed. 4 packages processed.
+
Checking integrity... done (0 conflicting)
+
The following 4 package(s) will be affected (of 0 checked):
+

+
New packages to be INSTALLED:
+
	php53-fileinfo: 5.3.40
+

+
Installed packages to be UPGRADED:
+
	php53: 5.3.27 -> 5.3.40
+
	php53-gd: 5.3.27 -> 5.3.40
+

+
Installed packages to be REINSTALLED:
+
	php53-extensions-1.6 (requires changed)
+
${JAILED}[1/4] Upgrading php53 from 5.3.27 to 5.3.40...
+
${JAILED}[1/4] Extracting php53-5.3.40... done
+
${JAILED}[2/4] Upgrading php53-gd from 5.3.27 to 5.3.40...
+
${JAILED}[2/4] Extracting php53-gd-5.3.40... done
+
${JAILED}[3/4] Installing php53-fileinfo-5.3.40...
+
${JAILED}[3/4] Extracting php53-fileinfo-5.3.40... done
+
${JAILED}[4/4] Reinstalling php53-extensions-1.6...
+
${JAILED}[4/4] Extracting php53-extensions-1.6... done
+
"
+

+
	atf_check \
+
		-o inline:"${OUTPUT}" \
+
		-e empty \
+
		-s exit:0 \
+
		pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}" install -y php53-fileinfo
+
}
+

+
atf_init_test_cases() {
+
	. $(atf_get_srcdir)/test_environment.sh
+

+
	atf_add_test_case pkg_phpextensions
+
}
+