From 83d859286db8a184054a5e05f707953634c82604 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 15 Jun 2010 13:30:12 +0000 Subject: test: initial testsuite --- test/Makefile | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/Makefile (limited to 'test/Makefile') diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 0000000..23f3183 --- /dev/null +++ b/test/Makefile @@ -0,0 +1,59 @@ + +repos := repo1 repo2 + +tmproot := /tmp/apk-test +testroot = $(tmproot)/$(basename $@) + +SUDO := sudo +APK := ../src/apk --keys-dir /etc/apk/keys +#SYSREPO ?= http://alpinelinux.org/cgi-bin/dl.cgi/edge/main +SYSREPO ?= http://192.168.8.4/main + +LD_LIBRARY_PATH = ../src +export LD_LIBRARY_PATH SYSREPO + +all: tests + +$(repos): + @echo "Building $@" + @rm -f repos.out + @cd $@ &&\ + for i in */APKBUILD; do\ + ( cd $${i%/*} && \ + PKGDEST="$$PWD/.." abuild -R ) >> ../repos.out 2>&1 || exit 1;\ + done + @cd $@ &&\ + ( apk index -o APKINDEX.tar.gz *.apk &&\ + abuild-sign APKINDEX.tar.gz ) >> ../repos.out 2>&1 + + +clean: + $(SUDO) rm -rf $(addsuffix /*.apk,$(repos)) $(tmproot) *.ok *.out *.stamp + + +repos: repos.stamp + +repos.stamp: $(repos) + @touch $@ + + +%.ok: %.sh + @echo -n "$<"; \ + rm -rf "$(testroot)" ;\ + mkdir -p "$(testroot)"; \ + if ! APK="$(APK)" ROOT="$(testroot)" SYSREPO="$(SYSREPO)" sh -e $< > $(basename $@).out 2>&1; then\ + echo " FAIL";\ + exit 1;\ + fi ;\ + echo " OK" ;\ + $(SUDO) rm -rf $(testroot); \ + touch $@ + +tests: repos.stamp + @echo "== Testing `$(APK) --version` ==" + @for i in test*.sh; do \ + rm -f $${i%.sh}.ok ;\ + $(SUDO) $(MAKE) --no-print-directory $${i%.sh}.ok SYSREPO=$(SYSREPO); \ + done + +.PHONY: $(repos) -- cgit v1.2.3-60-g2f50