(testsuite) Added shell script `run'
This allows tab-completion of test scripts to run, e.g.: $ ./run unit/comp<TAB> $ ./run unit/compgen.exp Instead of the old way: $ ./runUnit compgen.exp
This commit is contained in:
parent
fec41f3c74
commit
f9db6abdc1
31
test/run
Executable file
31
test/run
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Run test of specified tool.
|
||||||
|
# The first directory of the first file (first argument ending with .exp) is
|
||||||
|
# used as the `tool' specification.
|
||||||
|
# Usage: ./run [FILE]...
|
||||||
|
# Example run: ./run unit/_get_cword.exp unit/compgen.exp
|
||||||
|
|
||||||
|
|
||||||
|
# Process arguments
|
||||||
|
# @param $1 Name of variable to return `tool' name
|
||||||
|
# @param $2 Name of variable to return processed arguments
|
||||||
|
# @param $@ Arguments to process
|
||||||
|
process_args() {
|
||||||
|
local arg
|
||||||
|
for arg in "${@:3}"; do
|
||||||
|
case "$arg" in
|
||||||
|
completion/*.exp|unit/*.exp)
|
||||||
|
[[ ${!1} ]] || printf -v $1 "${arg%%/*}"
|
||||||
|
eval $2[\${#$2[@]}]=\""${arg#*/}"\"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
eval $2[\${#$2[@]}]=\""$arg"\"
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
args=()
|
||||||
|
process_args tool args "$@"
|
||||||
|
runtest --outdir log --tool $tool "${args[@]}"
|
||||||
|
|
||||||
|
unset -v args tool
|
Loading…
x
Reference in New Issue
Block a user