X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/7996157f14d99ee6d26c042816e12bd9089c1efb..b5b1f0715ad2e5db133c7f14217a14c0bffcd8ac:/tests/setup.sh diff --git a/tests/setup.sh b/tests/setup.sh index b21908d..1d8677a 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -15,46 +15,49 @@ # run_test 'repo index' 'cgit_url "/" | tidy -e' # run_test 'repo summary' 'cgit_url "/foo" | tidy -e' -unset CDPATH +: ${TEST_DIRECTORY=$(pwd)/../git/t} +: ${TEST_OUTPUT_DIRECTORY=$(pwd)} +TEST_NO_CREATE_REPO=YesPlease +. "$TEST_DIRECTORY"/test-lib.sh + +# Prepend the directory containing cgit to PATH. +PATH="$(pwd)/../..:$PATH" mkrepo() { name=$1 count=$2 - dir=$PWD - test -d "$name" && return - printf "Creating testrepo %s\n" $name - mkdir -p "$name" - cd "$name" - git init - n=1 - while test $n -le $count - do - echo $n >file-$n - git add file-$n - git commit -m "commit $n" - n=$(expr $n + 1) - done - if test "$3" = "testplus" - then - echo "hello" >a+b - git add a+b - git commit -m "add a+b" - git branch "1+2" - fi - cd $dir + test_create_repo "$name" + ( + cd "$name" + n=1 + while test $n -le $count + do + echo $n >file-$n + git add file-$n + git commit -m "commit $n" + n=$(expr $n + 1) + done + if test "$3" = "testplus" + then + echo "hello" >a+b + git add a+b + git commit -m "add a+b" + git branch "1+2" + fi + ) } setup_repos() { - rm -rf trash/cache - mkdir -p trash/cache - mkrepo trash/repos/foo 5 >/dev/null - mkrepo trash/repos/bar 50 >/dev/null - mkrepo trash/repos/foo+bar 10 testplus >/dev/null - mkrepo "trash/repos/with space" 2 >/dev/null - cat >trash/cgitrc </dev/null + mkrepo repos/bar 50 >/dev/null + mkrepo repos/foo+bar 10 testplus >/dev/null + mkrepo "repos/with space" 2 >/dev/null + cat >cgitrc </dev/null - test_count=0 - test_failed=0 - echo "[$0]" "$@" >test-output.log - echo "$@" "($0)" -} - -tests_done() +cgit_query() { - printf "\n" - if test $test_failed -gt 0 - then - printf "test: *** %s failure(s), logfile=%s\n" \ - $test_failed "$(pwd)/test-output.log" - false - fi + CGIT_CONFIG="$PWD/cgitrc" QUERY_STRING="$1" cgit } -run_test() +cgit_url() { - bug=0 - if test "$1" = "BUG" - then - bug=1 - shift - fi - desc=$1 - script=$2 - test_count=$(expr $test_count + 1) - printf "\ntest %d: name='%s'\n" $test_count "$desc" >>test-output.log - printf "test %d: eval='%s'\n" $test_count "$2" >>test-output.log - eval "$2" >>test-output.log 2>>test-output.log - res=$? - printf "test %d: exitcode=%d\n" $test_count $res >>test-output.log - if test $res = 0 -a $bug = 0 - then - printf " %2d) %-60s [ok]\n" $test_count "$desc" - elif test $res = 0 -a $bug = 1 - then - printf " %2d) %-60s [BUG FIXED]\n" $test_count "$desc" - elif test $bug = 1 - then - printf " %2d) %-60s [KNOWN BUG]\n" $test_count "$desc" - else - test_failed=$(expr $test_failed + 1) - printf " %2d) %-60s [failed]\n" $test_count "$desc" - fi + CGIT_CONFIG="$PWD/cgitrc" QUERY_STRING="url=$1" cgit } -cgit_query() -{ - CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="$1" "$PWD/../cgit" +strip_headers () { + while read -r line + do + test -z "$line" && break + done + cat } -cgit_url() -{ - CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="url=$1" "$PWD/../cgit" -} +test -z "$CGIT_TEST_NO_CREATE_REPOS" && setup_repos