diff options
Diffstat (limited to 'completions/sysbench')
-rw-r--r-- | completions/sysbench | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/completions/sysbench b/completions/sysbench new file mode 100644 index 0000000..0af7cc3 --- /dev/null +++ b/completions/sysbench @@ -0,0 +1,132 @@ +# bash completion for sysbench -*- shell-script -*- + +_sysbench() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --num-threads | --max-requests | --max-time | --thread-stack-size | \ + --help | --version | help | version) + return + ;; + --init-rng | --debug | --validate) + COMPREPLY=($(compgen -W 'on off' -- "$cur")) + return + ;; + --test) + COMPREPLY=($(compgen -W 'fileio cpu memory threads mutex oltp' \ + -- "$cur")) + return + ;; + --cpu-max-prime) + return + ;; + --file-test-mode) + COMPREPLY=($(compgen -W 'seqwr seqrewr seqrd rndrd rndwr rndrw' \ + -- "$cur")) + return + ;; + --file-io-mode) + COMPREPLY=($(compgen -W 'sync async fastmmap slowmmap' -- "$cur")) + return + ;; + --file-extra-flags) + COMPREPLY=($(compgen -W 'sync dsync direct' -- "$cur")) + return + ;; + --file-fsync-all | --file-fsync-end) + COMPREPLY=($(compgen -W 'on off' -- "$cur")) + return + ;; + --file-fsync-mode) + COMPREPLY=($(compgen -W 'fsync fdatasync' -- "$cur")) + return + ;; + --memory-scope) + COMPREPLY=($(compgen -W 'global local' -- "$cur")) + return + ;; + --memory-hugetlb) + COMPREPLY=($(compgen -W 'on off' -- "$cur")) + return + ;; + --memory-oper) + COMPREPLY=($(compgen -W 'read write none' -- "$cur")) + return + ;; + --memory-access-mode) + COMPREPLY=($(compgen -W 'seq rnd' -- "$cur")) + return + ;; + --oltp-test-mode) + COMPREPLY=($(compgen -W 'simple complex nontrx sp' -- "$cur")) + return + ;; + --oltp-read-only | --oltp-skip-trx | --oltp-quto-inc | --mysql-ssl) + COMPREPLY=($(compgen -W 'on off' -- "$cur")) + return + ;; + --oltp-nontrx-mode) + COMPREPLY=($(compgen -W 'select update_key update_nokey insert + delete' -- "$cur")) + return + ;; + --oltp-dist-type) + COMPREPLY=($(compgen -W 'uniform gaussian special' -- "$cur")) + return + ;; + --db-driver) + COMPREPLY=($(compgen -W "$($1 --test=oltp help 2>/dev/null | + command sed -e '/^.*database drivers:/,/^$/!d' \ + -ne 's/^ *\([^ ]*\) .*/\1/p')" -- "$cur")) + return + ;; + --db-ps-mode) + COMPREPLY=($(compgen -W 'auto disable' -- "$cur")) + return + ;; + --mysql-socket) + _filedir sock + return + ;; + --mysql-table-engine) + COMPREPLY=($(compgen -W 'myisam innodb bdb heap ndbcluster + federated' -- "$cur")) + return + ;; + --mysql-engine-trx) + COMPREPLY=($(compgen -W 'yes no auto' -- "$cur")) + return + ;; + --*) + $split && return + ;; + esac + + # find out which test we're running + local i test + for ((i = 1; i < ${#words[@]} - 1; i++)); do + # TODO --test= is deprecated, bare test name preferred + if [[ ${words[i]} == --test* ]]; then + test=${words[i]#*=} + break + fi + done + + local opts=$(_parse_help "$1") + if [[ -v test ]]; then + local help=($(_parse_help "$1" "--test=$test help")) + opts="${opts/--test=/} ${help[*]} prepare run cleanup help version" + fi + + if [[ $cur == -* || ! -v test ]]; then + COMPREPLY=($(compgen -W "$opts" -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + else + COMPREPLY=($(compgen -W "prepare run cleanup help version" -- "$cur")) + fi +} && + complete -F _sysbench sysbench + +# ex: filetype=sh |