/ tests / frontend / packagesplit.sh
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  }