X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=t%2Ftest-lib.sh;h=75249fe32b0b0e159b4b6ad1773efa2673b2cd22;hp=f3768b65d573f755ea505bf282a1e106809621a2;hb=HEAD;hpb=0a4967c495ac46a5b7d7440e5e5a6df43d5a8f04 diff --git a/t/test-lib.sh b/t/test-lib.sh index f3768b65..1ba70632 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1,9 +1,8 @@ #!/bin/bash -# paraslash test suite helper functions -# Licensed under the GPL v2. For licencing details see COPYING. -# uses ideas and code from git's test-lib.sh, Copyright (c) 2005 Junio C Hamano - +# Test suite helper functions, uses ideas and code from git's test-lib.sh, +# Copyright (c) 2005 Junio C Hamano. Licensed under the GPL v2, see file +# COPYING. get_audio_file_paths() { @@ -18,25 +17,31 @@ get_audio_file_paths() say_color() { + local severity=$1 + + shift if [[ "$o_nocolor" != "true" && -n "$1" ]]; then export TERM=$ORIGINAL_TERM - case "$1" in - error) tput bold; tput setaf 1;; - skip) tput setaf 5;; + case "$severity" in + error) tput $C_BOLD; tput $C_SETAF 1;; + skip) tput $C_SETAF 5;; ok) (($o_verbose == 0)) && return - tput setaf 2;; - pass) tput bold; tput setaf 2;; - info) tput setaf 3;; + tput $C_SETAF 2;; + pass) tput $C_BOLD; tput $C_SETAF 2;; + info) tput $C_SETAF 3;; run) (($o_verbose == 0)) && return - tput setaf 6;; + tput $C_SETAF 6;; esac fi - shift - printf "%s\n" "$*" + if [[ "$severity" == 'error' ]]; then + printf "%s\n" "$*" 1>&2 + else + printf "%s\n" "$*" + fi if [[ "$o_nocolor" != "true" && -n "$1" ]]; then - tput sgr0 + tput $C_SGR0 export TERM=dumb fi } @@ -156,7 +161,7 @@ test_require_executables() test_duration() { local t=$(exec 2>&1 1>/dev/null; time -p "$@") - result=$(awk '{print $2 * 1000}' <<< $t) + result=$(awk '{print $2 * 1000; exit 0}' <<< "$t") } test_expect_success() @@ -218,9 +223,21 @@ can_use_colors() result="false" [[ "$TERM" == "dumb" ]] && return [[ -t 1 ]] || return - tput bold >/dev/null 2>&1 || return - tput setaf 1 >/dev/null 2>&1 || return - tput sgr0 >/dev/null 2>&1 || return + C_BOLD='bold' + tput $C_BOLD &>/dev/null || { + C_BOLD='md' + tput $C_BOLD &>/dev/null + } || return + C_SETAF='setaf' + tput $C_SETAF 1 &>/dev/null || { + C_SETAF='AF' + tput $C_SETAF 1 &>/dev/null + } || return + C_SGR0='sgr0' + tput $C_SGR0 >/dev/null 2>&1 || { + C_SGR0='me' + tput $C_SGR0 &>/dev/null + } || return result="true" } @@ -260,7 +277,7 @@ fixup_dirs() { local wd=$(pwd) - test_dir="$wd/${0%/*}" + test_dir="$(realpath $wd/${0%/*})" test_audio_file_dir="$test_dir/audio_files" [[ -z "$o_results_dir" ]] && o_results_dir="$test_dir/test-results" @@ -268,7 +285,7 @@ fixup_dirs() [[ -z "$o_trash_dir" ]] && o_trash_dir="$test_dir/trashes" [[ -z "$o_man_dir" ]] && o_man_dir="$test_dir/../build/man/man1" - # we want alsolute paths because relative paths become invalid + # we want absolute paths because relative paths become invalid # after changing to the trash dir [[ -n "${o_results_dir##/*}" ]] && o_results_dir="$wd/$o_results_dir" [[ -n "${o_executables_dir##/*}" ]] && o_executables_dir="$wd/$o_results_dir" @@ -299,7 +316,7 @@ fi fixup_dirs [[ -z "$o_executables" ]] && o_executables="para_afh para_audioc para_audiod - para_client para_fade para_filter para_gui para_recv para_server + para_client para_mixer para_filter para_gui para_recv para_server para_write" for exe in $o_executables; do export $(tr 'a-z' 'A-Z' <<< $exe)="$o_executables_dir/$exe"