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.

54 line
1.4 KiB

8 年之前
8 年之前
8 年之前
8 年之前
  1. #!/usr/bin/env bats
  2. load test_helper
  3. @test "prefix" {
  4. mkdir -p "${PYENV_TEST_DIR}/myproject"
  5. cd "${PYENV_TEST_DIR}/myproject"
  6. echo "1.2.3" > .python-version
  7. mkdir -p "${PYENV_ROOT}/versions/1.2.3"
  8. run pyenv-prefix
  9. assert_success "${PYENV_ROOT}/versions/1.2.3"
  10. }
  11. @test "prefix for invalid version" {
  12. PYENV_VERSION="1.2.3" run pyenv-prefix
  13. assert_failure "pyenv: version \`1.2.3' not installed"
  14. }
  15. @test "prefix for system" {
  16. mkdir -p "${PYENV_TEST_DIR}/bin"
  17. touch "${PYENV_TEST_DIR}/bin/python"
  18. chmod +x "${PYENV_TEST_DIR}/bin/python"
  19. PYENV_VERSION="system" run pyenv-prefix
  20. assert_success "$PYENV_TEST_DIR"
  21. }
  22. @test "prefix for system in /" {
  23. mkdir -p "${BATS_TEST_DIRNAME}/libexec"
  24. cat >"${BATS_TEST_DIRNAME}/libexec/pyenv-which" <<OUT
  25. #!/bin/sh
  26. echo /bin/python
  27. OUT
  28. chmod +x "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
  29. PYENV_VERSION="system" run pyenv-prefix
  30. assert_success "/"
  31. rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
  32. }
  33. @test "prefix for system in /" {
  34. mkdir -p "${BATS_TEST_DIRNAME}/libexec"
  35. cat >"${BATS_TEST_DIRNAME}/libexec/pyenv-which" <<OUT
  36. #!/bin/sh
  37. echo /bin/python
  38. OUT
  39. chmod +x "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
  40. PYENV_VERSION="system" run pyenv-prefix
  41. assert_success "/"
  42. rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
  43. }
  44. @test "prefix for invalid system" {
  45. PATH="$(path_without python)" run pyenv-prefix system
  46. assert_failure "pyenv: system version not found in PATH"
  47. }