]> gitweb.ps.run Git - ps-cgit/blobdiff - tests/setup.sh
tests: properly quote arguments to printf
[ps-cgit] / tests / setup.sh
index 1457dd51ec948595ff9f73a758c01f04501347b4..651f9400d657a4510a71576336c7bfcacab95a32 100755 (executable)
 # run_test 'repo index' 'cgit_url "/" | tidy -e'
 # run_test 'repo summary' 'cgit_url "/foo" | tidy -e'
 
+unset CDPATH
 
 mkrepo() {
        name=$1
        count=$2
        dir=$PWD
-       test -d $name && return
-       printf "Creating testrepo %s\n" $name
-       mkdir -p $name
-       cd $name
+       test -d "$name" && return
+       printf "Creating testrepo %s\n" "$name"
+       mkdir -p "$name"
+       cd "$name"
        git init
-       for ((n=1; n<=count; n++))
+       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
@@ -38,7 +41,7 @@ mkrepo() {
                git commit -m "add a+b"
                git branch "1+2"
        fi
-       cd $dir
+       cd "$dir"
 }
 
 setup_repos()
@@ -48,6 +51,7 @@ setup_repos()
        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 <<EOF
 virtual-root=/
 cache-root=$PWD/trash/cache
@@ -73,6 +77,10 @@ repo.desc=the bar repo
 repo.url=foo+bar
 repo.path=$PWD/trash/repos/foo+bar/.git
 repo.desc=the foo+bar repo
+
+repo.url=with space
+repo.path=$PWD/trash/repos/with space/.git
+repo.desc=spaced repo
 EOF
 }
 
@@ -99,19 +107,31 @@ tests_done()
 
 run_test()
 {
+       bug=0
+       if test "$1" = "BUG"
+       then
+               bug=1
+               shift
+       fi
        desc=$1
        script=$2
-       ((test_count++))
+       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
+       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++))
+               test_failed=$(expr $test_failed + 1)
                printf " %2d) %-60s [failed]\n" $test_count "$desc"
        fi
 }