@@ -77,8 +77,108 @@ search_body() {
7777 xbps-query -r root -s foo
7878}
7979
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+
80178atf_init_test_cases () {
81179 atf_add_test_case cat_file
82180 atf_add_test_case repo_cat_file
83181 atf_add_test_case search
182+ atf_add_test_case search_prop
183+ atf_add_test_case show_prop
84184}
0 commit comments