From f6bfb482a32543deed925b127c972a7c258df4a1 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 25 Jul 2010 20:04:16 +0200 Subject: Strip the .sh extension from the libapt testrunner and make it a bit more robust against calling from outside --- test/libapt/run-tests | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 test/libapt/run-tests (limited to 'test/libapt/run-tests') diff --git a/test/libapt/run-tests b/test/libapt/run-tests new file mode 100755 index 000000000..0f55f7386 --- /dev/null +++ b/test/libapt/run-tests @@ -0,0 +1,61 @@ +#!/bin/sh +set -e + +local DIR=$(readlink -f $(dirname $0)) +echo "Compiling the tests …" +test -d "$DIR/../../build/obj/test/libapt/" || mkdir -p "$DIR/../../build/obj/test/libapt/" +$(cd $DIR && make) +echo "Running all testcases …" +LDPATH="$DIR/../../build/bin" +EXT="_libapt_test" +for testapp in $(ls ${LDPATH}/*$EXT) +do + name=$(basename ${testapp}) + tmppath="" + + if [ $name = "GetListOfFilesInDir${EXT}" ]; then + # TODO: very-low: move env creation to the actual test-app + echo "Prepare Testarea for \033[1;35m$name\033[0m ..." + tmppath=$(mktemp -d) + touch "${tmppath}/anormalfile" \ + "${tmppath}/01yet-anothernormalfile" \ + "${tmppath}/anormalapt.conf" \ + "${tmppath}/01yet-anotherapt.conf" \ + "${tmppath}/anormalapt.list" \ + "${tmppath}/01yet-anotherapt.list" \ + "${tmppath}/wrongextension.wron" \ + "${tmppath}/wrong-extension.wron" \ + "${tmppath}/strangefile." \ + "${tmppath}/s.t.r.a.n.g.e.f.i.l.e" \ + "${tmppath}/.hiddenfile" \ + "${tmppath}/.hiddenfile.conf" \ + "${tmppath}/.hiddenfile.list" \ + "${tmppath}/multi..dot" \ + "${tmppath}/multi.dot.conf" \ + "${tmppath}/multi.dot.list" \ + "${tmppath}/disabledfile.disabled" \ + "${tmppath}/disabledfile.conf.disabled" \ + "${tmppath}/disabledfile.list.disabled" \ + "${tmppath}/invälid.conf" \ + "${tmppath}/invalíd" \ + "${tmppath}/01invalíd" + ln -s "${tmppath}/anormalfile" "${tmppath}/linkedfile.list" + ln -s "${tmppath}/non-existing-file" "${tmppath}/brokenlink.list" + elif [ $name = "getLanguages${EXT}" ]; then + echo "Prepare Testarea for \033[1;35m$name\033[0m ..." + tmppath=$(mktemp -d) + touch "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tr" \ + "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \ + "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-se~" \ + "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-st.bak" + fi + + echo -n "Testing with \033[1;35m${name}\033[0m ... " + LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m" + + if [ -n "$tmppath" -a -d "$tmppath" ]; then + echo "Cleanup Testarea after \033[1;35m$name\033[0m ..." + rm -rf "$tmppath" + fi + +done -- cgit v1.2.3