You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 regels
1.2 KiB

  1. #!/usr/bin/env bats
  2. load test_helper
  3. setup() {
  4. export PYENV_ROOT="${TMP}/pyenv"
  5. export HOOK_PATH="${TMP}/i has hooks"
  6. mkdir -p "$HOOK_PATH"
  7. }
  8. @test "pyenv-install hooks" {
  9. cat > "${HOOK_PATH}/install.bash" <<OUT
  10. before_install 'echo before: \$PREFIX'
  11. after_install 'echo after: \$STATUS'
  12. OUT
  13. stub pyenv-hooks "install : echo '$HOOK_PATH'/install.bash"
  14. stub pyenv-rehash "echo rehashed"
  15. definition="${TMP}/3.2.1"
  16. cat > "$definition" <<<"echo python-build"
  17. run pyenv-install "$definition"
  18. assert_success
  19. assert_output <<-OUT
  20. before: ${PYENV_ROOT}/versions/3.2.1
  21. python-build
  22. after: 0
  23. rehashed
  24. OUT
  25. }
  26. @test "pyenv-uninstall hooks" {
  27. cat > "${HOOK_PATH}/uninstall.bash" <<OUT
  28. before_uninstall 'echo before: \$PREFIX'
  29. after_uninstall 'echo after.'
  30. rm() {
  31. echo "rm \$@"
  32. command rm "\$@"
  33. }
  34. OUT
  35. stub pyenv-hooks "uninstall : echo '$HOOK_PATH'/uninstall.bash"
  36. stub pyenv-rehash "echo rehashed"
  37. mkdir -p "${PYENV_ROOT}/versions/3.2.1"
  38. run pyenv-uninstall -f 3.2.1
  39. assert_success
  40. assert_output <<-OUT
  41. before: ${PYENV_ROOT}/versions/3.2.1
  42. rm -rf ${PYENV_ROOT}/versions/3.2.1
  43. rehashed
  44. after.
  45. OUT
  46. assert [ ! -d "${PYENV_ROOT}/versions/3.2.1" ]
  47. }