File: version.bats

package info (click to toggle)
pyenv 2.6.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,496 kB
  • sloc: sh: 4,914; python: 410; makefile: 161; ansic: 60
file content (81 lines) | stat: -rw-r--r-- 1,975 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env bats

load test_helper

create_version() {
  mkdir -p "${PYENV_ROOT}/versions/$1"
}

_setup() {
  mkdir -p "${PYENV_ROOT}"
  cd "$PYENV_TEST_DIR"
}

@test "no version selected" {
  assert [ ! -d "${PYENV_ROOT}/versions" ]
  run pyenv-version
  assert_success "system (set by ${PYENV_ROOT}/version)"
}

@test "set by PYENV_VERSION" {
  create_version "3.3.3"
  PYENV_VERSION=3.3.3 run pyenv-version
  assert_success "3.3.3 (set by PYENV_VERSION environment variable)"
}

@test "set by local file" {
  create_version "3.3.3"
  cat > ".python-version" <<<"3.3.3"
  run pyenv-version
  assert_success "3.3.3 (set by ${PWD}/.python-version)"
}

@test "set by global file" {
  create_version "3.3.3"
  cat > "${PYENV_ROOT}/version" <<<"3.3.3"
  run pyenv-version
  assert_success "3.3.3 (set by ${PYENV_ROOT}/version)"
}

@test "set by PYENV_VERSION, one missing" {
  create_version "3.3.3"
  PYENV_VERSION=3.3.3:1.2 run pyenv-version
  assert_failure
  assert_output <<OUT
pyenv: version \`1.2' is not installed (set by PYENV_VERSION environment variable)
3.3.3 (set by PYENV_VERSION environment variable)
OUT
}

@test "set by PYENV_VERSION, two missing" {
  create_version "3.3.3"
  PYENV_VERSION=3.4.2:3.3.3:1.2 run pyenv-version
  assert_failure
  assert_output <<OUT
pyenv: version \`3.4.2' is not installed (set by PYENV_VERSION environment variable)
pyenv: version \`1.2' is not installed (set by PYENV_VERSION environment variable)
3.3.3 (set by PYENV_VERSION environment variable)
OUT
}

pyenv-version-without-stderr() {
  pyenv-version 2>/dev/null
}

@test "set by PYENV_VERSION, one missing (stderr filtered)" {
  create_version "3.3.3"
  PYENV_VERSION=3.4.2:3.3.3 run pyenv-version-without-stderr
  assert_failure
  assert_output <<OUT
3.3.3 (set by PYENV_VERSION environment variable)
OUT
}

@test "--bare prints just the name" {
  create_version "3.3.3"
  PYENV_VERSION=3.3.3 run pyenv-version --bare
  assert_success
  assert_output <<OUT
3.3.3
OUT
}