Skip to content

Commit b5e1017

Browse files
committed
tests: add xbps-query show and search property tests
1 parent 9faf1b9 commit b5e1017

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed

tests/xbps/xbps-query/query_test.sh

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
80178
atf_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

Comments
 (0)