Refactored test setup code
Removed the copy/paste code, moved it into a reusable function that can be called from the `local_setup` function as needed. Also simplified the handling of the $HOME variable since @rico-chet provided a better way of doing this.
This commit is contained in:
@@ -14,31 +14,7 @@ case $OSTYPE in
|
||||
esac
|
||||
|
||||
function local_setup {
|
||||
mkdir -p "$BASH_IT"
|
||||
lib_directory="$(cd "$(dirname "$0")" && pwd)"
|
||||
# Use rsync to copy Bash-it to the temp folder
|
||||
# rsync is faster than cp, since we can exclude the large ".git" folder
|
||||
rsync -qavrKL -d --delete-excluded --exclude=.git --exclude=enabled $lib_directory/../../../.. "$BASH_IT"
|
||||
|
||||
rm -rf "$BASH_IT"/enabled
|
||||
rm -rf "$BASH_IT"/aliases/enabled
|
||||
rm -rf "$BASH_IT"/completion/enabled
|
||||
rm -rf "$BASH_IT"/plugins/enabled
|
||||
|
||||
# Don't pollute the user's actual $HOME directory
|
||||
# Use a test home directory instead
|
||||
export BASH_IT_TEST_CURRENT_HOME="${HOME}"
|
||||
export BASH_IT_TEST_HOME="$(cd "${BASH_IT}/.." && pwd)/BASH_IT_TEST_HOME"
|
||||
mkdir -p "${BASH_IT_TEST_HOME}"
|
||||
export HOME="${BASH_IT_TEST_HOME}"
|
||||
}
|
||||
|
||||
function local_teardown {
|
||||
export HOME="${BASH_IT_TEST_CURRENT_HOME}"
|
||||
|
||||
rm -rf "${BASH_IT_TEST_HOME}"
|
||||
|
||||
assert_equal "${BASH_IT_TEST_CURRENT_HOME}" "${HOME}"
|
||||
setup_test_fixture
|
||||
}
|
||||
|
||||
@test "install: verify that the install script exists" {
|
||||
|
||||
@@ -14,31 +14,7 @@ case $OSTYPE in
|
||||
esac
|
||||
|
||||
function local_setup {
|
||||
mkdir -p "$BASH_IT"
|
||||
lib_directory="$(cd "$(dirname "$0")" && pwd)"
|
||||
# Use rsync to copy Bash-it to the temp folder
|
||||
# rsync is faster than cp, since we can exclude the large ".git" folder
|
||||
rsync -qavrKL -d --delete-excluded --exclude=.git --exclude=enabled $lib_directory/../../../.. "$BASH_IT"
|
||||
|
||||
rm -rf "$BASH_IT"/enabled
|
||||
rm -rf "$BASH_IT"/aliases/enabled
|
||||
rm -rf "$BASH_IT"/completion/enabled
|
||||
rm -rf "$BASH_IT"/plugins/enabled
|
||||
|
||||
# Don't pollute the user's actual $HOME directory
|
||||
# Use a test home directory instead
|
||||
export BASH_IT_TEST_CURRENT_HOME="${HOME}"
|
||||
export BASH_IT_TEST_HOME="$(cd "${BASH_IT}/.." && pwd)/BASH_IT_TEST_HOME"
|
||||
mkdir -p "${BASH_IT_TEST_HOME}"
|
||||
export HOME="${BASH_IT_TEST_HOME}"
|
||||
}
|
||||
|
||||
function local_teardown {
|
||||
export HOME="${BASH_IT_TEST_CURRENT_HOME}"
|
||||
|
||||
rm -rf "${BASH_IT_TEST_HOME}"
|
||||
|
||||
assert_equal "${BASH_IT_TEST_CURRENT_HOME}" "${HOME}"
|
||||
setup_test_fixture
|
||||
}
|
||||
|
||||
@test "uninstall: verify that the uninstall script exists" {
|
||||
|
||||
Reference in New Issue
Block a user