#!/usr/bin/env bats load test_helper setup() { mkdir -p "$HOME" git config --global user.name "Tester" git config --global user.email "tester@test.local" mkdir -p "${PYENV_TEST_DIR}/bin" cat > "${PYENV_TEST_DIR}/bin/git" <&2 exit 1 else exec $(which git) "\$@" fi CMD chmod +x "${PYENV_TEST_DIR}/bin/git" } git_commit() { git commit --quiet --allow-empty -m "empty" } @test "default version" { assert [ ! -e "$PYENV_ROOT" ] run pyenv---version assert_success [[ $output == "pyenv 20"* ]] } @test "doesn't read version from non-pyenv repo" { mkdir -p "$PYENV_ROOT" cd "$PYENV_ROOT" git init git remote add origin https://github.com/homebrew/homebrew.git git_commit git tag v1.0 cd "$PYENV_TEST_DIR" run pyenv---version assert_success [[ $output == "pyenv 20"* ]] } @test "reads version from git repo" { mkdir -p "$PYENV_ROOT" cd "$PYENV_ROOT" git init git remote add origin https://github.com/yyuu/pyenv.git git_commit git tag v20380119 git_commit git_commit cd "$PYENV_TEST_DIR" run pyenv---version assert_success [[ $output == "pyenv 20380119-2-g"* ]] } @test "prints default version if no tags in git repo" { mkdir -p "$PYENV_ROOT" cd "$PYENV_ROOT" git init git remote add origin https://github.com/yyuu/pyenv.git git_commit cd "$PYENV_TEST_DIR" run pyenv---version [[ $output == "pyenv 20"* ]] }