From 88d9eeed2aee17b88ab9476b3e508c4628fe3174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Wed, 10 Apr 2019 21:47:27 +0200 Subject: [PATCH] Test xbps-rindex -R --- tests/xbps/xbps-rindex/Kyuafile | 1 + tests/xbps/xbps-rindex/Makefile | 2 +- tests/xbps/xbps-rindex/unindex_test.sh | 169 +++++++++++++++++++++++++ 3 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 tests/xbps/xbps-rindex/unindex_test.sh diff --git a/tests/xbps/xbps-rindex/Kyuafile b/tests/xbps/xbps-rindex/Kyuafile index 149df6f4b..15b87e552 100644 --- a/tests/xbps/xbps-rindex/Kyuafile +++ b/tests/xbps/xbps-rindex/Kyuafile @@ -4,3 +4,4 @@ test_suite("xbps-rindex") atf_test_program{name="add_test"} atf_test_program{name="clean_test"} atf_test_program{name="remove_test"} +atf_test_program{name="unindex_test"} diff --git a/tests/xbps/xbps-rindex/Makefile b/tests/xbps/xbps-rindex/Makefile index ca28e3ad3..477200729 100644 --- a/tests/xbps/xbps-rindex/Makefile +++ b/tests/xbps/xbps-rindex/Makefile @@ -1,7 +1,7 @@ TOPDIR = ../../.. -include $(TOPDIR)/config.mk -TESTSHELL = add_test clean_test remove_test +TESTSHELL = add_test clean_test remove_test unindex_test TESTSSUBDIR = xbps/xbps-rindex EXTRA_FILES = Kyuafile diff --git a/tests/xbps/xbps-rindex/unindex_test.sh b/tests/xbps/xbps-rindex/unindex_test.sh new file mode 100644 index 000000000..537577e54 --- /dev/null +++ b/tests/xbps/xbps-rindex/unindex_test.sh @@ -0,0 +1,169 @@ +#! /usr/bin/env atf-sh +# Test that xbps-rindex(8) -R (remove mode) works as expected. + +atf_test_case remove_same + +remove_same_head() { + atf_set "descr" "xbps-rindex(8) -R: test removing indexed version" +} + +remove_same_body() { + mkdir -p some_repo pkg_A pkg_B pkg_C + cd some_repo + xbps-create -A noarch -n foo-a-1.0_1 -s "foo pkg a" ../pkg_A + atf_check_equal $? 0 + xbps-create -A noarch -n foo-b-1.0_1 -s "foo pkg b" ../pkg_B + atf_check_equal $? 0 + xbps-create -A noarch -n foo-c-1.0_1 -s "foo pkg c" ../pkg_C + atf_check_equal $? 0 + xbps-rindex -d -a $PWD/*.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="[-] foo-a-1.0_1 foo pkg a +[-] foo-b-1.0_1 foo pkg b +[-] foo-c-1.0_1 foo pkg c" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 + cd some_repo + xbps-rindex -R $PWD $PWD/foo-a-1.0_1.noarch.xbps $PWD/foo-c-1.0_1.noarch.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="[-] foo-b-1.0_1 foo pkg b" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 +} + +atf_test_case remove_older + +remove_older_head() { + atf_set "descr" "xbps-rindex(8) -R: test removing older version" +} + +remove_older_body() { + mkdir -p some_repo pkg_A-2.0 pkg_A-1.0 + cd some_repo + xbps-create -A noarch -n foo-1.0_1 -s "foo pkg" ../pkg_A-1.0 + atf_check_equal $? 0 + xbps-rindex -d -a $PWD/*.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="[-] foo-1.0_1 foo pkg" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 + cd some_repo + xbps-create -A noarch -n foo-2.0_1 -s "foo pkg" ../pkg_A-2.0 + atf_check_equal $? 0 + xbps-rindex -R $PWD $PWD/foo-2.0_1.noarch.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 +} + +atf_test_case remove_newer_noop + +remove_newer_noop_head() { + atf_set "descr" "xbps-rindex(8) -R: newer version is not removed" +} + +remove_newer_noop_body() { + mkdir -p some_repo pkg_A-2 pkg_A-1.0 + cd some_repo + xbps-create -A noarch -n foo-a-2_1 -s "foo pkg a" ../pkg_A-2 + atf_check_equal $? 0 + xbps-rindex -d -a $PWD/*.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="[-] foo-a-2_1 foo pkg a" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 + cd some_repo + xbps-create -A noarch -n foo-a-1.0_1 -s "foo pkg a" ../pkg_A-1.0 + atf_check_equal $? 0 + xbps-rindex -R $PWD $PWD/foo-a-1.0_1.noarch.xbps $PWD/nonpkg-0.1_1.noarch.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 +} + + +atf_test_case force_remove + +force_remove_head() { + atf_set "descr" "xbps-rindex(8) -R: force remove test" +} + +force_remove_body() { + mkdir -p some_repo pkg_A + cd some_repo + xbps-create -A noarch -n foo-a-1.0_1 -s "foo pkg a" ../pkg_A + atf_check_equal $? 0 + xbps-rindex -d -a $PWD/*.xbps + atf_check_equal $? 0 + cd .. + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="[-] foo-a-1.0_1 foo pkg a" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 + xbps-rindex -Rf $PWD/some_repo foo-a + atf_check_equal $? 0 + result="$(xbps-query -r root -C empty.conf --repository=some_repo -s '')" + expected="" + rv=0 + if [ "$result" != "$expected" ]; then + echo "result: $result" + echo "expected: $expected" + rv=1 + fi + atf_check_equal $rv 0 +} + +atf_init_test_cases() { + atf_add_test_case remove_same + atf_add_test_case remove_older + atf_add_test_case remove_newer_noop + atf_add_test_case force_remove +}