kunit-completion.sh 874 B

12345678910111213141516171819202122232425262728293031323334
  1. # SPDX-License-Identifier: GPL-2.0
  2. # bash completion support for KUnit
  3. _kunit_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
  4. _kunit()
  5. {
  6. local cur prev words cword
  7. _init_completion || return
  8. local script="${_kunit_dir}/kunit.py"
  9. if [[ $cword -eq 1 && "$cur" != -* ]]; then
  10. local cmds=$(${script} --list-cmds 2>/dev/null)
  11. COMPREPLY=($(compgen -W "${cmds}" -- "$cur"))
  12. return 0
  13. fi
  14. if [[ "$cur" == -* ]]; then
  15. if [[ -n "${words[1]}" && "${words[1]}" != -* ]]; then
  16. local opts=$(${script} ${words[1]} --list-opts 2>/dev/null)
  17. COMPREPLY=($(compgen -W "${opts}" -- "$cur"))
  18. return 0
  19. else
  20. local opts=$(${script} --list-opts 2>/dev/null)
  21. COMPREPLY=($(compgen -W "${opts}" -- "$cur"))
  22. return 0
  23. fi
  24. fi
  25. }
  26. complete -o default -F _kunit kunit.py
  27. complete -o default -F _kunit kunit
  28. complete -o default -F _kunit ./tools/testing/kunit/kunit.py