@@ -77,8 +77,108 @@ search_body() {
77
77
xbps-query -r root -s foo
78
78
}
79
79
80
+ search_prop_head () {
81
+ atf_set " descr" " xbps-query(1) --property --search"
82
+ }
83
+
84
+ search_prop_body () {
85
+ mkdir -p root some_repo pkg_A pkg_B pkg_C
86
+
87
+ cd some_repo
88
+ atf_check -o ignore -- xbps-create -A noarch -n foo-1.0_1 -s " foo pkg" ../pkg_A
89
+ atf_check -o ignore -- xbps-create -A noarch -n bar-1.0_1 -s " bar pkg" ../pkg_B
90
+ atf_check -o ignore -- xbps-create -A noarch -n fizz-1.0_1 -s " fizz pkg" ../pkg_C
91
+ atf_check -o ignore -- xbps-rindex -a $PWD /* .xbps
92
+ cd ..
93
+
94
+ xbps-query -r root --repository=some_repo -S foo
95
+ xbps-query -r root --repository=some_repo -S bar
96
+ xbps-query -r root --repository=some_repo -S fizz
97
+
98
+ # regex error
99
+ atf_check -e match:" ERROR: failed to compile regexp: \(:" -s exit:1 -- \
100
+ xbps-query -r root --repository=some_repo --property pkgver --regex -s ' ('
101
+
102
+ # repo mode
103
+ atf_check -o match:" ^foo-1\.0_1: foo-1\.0_1 \(.*\)$" -- \
104
+ xbps-query -r root --repository=some_repo --property pkgver -s foo
105
+ atf_check \
106
+ -o match:" ^foo-1\.0_1: foo-1\.0_1 \(.*\)$" \
107
+ -o match:" ^fizz-1\.0_1: fizz-1\.0_1 \(.*\)$" \
108
+ -- xbps-query -r root --repository=some_repo --property pkgver -s f
109
+
110
+ atf_check -o ignore -- \
111
+ xbps-install -r root --repository=some_repo -y foo
112
+
113
+ # installed mode
114
+ atf_check -o match:" ^foo-1\.0_1: foo-1\.0_1$" -- \
115
+ xbps-query -r root --property pkgver -s foo
116
+ }
117
+
118
+ show_prop_head () {
119
+ atf_set " descr" " xbps-query(1) --property"
120
+ }
121
+
122
+ show_prop_body () {
123
+ mkdir -p root some_repo pkg_A/bin
124
+ touch pkg_A/bin/foo
125
+
126
+ cd some_repo
127
+ atf_check -o ignore -- xbps-create -A noarch -n foo-1.0_1 -s " foo pkg" ../pkg_A
128
+ atf_check -o ignore -- xbps-rindex -a $PWD /* .xbps
129
+ cd ..
130
+
131
+ # repo mode single property
132
+ atf_check -o inline:" foo-1.0_1\n" -- \
133
+ xbps-query -r root --repository=some_repo --property pkgver foo-1.0_1
134
+
135
+ # repo mode missing single property
136
+ # XXX: should this be an error?
137
+ atf_check -o empty -- \
138
+ xbps-query -r root --repository=some_repo --property asdf foo-1.0_1
139
+
140
+ # repo mode multiple properties
141
+ atf_check -o inline:" foo-1.0_1\nfoo\nnoarch\n" -- \
142
+ xbps-query -r root --repository=some_repo --property pkgver,pkgname,architecture foo-1.0_1
143
+
144
+ # repo mode multiple properties and one missing
145
+ # XXX: should this be an error?
146
+ atf_check -o inline:" foo-1.0_1\nfoo\nnoarch\n" -- \
147
+ xbps-query -r root --repository=some_repo --property pkgver,pkgname,architecture,asdf foo-1.0_1
148
+
149
+ # repo mode package not found
150
+ atf_check -o empty -s exit:2 -- \
151
+ xbps-query -r root --repository=some_repo --property pkgver bar-1.0_1
152
+
153
+ atf_check -o ignore -e ignore -- xbps-install -r root -R some_repo -y foo
154
+
155
+ # pkgdb mode single property
156
+ atf_check -o inline:" foo-1.0_1\n" -- \
157
+ xbps-query -r root --property pkgver foo-1.0_1
158
+
159
+ # pkgdb mode missing single property
160
+ # XXX: should this be error?
161
+ atf_check -o empty -- \
162
+ xbps-query -r root --property asdf foo-1.0_1
163
+
164
+ # pkgdb mode multiple properties and one missing
165
+ # XXX: should this be an error?
166
+ atf_check -o inline:" foo-1.0_1\nfoo\nnoarch\n" -- \
167
+ xbps-query -r root --property pkgver,pkgname,architecture,asdf foo-1.0_1
168
+
169
+ # pkgdb mode multiple properties
170
+ atf_check -o inline:" foo-1.0_1\nfoo\nnoarch\n" -- \
171
+ xbps-query -r root --property pkgver,pkgname,architecture foo-1.0_1
172
+
173
+ # pkgdb mode package not found
174
+ atf_check -o empty -s exit:2 -- \
175
+ xbps-query -r root --property pkgver bar-1.0_1
176
+ }
177
+
80
178
atf_init_test_cases () {
81
179
atf_add_test_case cat_file
82
180
atf_add_test_case repo_cat_file
83
181
atf_add_test_case search
182
+ atf_add_test_case search_prop
183
+ atf_add_test_case show_prop
84
184
}
0 commit comments