Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
Anup Das cf6f3c3200
fix(rehash): prevent terminal hang caused by stale or sandbox-blocked lock file (#3469)
pirms 1 mēnesi
..
libexec Revert "Merge pull request #1153 from cmcginty/remove-sbang" pirms 7 gadiem
--version.bats pyenv launcher: introduce and export _PYENV_INSTALL_PREFIX (#3334) pirms 6 mēnešiem
Dockerfile add bats test under docker pirms 9 mēnešiem
README.md add test README pirms 9 mēnešiem
commands.bats Import tests from rbenv with `sed -e s/rbenv/pyenv/g` pirms 12 gadiem
completions.bats Merge remote-tracking branch 'rbenv/master' into rbenv-20151121 pirms 10 gadiem
exec.bats Prevent infinite loop if a shim is linked and called from a nonstandard location with "system" active pirms 6 mēnešiem
global.bats Merge remote-tracking branch 'rbenv/master' into rbenv-1.0 pirms 10 gadiem
help.bats Import tests from rbenv with `sed -e s/rbenv/pyenv/g` pirms 12 gadiem
hooks.bats Merge remote-tracking branch 'rbenv/master' into rbenv-1.0 pirms 10 gadiem
init.bats init: add --install for shell setup (#3454) pirms 1 mēnesi
latest.bats tests: refactor: migrate to newly-added create_stub() pirms 6 mēnešiem
local.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
pip-rehash.bats tests: refactor: rename and consolidate create_executable() functions pirms 6 mēnešiem
prefix.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
pyenv.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
pyenv_ext.bats Revert "add tests for `PYENV_FILE_ARG`" pirms 5 gadiem
rehash.bats fix(rehash): prevent terminal hang caused by stale or sandbox-blocked lock file (#3469) pirms 1 mēnesi
run add possibility to filter tests with make pirms 9 mēnešiem
shell.bats Add PowerShell support (#2749) pirms 6 mēnešiem
shims-linked-from-elsewhere.bats Prevent infinite loop if a shim is linked and called from a nonstandard location with "system" active pirms 6 mēnešiem
shims.bats Import tests from rbenv with `sed -e s/rbenv/pyenv/g` pirms 12 gadiem
test_helper.bash rehash: streamline executables discovery; fix regression (#3418) pirms 4 mēnešiem
version-file-read.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
version-file-write.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
version-file.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
version-name.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
version-origin.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
version.bats use BATS_FILE_TMPDIR in test/plugin test pirms 9 mēnešiem
versions.bats rehash: streamline executables discovery; fix regression (#3418) pirms 4 mēnešiem
whence.bats tests: refactor: rename and consolidate create_executable() functions pirms 6 mēnešiem
which.bats which: update `pyenv help global` tip (#3424) pirms 3 mēnešiem

README.md

TEST


Running test suite

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.

Targets

  • test
    • Run the whole test suite on the local host
  • test-docker
    • Run the whole test suite on docker
      • Some volumes are used in read-only mode
  • test-unit
    • Run the unit test
  • test-plugin
    • Run the plugin test
  • test-unit-docker-[BASH_VERSION]
    • Run the unit test under official bash docker container (alpine/busybox) with the specified bash version if present is in the Makefile
    • Some volumes are used in read-only mode
  • test-unit-docker-gnu-[BASH_VERSION]
    • Run the unit test under official bash docker container (alpine/busybox), completed by GNU Tools, with the specified bash version if present is in the Makefile
    • Some volumes are used in read-only mode
  • test-plugin-docker-[BASH_VERSION]
    • Run the plugin test under official bash docker container (alpine/busybox), completed by GNU Tools, with the specified bash version if present is in the Makefile
    • Some volumes are used in read-only mode
  • test-plugin-docker-gnu-[BASH_VERSION]
    • Run the plugin test under official bash docker container (alpine/busybox), completed by GNU Tools, with the specified bash version if present is in the Makefile
    • Some volumes are used in read-only mode

Targeting specific test / test file

By setting some environment variables, it is possible to filtering which test and/or test file who will be tested with bats

  • BATS_FILE_FILTER

    • Run test only with the specified file
  • BATS_TEST_FILTER

    • Run test only who corresponding to the filter provided

Examples

    $ 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

Writing test

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.