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 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
# -*- mode: shell-script -*-
test_dir=$(dirname $0)
source "$test_dir/setup.sh"
oneTimeSetUp() {
rm -rf "$WORKON_HOME"
mkdir -p "$WORKON_HOME"
rm -rf "$PROJECT_HOME"
mkdir -p "$PROJECT_HOME"
source "$test_dir/../virtualenvwrapper.sh"
}
oneTimeTearDown() {
rm -rf "$WORKON_HOME"
rm -rf "$PROJECT_HOME"
}
setUp () {
echo
}
test_setvirtualenvproject() {
n=1
project="$WORKON_HOME/project$n"
mkdir "$project"
env="env$n"
ptrfile="$WORKON_HOME/$env/.project"
mkvirtualenv "$env" >/dev/null 2>&1
setvirtualenvproject "$env" "$project" >/dev/null 2>&1
assertTrue ".project not found" "[ -f $ptrfile ]"
assertEquals "$ptrfile contains wrong content" "$project" "$(cat $ptrfile)"
}
test_setvirtualenvproject_relative_path() {
cd "$WORKON_HOME"
n=2
project="project$n"
mkdir "$project"
env="env$n"
ptrfile="$WORKON_HOME/$env/.project"
mkvirtualenv "$env" >/dev/null 2>&1
setvirtualenvproject "$env" "$project" >/dev/null 2>&1
assertTrue ".project not found" "[ -f $ptrfile ]"
assertEquals \
"$ptrfile contains wrong content" \
"$WORKON_HOME/$project" \
"$(cat $ptrfile | sed 's|^/private||')"
}
test_setvirtualenvproject_not_a_directory() {
cd "$WORKON_HOME"
n=3
project="project$n"
touch "$project"
env="env$n"
ptrfile="$WORKON_HOME/$env/.project"
mkvirtualenv "$env" >/dev/null 2>&1
setvirtualenvproject "$env" "$project" >/dev/null 2>&1
RC=$?
assertTrue "setvirtualenvproject should have failed" "[ $RC -ne 0 ]"
}
test_setvirtualenvproject_does_not_exist() {
n=4
project="project$n"
env="env$n"
ptrfile="$WORKON_HOME/$env/.project"
mkvirtualenv "$env" >/dev/null 2>&1
setvirtualenvproject "$env" "$project" >/dev/null 2>&1
RC=$?
assertTrue "setvirtualenvproject should have failed" "[ $RC -ne 0 ]"
}
test_setvirtualenvproject_relative_with_dots() {
cd "$WORKON_HOME"
n=5
project="project$n"
mkdir $project
mkdir $project.sibling
cd $project.sibling
# Change the reference to a sibling directory
project="../$project"
env="env$n"
ptrfile="$WORKON_HOME/$env/.project"
mkvirtualenv "$env" >/dev/null 2>&1
setvirtualenvproject "$env" "$project" >/dev/null 2>&1
assertTrue ".project not found" "[ -f $ptrfile ]"
assertEquals \
"$ptrfile contains wrong content" \
"$WORKON_HOME/project$n" \
"$(cat $ptrfile | sed 's|^/private||')"
}
. "$test_dir/shunit2"
|