X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=t%2Ftest-lib.sh;h=75249fe32b0b0e159b4b6ad1773efa2673b2cd22;hp=f1bb8cf65b66ff3890659f2b6009bae08d3cbd77;hb=f14e5c15c82d4bf3b7ea611eab6bce95d4767b61;hpb=e1f3c04146bff24c242101bb446a2528ee45214a diff --git a/t/test-lib.sh b/t/test-lib.sh index f1bb8cf6..75249fe3 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() { @@ -21,22 +20,22 @@ say_color() if [[ "$o_nocolor" != "true" && -n "$1" ]]; then export TERM=$ORIGINAL_TERM case "$1" in - error) tput bold; tput setaf 1;; - skip) tput setaf 5;; + 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 [[ "$o_nocolor" != "true" && -n "$1" ]]; then - tput sgr0 + tput $C_SGR0 export TERM=dumb fi } @@ -156,7 +155,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 +217,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" } @@ -235,6 +246,7 @@ parse_options() -v=1|--verbose=1) o_verbose="1"; shift;; -v|--verbose|-v=2|--verbose=2) o_verbose="2"; shift;; --no-color) o_nocolor="true"; shift;; + --man-dir) export o_man_dir="$2"; shift; shift;; --results-dir) o_results_dir="$2"; shift; shift;; --trash-dir) o_trash_dir="$2"; shift; shift;; --executables-dir) export o_executables_dir="$2"; shift; shift;; @@ -259,17 +271,19 @@ 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" [[ -z "$o_executables_dir" ]] && o_executables_dir="$test_dir/.." [[ -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 # 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" + [[ -n "${o_man_dir##/*}" ]] && o_man_dir="$wd/$o_man_dir" [[ -n "${o_trash_dir##/*}" ]] && o_trash_dir="$wd/$o_trash_dir" mkdir -p "$o_results_dir" @@ -296,7 +310,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"