@@ -19,20 +19,57 @@ setUp () {
19
19
echo " #!/bin/sh" > " $WORKON_HOME /preactivate"
20
20
echo " #!/bin/sh" > " $WORKON_HOME /postactivate"
21
21
rm -f " $TMPDIR /catch_output"
22
+ cd " $WORKON_HOME "
22
23
}
23
24
24
25
test_associate () {
25
- project=" /dev/null"
26
- env=" env1"
26
+ n=1
27
+ project=" $WORKON_HOME /project$n "
28
+ mkdir " $project "
29
+ env=" env$n "
27
30
ptrfile=" $WORKON_HOME /$env /.project"
28
31
mkvirtualenv -a " $project " " $env " > /dev/null 2>&1
29
32
assertTrue " .project not found" " [ -f $ptrfile ]"
30
33
assertEquals " $ptrfile contains wrong content" " $project " " $( cat $ptrfile ) "
31
34
}
32
35
36
+ test_associate_relative_path () {
37
+ n=2
38
+ project=" project$n "
39
+ mkdir " $project "
40
+ env=" env$n "
41
+ ptrfile=" $WORKON_HOME /$env /.project"
42
+ mkvirtualenv -a " $project " " $env " > /dev/null 2>&1
43
+ assertTrue " .project not found" " [ -f $ptrfile ]"
44
+ assertEquals " $ptrfile contains wrong content" " $WORKON_HOME /$project " " $( cat $ptrfile ) "
45
+ }
46
+
47
+ test_associate_not_a_directory () {
48
+ n=3
49
+ project=" project$n "
50
+ touch " $project "
51
+ env=" env$n "
52
+ ptrfile=" $WORKON_HOME /$env /.project"
53
+ mkvirtualenv -a " $project " " $env " > /dev/null 2>&1
54
+ RC=$?
55
+ assertTrue " mkvirtualenv should have failed" " [ $RC -ne 0 ]"
56
+ }
57
+
58
+ test_associate_does_not_exist () {
59
+ n=4
60
+ project=" project$n "
61
+ env=" env$n "
62
+ ptrfile=" $WORKON_HOME /$env /.project"
63
+ mkvirtualenv -a " $project " " $env " > /dev/null 2>&1
64
+ RC=$?
65
+ assertTrue " mkvirtualenv should have failed" " [ $RC -ne 0 ]"
66
+ }
67
+
33
68
test_preactivate () {
34
- project=" /dev/null"
35
- env=" env2"
69
+ n=5
70
+ project=" project$n "
71
+ mkdir " $project "
72
+ env=" env$n "
36
73
ptrfile=" $WORKON_HOME /$env /.project"
37
74
cat - > " $WORKON_HOME /preactivate" << EOF
38
75
#!/bin/sh
49
86
}
50
87
51
88
test_postactivate () {
52
- project=" /dev/null"
53
- env=" env3"
89
+ n=6
90
+ project=" project$n "
91
+ mkdir " $project "
92
+ env=" env$n "
54
93
ptrfile=" $WORKON_HOME /$env /.project"
55
94
cat - > " $WORKON_HOME /postactivate" << EOF
56
95
#!/bin/sh
66
105
assertSame " postactivate did not find file" " exists" " $( cat $TMPDIR /catch_output) "
67
106
}
68
107
108
+ test_associate_relative_with_dots () {
109
+ cd " $WORKON_HOME "
110
+ n=7
111
+ project=" project$n "
112
+ mkdir $project
113
+ mkdir $project .sibling
114
+ cd $project .sibling
115
+ # Change the reference to a sibling directory
116
+ project=" ../$project "
117
+ env=" env$n "
118
+ ptrfile=" $WORKON_HOME /$env /.project"
119
+ mkvirtualenv -a " $project " " $env " > /dev/null 2>&1
120
+ assertTrue " .project not found" " [ -f $ptrfile ]"
121
+ assertEquals " $ptrfile contains wrong content" " $WORKON_HOME /project$n " " $( cat $ptrfile ) "
122
+ }
123
+
69
124
. " $test_dir /shunit2"
0 commit comments