#!/usr/bin/make -f
export PYBUILD_NAME=rarfile
# Build-time tests loop over both unrar-rs and unrar-free; deselect anything
# broken by the latter implementation's limited format support
export UNRAR_FREE_TEST_ARGS=-k "not ( \
	test_open_psw_late_rar5 or \
	test_open_pathlib_path or \
	test_read_psw_late_rar5 or \
	test_vols[test/files/rar3-old.rar] or \
	test_rar3_header_encryption or \
	test_reading[test/files/rar15-comment-lock.rar] or \
	test_reading[test/files/rar15-comment.rar] or \
	test_reading[test/files/rar202-comment-nopsw.rar] or \
	test_reading[test/files/rar202-comment-psw.rar] or \
	test_reading[test/files/rar2-unix-owner.rar] or \
	test_reading[test/files/rar3-solid.rar] or \
	test_reading[test/files/rar5-psw-blake.rar] or \
	test_reading[test/files/rar5-psw.rar] or \
	test_reading_rar3_hpsw or \
	test_reading_rar5_hpsw or \
	test_unrar_tool )"

%:
	dh $@ --buildsystem=pybuild

override_dh_installchangelogs:
	dh_installchangelogs doc/news.rst

# Run the testsuite with multiple unrar implementations
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	# Manipulate the PATH to select the unrar of our choice
	set -e; \
	mkdir -vp "$(CURDIR)/_bin"; \
	for unrar in unrar-rs unrar-free; do \
		rm -vf "$(CURDIR)/_bin/unrar"; \
		ln -vs /usr/bin/$$unrar "$(CURDIR)/_bin/unrar"; \
		PATH="$(CURDIR)/_bin":$(PATH) $$unrar -V | head -n3 | sed '/^$$/D'; \
		if [ $$unrar = "unrar-free" ]; then \
			PATH="$(CURDIR)/_bin":$(PATH) \
			PYBUILD_TEST_ARGS='$(UNRAR_FREE_TEST_ARGS)' \
			dh_auto_test; \
		else \
			PATH="$(CURDIR)/_bin":$(PATH) \
			PYBUILD_TEST_ARGS= \
			dh_auto_test; \
		fi; \
	done; \
	rm -vrf "$(CURDIR)/_bin";
endif
