25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

70 satır
1.8 KiB

  1. #!/usr/bin/env bats
  2. load test_helper
  3. @test "prints usage help given no argument" {
  4. run pyenv-hooks
  5. assert_failure "Usage: pyenv hooks <command>"
  6. }
  7. @test "prints list of hooks" {
  8. path1="${PYENV_TEST_DIR}/pyenv.d"
  9. path2="${PYENV_TEST_DIR}/etc/pyenv_hooks"
  10. PYENV_HOOK_PATH="$path1"
  11. create_hook exec "hello.bash"
  12. create_hook exec "ahoy.bash"
  13. create_hook exec "invalid.sh"
  14. create_hook which "boom.bash"
  15. PYENV_HOOK_PATH="$path2"
  16. create_hook exec "bueno.bash"
  17. PYENV_HOOK_PATH="$path1:$path2" run pyenv-hooks exec
  18. assert_success
  19. assert_output <<OUT
  20. ${PYENV_TEST_DIR}/pyenv.d/exec/ahoy.bash
  21. ${PYENV_TEST_DIR}/pyenv.d/exec/hello.bash
  22. ${PYENV_TEST_DIR}/etc/pyenv_hooks/exec/bueno.bash
  23. OUT
  24. }
  25. @test "supports hook paths with spaces" {
  26. path1="${PYENV_TEST_DIR}/my hooks/pyenv.d"
  27. path2="${PYENV_TEST_DIR}/etc/pyenv hooks"
  28. PYENV_HOOK_PATH="$path1"
  29. create_hook exec "hello.bash"
  30. PYENV_HOOK_PATH="$path2"
  31. create_hook exec "ahoy.bash"
  32. PYENV_HOOK_PATH="$path1:$path2" run pyenv-hooks exec
  33. assert_success
  34. assert_output <<OUT
  35. ${PYENV_TEST_DIR}/my hooks/pyenv.d/exec/hello.bash
  36. ${PYENV_TEST_DIR}/etc/pyenv hooks/exec/ahoy.bash
  37. OUT
  38. }
  39. @test "resolves relative paths" {
  40. PYENV_HOOK_PATH="${PYENV_TEST_DIR}/pyenv.d"
  41. create_hook exec "hello.bash"
  42. mkdir -p "$HOME"
  43. PYENV_HOOK_PATH="${HOME}/../pyenv.d" run pyenv-hooks exec
  44. assert_success "${PYENV_TEST_DIR}/pyenv.d/exec/hello.bash"
  45. }
  46. @test "resolves symlinks" {
  47. path="${PYENV_TEST_DIR}/pyenv.d"
  48. mkdir -p "${path}/exec"
  49. mkdir -p "$HOME"
  50. touch "${HOME}/hola.bash"
  51. ln -s "../../home/hola.bash" "${path}/exec/hello.bash"
  52. touch "${path}/exec/bright.sh"
  53. ln -s "bright.sh" "${path}/exec/world.bash"
  54. PYENV_HOOK_PATH="$path" run pyenv-hooks exec
  55. assert_success
  56. assert_output <<OUT
  57. ${HOME}/hola.bash
  58. ${PYENV_TEST_DIR}/pyenv.d/exec/bright.sh
  59. OUT
  60. }