/ tests / frontend / annotate.sh
annotate.sh
  1  #! /usr/bin/env atf-sh
  2  
  3  . $(atf_get_srcdir)/test_environment.sh
  4  
  5  tests_init \
  6  	annotate \
  7  	annotate_multiple
  8  
  9  annotate_body() {
 10  	for pkg in 'png' 'sqlite3' ; do
 11  	    atf_check \
 12  		-o match:".*Installing.*\.\.\.$" \
 13  		-e empty \
 14  		-s exit:0 \
 15  		pkg register -t -M ${RESOURCEDIR}/$pkg.ucl
 16  	done
 17  
 18  	[ -f "./local.sqlite" ] || \
 19  	    atf_fail "Can't populate $PKG_DBDIR/local.sqlite"
 20  
 21  	atf_check \
 22  	    -o match:"added annotation tagged: TEST1" \
 23  	    -e empty \
 24  	    -s exit:0 \
 25  	    pkg annotate -Ay png TEST1 test1
 26  
 27  	atf_check \
 28  	    -o match:"TEST1 +: test1" \
 29  	    -e empty \
 30  	    -s exit:0 \
 31  	    pkg info -A png
 32  
 33  	atf_check \
 34  	    -o match:"^png-1.5.18: Tag: TEST1 Value: test1$" \
 35  	    -e empty \
 36  	    -s exit:0 \
 37  	    pkg annotate -S png TEST1
 38  
 39  	echo test2 > $HOME/annotate-TEST2.txt
 40  
 41  	atf_check \
 42  	    -o match:"added annotation tagged: TEST2" \
 43  	    -e empty \
 44  	    -s exit:0 \
 45  	    pkg annotate -Ay png TEST2 < $HOME/annotate-TEST2.txt
 46  
 47  	atf_check \
 48  	    -o match:"TEST1 +: test1" \
 49  	    -o match:"TEST2 +: test2" \
 50  	    -e empty \
 51  	    -s exit:0 \
 52  	    pkg info -A png
 53  
 54  	atf_check \
 55  	    -o match:"Modified annotation tagged: TEST1" \
 56  	    -e empty \
 57  	    -s exit:0 \
 58  	    pkg annotate -My png TEST1 test1-modified
 59  
 60  	atf_check \
 61  	    -o match:"TEST1 +: test1-modified" \
 62  	    -o match:"TEST2 +: test2" \
 63  	    -e empty \
 64  	    -s exit:0 \
 65  	    pkg info -A png
 66  
 67  	atf_check \
 68  	    -o match:"Modified annotation tagged: TEST1" \
 69  	    -e empty \
 70  	    -s exit:0 \
 71  	    pkg annotate -My sqlite3 TEST1 test1-modified
 72  
 73  	atf_check \
 74  	    -o match:"TEST1 +: test1-modified" \
 75  	    -e empty \
 76  	    -s exit:0 \
 77  	    pkg info -A sqlite3
 78  
 79  	atf_check \
 80  	    -o match:"^png-1.5.18: Tag: TEST1 Value: test1-modified$" \
 81  	    -e empty \
 82  	    -s exit:0 \
 83  	    pkg annotate --show png TEST1
 84  
 85  	atf_check \
 86  	    -o match:"Deleted annotation tagged: TEST1" \
 87  	    -e empty \
 88  	    -s exit:0 \
 89  	    pkg annotate -Dy png TEST1
 90  
 91  	atf_check \
 92  	    -o not-match:"TEST1" \
 93  	    -o match:"TEST2 +: test2" \
 94  	    -e empty \
 95  	    -s exit:0 \
 96  	    pkg info -A png
 97  
 98  	atf_check \
 99  	    -o match:"Deleted annotation tagged: TEST2" \
100  	    -s exit:0 \
101  	    -e empty \
102  	    pkg annotate -Dy png TEST2
103  
104  	atf_check \
105  	    -o not-match:"TEST1" \
106  	    -o not-match:"TEST2" \
107  	    -s exit:0 \
108  	    -e empty \
109  	    pkg info -A png
110  
111  	atf_check \
112  	    -o match:"Deleted annotation tagged: TEST1" \
113  	    -s exit:0 \
114  	    -e empty \
115  	    pkg annotate -Dy sqlite3 TEST1
116  
117  	atf_check \
118  	    -o not-match:"TEST1" \
119  	    -o not-match:"TEST2" \
120  	    -s exit:0 \
121  	    -e empty \
122  	    pkg info -A sqlite3
123  }
124  
125  annotate_multiple_body() {
126  	for pkg in 'png' 'sqlite3' ; do
127  	    atf_check \
128  		-o match:".*Installing.*\.\.\.$" \
129  		-e empty \
130  		-s exit:0 \
131  		pkg register -t -M ${RESOURCEDIR}/$pkg.ucl
132  	done
133  
134  	[ -f "./local.sqlite" ] || \
135  	    atf_fail "Can't populate $PKG_DBDIR/local.sqlite"
136  
137  	# Check multiple annotations
138  	atf_check \
139  	    -o match:"^png-1.5.18: added annotation tagged: TEST1$" \
140  	    -o match:"^sqlite3-3.8.6: added annotation tagged: TEST1$" \
141  	    -e empty \
142  	    -s exit:0 \
143  	    pkg annotate -aAy TEST1 test1
144  
145  	atf_check \
146  	    -o match:"^png-1.5.18: Tag: TEST1 Value: test1$" \
147  	    -o match:"^sqlite3-3.8.6: Tag: TEST1 Value: test1$" \
148  	    -e empty \
149  	    -s exit:0 \
150  	    pkg annotate --all --show TEST1
151  
152  	atf_check \
153  	    -o match:"^png-1.5.18: Modified annotation tagged: TEST1$" \
154  	    -o match:"^sqlite3-3.8.6: Modified annotation tagged: TEST1$" \
155  	    -e empty \
156  	    -s exit:0 \
157  	    pkg annotate -aMy TEST1 test1-changed
158  
159  	atf_check \
160  	    -o match:"^png-1.5.18: Tag: TEST1 Value: test1-changed$" \
161  	    -o match:"^sqlite3-3.8.6: Tag: TEST1 Value: test1-changed$" \
162  	    -e empty \
163  	    -s exit:0 \
164  	    pkg annotate --all --show TEST1
165  
166  	atf_check \
167  	    -o match:"^png-1.5.18: Deleted annotation tagged: TEST1$" \
168  	    -o match:"^sqlite3-3.8.6: Deleted annotation tagged: TEST1$" \
169  	    -e empty \
170  	    -s exit:0 \
171  	    pkg annotate --yes --all --delete TEST1
172  
173  	atf_check \
174  	    -o empty \
175  	    -e empty \
176  	    -s exit:0 \
177  	    pkg annotate --all --show TEST1
178  
179  }