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 }