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