diff --git a/mk/test-shell.mk b/mk/test-shell.mk index f5f2f4c5..2ae994f8 100644 --- a/mk/test-shell.mk +++ b/mk/test-shell.mk @@ -5,6 +5,7 @@ all: $(TEST) .PHONY: clean clean: + -rm -f $(TEST) .PHONY: install install: all diff --git a/tests/Makefile b/tests/Makefile index 2220499a..547b73f4 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,5 +1,5 @@ -include ../config.mk -SUBDIRS = libxbps +SUBDIRS = libxbps xbps-rindex include ../mk/subdir.mk diff --git a/tests/xbps-rindex/Makefile b/tests/xbps-rindex/Makefile new file mode 100644 index 00000000..9d4629b3 --- /dev/null +++ b/tests/xbps-rindex/Makefile @@ -0,0 +1,5 @@ +-include ../../config.mk + +SUBDIRS = common issue19 + +include ../../mk/subdir.mk diff --git a/tests/xbps-rindex/Makefile.inc b/tests/xbps-rindex/Makefile.inc new file mode 100644 index 00000000..5767c145 --- /dev/null +++ b/tests/xbps-rindex/Makefile.inc @@ -0,0 +1 @@ +TESTSSUBDIR = xbps-rindex diff --git a/tests/xbps-rindex/common/Kyuafile b/tests/xbps-rindex/common/Kyuafile new file mode 100644 index 00000000..d8f4c50e --- /dev/null +++ b/tests/xbps-rindex/common/Kyuafile @@ -0,0 +1,4 @@ +syntax("kyuafile", 1) + +test_suite("xbps-rindex") +atf_test_program{name="issue19_test"} diff --git a/tests/xbps-rindex/common/Makefile b/tests/xbps-rindex/common/Makefile new file mode 100644 index 00000000..149e98bb --- /dev/null +++ b/tests/xbps-rindex/common/Makefile @@ -0,0 +1,15 @@ +TOPDIR = ../../.. +-include $(TOPDIR)/config.mk + +include ../Makefile.inc + +all: + +install: + install -d $(DESTDIR)$(TESTSDIR)/$(TESTSSUBDIR) + install -m644 Kyuafile $(DESTDIR)$(TESTSDIR)/$(TESTSSUBDIR) + +uninstall: + -rm -f $(DESTDIR)$(TESTSDIR)/$(TESTSSUBDIR)/Kyuafile + +clean: diff --git a/tests/xbps-rindex/issue19/Makefile b/tests/xbps-rindex/issue19/Makefile new file mode 100644 index 00000000..58765190 --- /dev/null +++ b/tests/xbps-rindex/issue19/Makefile @@ -0,0 +1,7 @@ +TOPDIR = ../../.. +-include $(TOPDIR)/config.mk + +TEST = issue19_test + +include ../Makefile.inc +include $(TOPDIR)/mk/test-shell.mk diff --git a/tests/xbps-rindex/issue19/issue19_test.sh b/tests/xbps-rindex/issue19/issue19_test.sh new file mode 100755 index 00000000..51f8c5f1 --- /dev/null +++ b/tests/xbps-rindex/issue19/issue19_test.sh @@ -0,0 +1,38 @@ +#! /usr/bin/env atf-sh + +# xbps issue #19. +# How to reproduce it: +# Generate pkg foo-1.0_1. +# Add it to the index of a local repo. +# Remove the pkg file from the repo. +# Run xbps-rindex -c on the repo. + +atf_test_case issue19 + +issue19_head() { + atf_set "descr" "xbps issue #19 (https://github.com/xtraeme/xbps/issues/19)" +} + +issue19_body() { + mkdir -p some_repo + cd some_repo + xbps-create -A noarch -n foo-1.0_1 -s "foo pkg" . + atf_check_equal $? 0 + xbps-rindex -a *.xbps + atf_check_equal $? 0 + cd .. + rm some_repo/*.xbps + xbps-rindex -c some_repo + atf_check_equal $? 0 + result=$(xbps-query --repository=some_repo -s foo) + test -z "${result}" + atf_check_equal $? 0 +} + +issue19_cleanup() { + rm -rf some_repo +} + +atf_init_test_cases() { + atf_add_test_case issue19 +}