Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 18.227.134.95
# bash completion for pytest(1) -*- shell-script -*-
_pytest()
{
local cur prev words cword split
_init_completion -s -n : || return
case $prev in
--help | --maxfail | --report | --junit-prefix | --doctest-glob | -!(-*)[hkmorp])
return
;;
--import-mode)
COMPREPLY=($(compgen -W "prepend append" -- "$cur"))
return
;;
--capture)
COMPREPLY=($(compgen -W "fd sys no tee-sys" -- "$cur"))
return
;;
--lfnf | --last-failed-no-failures)
COMPREPLY=($(compgen -W "all none" -- "$cur"))
return
;;
--tb)
COMPREPLY=($(compgen -W "auto long short line native no" \
-- "$cur"))
return
;;
--show-capture)
COMPREPLY=($(compgen -W "no stdout stderr log all" -- "$cur"))
return
;;
--color)
COMPREPLY=($(compgen -W "yes no auto" -- "$cur"))
return
;;
--pastebin)
COMPREPLY=($(compgen -W "failed all" -- "$cur"))
return
;;
--junit-xml)
_filedir xml
return
;;
--result-log | --log-file)
_filedir log
return
;;
--ignore)
_filedir
return
;;
--confcutdir | --basetemp | --rsyncdir | --rootdir)
_filedir -d
return
;;
--doctest-report)
COMPREPLY=($(compgen -W "none cdiff ndiff udiff only_first_failure" -- "$cur"))
return
;;
--assert)
COMPREPLY=($(compgen -W "plain reinterp rewrite" -- "$cur"))
return
;;
--genscript)
_filedir py
return
;;
--pythonwarnings | -!(-*)W)
_xfunc python _python_warning_actions
return
;;
--numprocesses | -!(-*)n)
COMPREPLY=($(compgen -W "{1..$(_ncpus)} auto" -- "$cur"))
return
;;
--dist)
local modes=$("$1" --dist=nonexistent-distmode 2>&1 |
command sed -e 's/[^[:space:][:alnum:]-]\{1,\}//g' \
-ne 's/.*choose from //p')
COMPREPLY=($(compgen -W '$modes' -- "$cur"))
return
;;
esac
$split && return
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
return
fi
if [[ $cur == *.py::*:* ]]; then
local file=${cur/.py:*/.py}
local class=${cur#*.py::} in_class=false
local line
class=${class%%:*}
while IFS= read -r line; do
if [[ $line =~ ^class[[:space:]]+${class}[[:space:]:\(] ]]; then
in_class=true
elif [[ $line =~ ^class[[:space:]] ]]; then
in_class=false
fi
if $in_class && [[ $line =~ ^[[:space:]]+(async[[:space:]]+)?def[[:space:]]+(test_[A-Za-z0-9_]+) ]]; then
COMPREPLY+=(${BASH_REMATCH[2]})
fi
done 2>/dev/null <"$file"
((!${#COMPREPLY[@]})) ||
COMPREPLY=($(compgen -P "$file::$class::" -W '${COMPREPLY[@]}' \
-- "${cur##*:?(:)}"))
__ltrim_colon_completions "$cur"
return
elif [[ $cur == *.py:* ]]; then
local file="${cur/.py:*/.py}" line
while IFS= read -r line; do
if [[ $line =~ ^class[[:space:]]+(Test[A-Za-z0-9_]+) ]]; then
COMPREPLY+=(${BASH_REMATCH[1]})
elif [[ $line =~ ^(async[[:space:]]+)?def[[:space:]]+(test_[A-Za-z0-9_]+) ]]; then
COMPREPLY+=(${BASH_REMATCH[2]})
fi
done 2>/dev/null <"$file"
((!${#COMPREPLY[@]})) ||
COMPREPLY=($(compgen -P "$file::" -W '${COMPREPLY[@]}' \
-- "${cur##*.py:?(:)}"))
__ltrim_colon_completions "$cur"
return
fi
_filedir py
} &&
complete -F _pytest pytest pytest-2 pytest-3 py.test py.test-2 py.test-3
# ex: filetype=sh
|