mirror of
https://github.com/crystalidea/qt-build-tools.git
synced 2024-11-26 20:47:12 +08:00
119 lines
4.1 KiB
Bash
119 lines
4.1 KiB
Bash
# bash completion for ctest(1) -*- shell-script -*-
|
|
|
|
_ctest()
|
|
{
|
|
local cur prev words cword
|
|
if type -t _init_completion >/dev/null; then
|
|
_init_completion -n = || return
|
|
else
|
|
# manual initialization for older bash completion versions
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
fi
|
|
|
|
case "$prev" in
|
|
-C|--build-config)
|
|
COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
|
|
MinSizeRel' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-j|--parallel)
|
|
COMPREPLY=( $( compgen -W "{1..$(( $(_ncpus)*2 ))}" -- "$cur" ) )
|
|
return
|
|
;;
|
|
-O|--output-log|-A|--add-notes|--extra-submit)
|
|
_filedir
|
|
return
|
|
;;
|
|
-L|--label-regex|-LE|--label-exclude)
|
|
COMPREPLY=( $( compgen -W '$( ctest --print-labels 2>/dev/null |
|
|
grep "^ " 2>/dev/null | cut -d" " -f 3 )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--track|-I|--tests-information|--max-width|--timeout|--stop-time)
|
|
# argument required but no completions available
|
|
return
|
|
;;
|
|
-R|--tests-regex|-E|--exclude-regex)
|
|
COMPREPLY=( $( compgen -W '$( ctest -N 2>/dev/null |
|
|
grep "^ Test" 2>/dev/null | cut -d: -f 2 )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-D|--dashboard)
|
|
if [[ $cur == @(Experimental|Nightly|Continuous)* ]]; then
|
|
local model action
|
|
action=${cur#@(Experimental|Nightly|Continuous)}
|
|
model=${cur%"$action"}
|
|
COMPREPLY=( $( compgen -W 'Start Update Configure Build Test
|
|
Coverage Submit MemCheck' -P "$model" -- "$action" ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' \
|
|
-- "$cur" ) )
|
|
compopt -o nospace
|
|
fi
|
|
return
|
|
;;
|
|
-M|--test-model)
|
|
COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' -- \
|
|
"$cur" ) )
|
|
return
|
|
;;
|
|
-T|--test-action)
|
|
COMPREPLY=( $( compgen -W 'Start Update Configure Build Test
|
|
Coverage Submit MemCheck' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-S|--script|-SP|--script-new-process)
|
|
_filedir '@(cmake|ctest)'
|
|
return
|
|
;;
|
|
--interactive-debug-mode)
|
|
COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) )
|
|
return
|
|
;;
|
|
|
|
--help-command)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-command-list 2>/dev/null|
|
|
grep -v "^ctest version " )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--help-manual)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-manual-list 2>/dev/null|
|
|
grep -v "^ctest version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--help-module)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-module-list 2>/dev/null|
|
|
grep -v "^ctest version " )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--help-policy)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-policy-list 2>/dev/null |
|
|
grep -v "^ctest version " )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--help-property)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-property-list \
|
|
2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
--help-variable)
|
|
COMPREPLY=( $( compgen -W '$( ctest --help-variable-list \
|
|
2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
[[ $COMPREPLY ]] && return
|
|
fi
|
|
|
|
_filedir
|
|
} &&
|
|
complete -F _ctest ctest
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|