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