Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add a test case showing issue with package split
Baptiste Daroussin committed 11 years ago
commit e232d645a4c74534d451384e164f4cfbacbe28fb
parent 669266d
3 files changed +154 -1
modified tests/Makefile.am
@@ -57,7 +57,8 @@ EXTRA_DIST= frontend/png.uclin \
		frontend/search.shin \
		frontend/version.shin \
		frontend/test_environment.shin \
-
		frontend/register.shin
+
		frontend/register.shin \
+
		frontend/packagesplit.shin

TESTS =
tests_programs=	pkg_printf \
@@ -72,6 +73,7 @@ check_SCRIPTS= frontend/pkg.sh \
		frontend/search.sh \
		frontend/version.sh \
		frontend/register.sh \
+
		frontend/packagesplit.sh \
		frontend/test_environment.sh \
		frontend/png.ucl \
		frontend/sqlite3.ucl
modified tests/frontend/Kyuafile
@@ -7,3 +7,4 @@ atf_test_program{name='version.sh'}
atf_test_program{name='search.sh'}
atf_test_program{name='annotate.sh'}
atf_test_program{name='register.sh'}
+
atf_test_program{name='packagesplit.sh'}
added tests/frontend/packagesplit.shin
@@ -0,0 +1,150 @@
+
#! /usr/bin/env atf-sh
+

+
atf_test_case package_split
+
package_split_head() {
+
	atf_set "descr" "testig package splitting"
+
}
+

+
package_split_body() {
+
	export INSTALL_AS_USER=yes
+
	export PKG_DBDIR=.
+

+
	tmpdir=`pwd`
+
	touch file1
+
	touch file2
+
	cat << EOF >> pkg1.ucl
+
name: test
+
origin: test
+
version: 1
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
files: {
+
    ${tmpdir}/file1: "1a27340cd0ef9fbaf340d81b72419a071e38cda2ae2bc75ec4d7ae04362d0f43",
+
    ${tmpdir}/file2: "1a27340cd0ef9fbaf340d81b72419a071e38cda2ae2bc75ec4d7ae04362d0f43",
+
}
+
EOF
+

+
	cat << EOF >> dep1.ucl
+
name: master
+
origin: test
+
version: 1
+
maintainer: test
+
categories: [test]
+
www: http://test
+
comment: a test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
deps: {
+
	test {
+
		origin: test,
+
		version: 1
+
	}
+
}
+
EOF
+

+
cat << EOF >> pkg2.ucl
+
name: sub-test
+
origin: test
+
version: 1
+
maintainer: test
+
categories: [test]
+
www: http://test
+
comment: a test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
files: {
+
	${tmpdir}/file1: "",
+
}
+
EOF
+

+
cat << EOF >> pkg3.ucl
+
name: sub-test2
+
origin: test
+
version: 1
+
maintainer: test
+
categories: [test]
+
www: http://test
+
comment: a test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
files: {
+
	${tmpdir}/file2: "",
+
}
+
EOF
+

+
	cat << EOF >> pkg4.ucl
+
name: test
+
origin: test
+
version: 1
+
maintainer: test
+
categories: [test]
+
comment: a test
+
www: http://test
+
prefix: /usr/local
+
desc: <<EOD
+
Yet another test
+
EOD
+
deps: {
+
	sub-test: {
+
		origin: test,
+
		version: 1
+
	},
+
	sub-test2: {
+
		origin: test,
+
		version: 1
+
	}
+
}
+
EOF
+
	
+
	for p in pkg1 dep1; do
+
		atf_check \
+
			-o match:".*Installing.*\.\.\.$" \
+
			-e empty \
+
			-s exit:0 \
+
			pkg register -t -M ${p}.ucl
+
	done
+

+
	for p in dep1 pkg2 pkg3 pkg4; do
+
		atf_check \
+
			-o empty \
+
			-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 .
+

+
	cat << EOF >> repo.conf
+
local: {
+
	url: file:///$tmpdir,
+
	enabled: true
+
}
+
EOF
+
	atf_check \
+
		-o ignore \
+
		-e empty \
+
		-s exit:0 \
+
		pkg -o REPOS_DIR="$tmpdir" upgrade -y
+
}
+

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

+
	atf_add_test_case package_split
+
}