summaryrefslogtreecommitdiffstats
path: root/completions/sysbench
diff options
context:
space:
mode:
Diffstat (limited to 'completions/sysbench')
-rw-r--r--completions/sysbench132
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