@@ -309,11 +309,52 @@ stage_multi_repos_body() {
309309 -- xbps-query -r ../root -i --repository=repo1 --repository=repo2 -L
310310}
311311
312+ atf_test_case stage_dependency
313+
314+ stage_dependency_head () {
315+ atf_set " descr" " xbps-rindex(1) -a: stage repository due to broken dependency"
316+ }
317+
318+ stage_dependency_body () {
319+ atf_expect_fail " not implemented"
320+ mkdir -p repo1 repo2 repo3 repo4 root pkg
321+
322+ cd repo1
323+ atf_check -o ignore -- xbps-create -A noarch -n A-1.0_1 -s " A pkg" --dependencies " B<2.0_1" ../pkg
324+ atf_check -o ignore -- xbps-create -A noarch -n B-1.0_1 -s " B pkg" ../pkg
325+ atf_check -o ignore -- xbps-create -A noarch -n unaffected-1.0_1 -s " unaffected pkg" --dependencies " B>=1.0_1" ../pkg
326+ cd ..
327+
328+ atf_check \
329+ -e ignore \
330+ -o match:" index: added \` A-1\.0_1'" \
331+ -o match:" index: added \` B-1\.0_1'" \
332+ -o match:" index: added \` unaffected-1\.0_1'" \
333+ -- xbps-rindex -v -R repo1 -a \
334+ repo1/A-1.0_1.noarch.xbps \
335+ repo1/B-1.0_1.noarch.xbps \
336+ repo1/unaffected-1.0_1.noarch.xbps
337+
338+ cd repo1
339+ atf_check -o ignore -- xbps-create -A noarch -n B-2.0_1 -s " B pkg" ../pkg
340+ cd ..
341+
342+ atf_check \
343+ -e ignore \
344+ -o match:" repo1: stage: added \` B-2\.0_1'" \
345+ -- xbps-rindex -v -R repo1 -R repo2 -R repo3 -R repo4 -a repo1/B-2.0_1.noarch.xbps
346+
347+ atf_check \
348+ -o match:" repo1 \(Staged\)" \
349+ -- xbps-query -r ../root -i --repository=repo1 --repository=repo2 -L
350+ }
351+
312352atf_init_test_cases () {
313353 atf_add_test_case update
314354 atf_add_test_case revert
315355 atf_add_test_case stage
316356 atf_add_test_case stage_resolve_bug
317357 atf_add_test_case stage_stacked
318358 atf_add_test_case stage_multi_repos
359+ atf_add_test_case stage_dependency
319360}
0 commit comments