|
|
1 месяц назад | |
|---|---|---|
| .. | ||
| libexec | 7 лет назад | |
| --version.bats | 6 месяцев назад | |
| Dockerfile | 9 месяцев назад | |
| README.md | 9 месяцев назад | |
| commands.bats | 12 лет назад | |
| completions.bats | 10 лет назад | |
| exec.bats | 6 месяцев назад | |
| global.bats | 10 лет назад | |
| help.bats | 12 лет назад | |
| hooks.bats | 10 лет назад | |
| init.bats | 1 месяц назад | |
| latest.bats | 6 месяцев назад | |
| local.bats | 9 месяцев назад | |
| pip-rehash.bats | 6 месяцев назад | |
| prefix.bats | 9 месяцев назад | |
| pyenv.bats | 9 месяцев назад | |
| pyenv_ext.bats | 5 лет назад | |
| rehash.bats | 1 месяц назад | |
| run | 9 месяцев назад | |
| shell.bats | 6 месяцев назад | |
| shims-linked-from-elsewhere.bats | 6 месяцев назад | |
| shims.bats | 12 лет назад | |
| test_helper.bash | 4 месяцев назад | |
| version-file-read.bats | 9 месяцев назад | |
| version-file-write.bats | 9 месяцев назад | |
| version-file.bats | 9 месяцев назад | |
| version-name.bats | 9 месяцев назад | |
| version-origin.bats | 9 месяцев назад | |
| version.bats | 9 месяцев назад | |
| versions.bats | 4 месяцев назад | |
| whence.bats | 6 месяцев назад | |
| which.bats | 3 месяцев назад | |
Test suite could be launch with make by providing the right target depending what you want to achieve.
Under the hood, pyenv test suites use bats as a test framework and are run on the host or docker depending of the target provided to make.
test
test-docker
test-unit
test-plugin
test-unit-docker-[BASH_VERSION]
Makefiletest-unit-docker-gnu-[BASH_VERSION]
Makefiletest-plugin-docker-[BASH_VERSION]
Makefiletest-plugin-docker-gnu-[BASH_VERSION]
MakefileBy setting some environment variables, it is possible to filtering which test and/or test file who will be tested with bats
BATS_FILE_FILTER
BATS_TEST_FILTER
$ BATS_TEST_FILTER=".*installed.*" BATS_FILE_FILTER="build.bats" make test-plugin-docker-gnu-3.2.57
build.bats
✓ yaml is installed for python
✓ homebrew is used in Linux if Pyenv is installed with Homebrew
✓ homebrew is not used in Linux if Pyenv is not installed with Homebrew
3 tests, 0 failures
$ BATS_TEST_FILTER=".*installed.*" BATS_FILE_FILTER="build.bats" make test-plugin
build.bats
✓ yaml is installed for python
✓ homebrew is used in Linux if Pyenv is installed with Homebrew
✓ homebrew is not used in Linux if Pyenv is not installed with Homebrew
3 tests, 0 failures
To be reproducible, each test use/should use its own TMPDIR .
It's achieved by using the environment variable BATS_TEST_TMPDIR provided by bats that is automatically deleted at the end of each test. More info here
Another variable who could be used to source some file who need to be tested is BATS_TEST_DIRNAME who point to the directory in which the bats test file is located.