packagesplit.sh
1 #! /usr/bin/env atf-sh 2 3 . $(atf_get_srcdir)/test_environment.sh 4 5 tests_init \ 6 package_split 7 8 package_split_body() { 9 touch file1 10 touch file2 11 12 atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg pkg1 test 1 13 cat << EOF >> pkg1.ucl 14 files: { 15 ${TMPDIR}/file1: "", 16 ${TMPDIR}/file2: "", 17 } 18 EOF 19 20 atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg dep1 master 1 21 cat << EOF >> dep1.ucl 22 deps: { 23 test { 24 origin: test, 25 version: 1 26 } 27 } 28 EOF 29 30 atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg pkg2 sub-test 1 31 cat << EOF >> pkg2.ucl 32 files: { 33 ${TMPDIR}/file1: "", 34 } 35 EOF 36 37 atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg pkg3 sub-test2 1 38 cat << EOF >> pkg3.ucl 39 files: { 40 ${TMPDIR}/file2: "", 41 } 42 EOF 43 44 atf_check -s exit:0 sh ${RESOURCEDIR}/test_subr.sh new_pkg pkg4 test 1 45 cat << EOF >> pkg4.ucl 46 deps: { 47 sub-test: { 48 origin: test, 49 version: 1 50 }, 51 sub-test2: { 52 origin: test, 53 version: 1 54 } 55 } 56 EOF 57 58 for p in pkg1 dep1; do 59 atf_check \ 60 -o match:".*Installing.*\.\.\.$" \ 61 -e empty \ 62 -s exit:0 \ 63 pkg register -M ${p}.ucl 64 done 65 66 for p in dep1 pkg2 pkg3 pkg4; do 67 atf_check \ 68 -o ignore \ 69 -e empty \ 70 -s exit:0 \ 71 pkg create -M ./${p}.ucl 72 done 73 74 atf_check \ 75 -o inline:"Creating repository in .: done\nPacking files for repository: done\n" \ 76 -e empty \ 77 -s exit:0 \ 78 pkg repo . 79 80 mkdir reposconf 81 cat << EOF > reposconf/repo.conf 82 local: { 83 url: file:///$TMPDIR, 84 enabled: true 85 } 86 EOF 87 atf_check \ 88 -o ignore \ 89 -s exit:0 \ 90 pkg -o REPOS_DIR="$TMPDIR/reposconf" -o PKG_CACHEDIR="$TMPDIR" upgrade -y 91 92 test -f file1 || atf_fail "file1 is not present" 93 }