##// END OF EJS Templates
Removing simple test cases for get_home_dir and get_ipython_dir
Jorgen Stenarson -
Show More
@@ -1,245 +1,231 b''
1 1 # encoding: utf-8
2 2
3 3 """Tests for genutils.py"""
4 4
5 5 __docformat__ = "restructuredtext en"
6 6
7 7 #-----------------------------------------------------------------------------
8 8 # Copyright (C) 2008 The IPython Development Team
9 9 #
10 10 # Distributed under the terms of the BSD License. The full license is in
11 11 # the file COPYING, distributed as part of this software.
12 12 #-----------------------------------------------------------------------------
13 13
14 14 #-----------------------------------------------------------------------------
15 15 # Imports
16 16 #-----------------------------------------------------------------------------
17 17
18 18 from IPython import genutils
19 19 from IPython.testing.decorators import skipif
20 20 from nose import with_setup
21 21 from nose.tools import raises
22 22
23 23 import os, sys, IPython
24 24 env = os.environ
25 25
26 26 from os.path import join, abspath, split
27 27
28 28 try:
29 29 import _winreg as wreg
30 30 except ImportError:
31 31 #Fake _winreg module on none windows platforms
32 32 import new
33 33 sys.modules["_winreg"] = new.module("_winreg")
34 34 import _winreg as wreg
35 35 #Add entries that needs to be stubbed by the testing code
36 36 (wreg.OpenKey, wreg.QueryValueEx,) = (None, None)
37 37
38 38 test_file_path = split(abspath(__file__))[0]
39 39
40 40 #skip_if_not_win32 = skipif(sys.platform!='win32',"This test only runs under Windows")
41 41
42 42 def setup_environment():
43 43 global oldstuff, platformstuff
44 44 oldstuff = (env.copy(), os.name, genutils.get_home_dir, IPython.__file__,)
45 45
46 46 if os.name == 'nt':
47 47 platformstuff = (wreg.OpenKey, wreg.QueryValueEx,)
48 48
49 49 if 'IPYTHONDIR' in env:
50 50 del env['IPYTHONDIR']
51 51
52 52 def teardown_environment():
53 53 (oldenv, os.name, genutils.get_home_dir, IPython.__file__,) = oldstuff
54 54 for key in env.keys():
55 55 if key not in oldenv:
56 56 del env[key]
57 57 env.update(oldenv)
58 58 if hasattr(sys, 'frozen'):
59 59 del sys.frozen
60 60 if os.name == 'nt':
61 61 (wreg.OpenKey, wreg.QueryValueEx,) = platformstuff
62 62
63 63 with_enivronment = with_setup(setup_environment, teardown_environment)
64 64
65
66
67
68 65 @with_enivronment
69 66 def test_get_home_dir_1():
70 """Testcase to see if we can call get_home_dir without Exceptions."""
71 home_dir = genutils.get_home_dir()
72
73 @with_enivronment
74 def test_get_home_dir_2():
75 67 """Testcase for py2exe logic, un-compressed lib
76 68 """
77 69 sys.frozen = True
78 70
79 71 #fake filename for IPython.__init__
80 72 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Lib/IPython/__init__.py"))
81 73
82 74 home_dir = genutils.get_home_dir()
83 75 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
84 76
85 77 @with_enivronment
86 def test_get_home_dir_3():
78 def test_get_home_dir_2():
87 79 """Testcase for py2exe logic, compressed lib
88 80 """
89 81 sys.frozen=True
90 82 #fake filename for IPython.__init__
91 83 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Library.zip/IPython/__init__.py"))
92 84
93 85 home_dir = genutils.get_home_dir()
94 86 assert home_dir == abspath(join(test_file_path, "home_test_dir")).lower()
95 87
96 88 @with_enivronment
97 def test_get_home_dir_4():
89 def test_get_home_dir_3():
98 90 """Testcase $HOME is set, then use its value as home directory."""
99 91 env["HOME"] = join(test_file_path,"home_test_dir")
100 92 home_dir = genutils.get_home_dir()
101 93 assert home_dir == env["HOME"]
102 94
103 95 @with_enivronment
104 def test_get_home_dir_5():
96 def test_get_home_dir_4():
105 97 """Testcase $HOME is not set, os=='posix'.
106 98 This should fail with HomeDirError"""
107 99
108 100 os.name = 'posix'
109 101 del os.environ["HOME"]
110 102 try:
111 103 genutils.get_home_dir()
112 104 assert False
113 105 except genutils.HomeDirError:
114 106 pass
115 107
116 108 @with_enivronment
117 def test_get_home_dir_6():
109 def test_get_home_dir_5():
118 110 """Testcase $HOME is not set, os=='nt'
119 111 env['HOMEDRIVE'],env['HOMEPATH'] points to path."""
120 112
121 113 os.name = 'nt'
122 114 del os.environ["HOME"]
123 115 env['HOMEDRIVE'],env['HOMEPATH'] = os.path.abspath(test_file_path),"home_test_dir"
124 116
125 117 home_dir = genutils.get_home_dir()
126 118 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
127 119
128 120 @with_enivronment
129 def test_get_home_dir_8():
121 def test_get_home_dir_6():
130 122 """Testcase $HOME is not set, os=='nt'
131 123 env['HOMEDRIVE'],env['HOMEPATH'] do not point to path.
132 124 env['USERPROFILE'] points to path
133 125 """
134 126
135 127 os.name = 'nt'
136 128 del os.environ["HOME"]
137 129 env['HOMEDRIVE'],env['HOMEPATH'] = os.path.abspath(test_file_path),"DOES NOT EXIST"
138 130 env["USERPROFILE"] = abspath(join(test_file_path,"home_test_dir"))
139 131
140 132 home_dir = genutils.get_home_dir()
141 133 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
142 134
143 135 # Should we stub wreg fully so we can run the test on all platforms?
144 136 #@skip_if_not_win32
145 137 @with_enivronment
146 def test_get_home_dir_9():
138 def test_get_home_dir_7():
147 139 """Testcase $HOME is not set, os=='nt'
148 140 env['HOMEDRIVE'],env['HOMEPATH'], env['USERPROFILE'] missing
149 141 """
150 142 os.name = 'nt'
151 143 del env["HOME"],env['HOMEDRIVE']
152 144
153 145 #Stub windows registry functions
154 146 def OpenKey(x, y):
155 147 class key:
156 148 def Close(self):
157 149 pass
158 150 return key()
159 151 def QueryValueEx(x, y):
160 152 return [abspath(join(test_file_path, "home_test_dir"))]
161 153
162 154 wreg.OpenKey = OpenKey
163 155 wreg.QueryValueEx = QueryValueEx
164 156
165 157 home_dir = genutils.get_home_dir()
166 158 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
167 159
168 160
169 161 #
170 162 # Tests for get_ipython_dir
171 163 #
172 164
173 165 @with_enivronment
174 166 def test_get_ipython_dir_1():
175 """1 Testcase to see if we can call get_ipython_dir without Exceptions."""
176 ipdir = genutils.get_ipython_dir()
177
178
179 @with_enivronment
180 def test_get_ipython_dir_2():
181 167 """2 Testcase to see if we can call get_ipython_dir without Exceptions."""
182 168 env['IPYTHONDIR'] = "someplace/.ipython"
183 169 ipdir = genutils.get_ipython_dir()
184 170 assert ipdir == os.path.abspath("someplace/.ipython")
185 171
186 172
187 173 @with_enivronment
188 def test_get_ipython_dir_3():
174 def test_get_ipython_dir_2():
189 175 """3 Testcase to see if we can call get_ipython_dir without Exceptions."""
190 176 genutils.get_home_dir=lambda : "someplace"
191 177 os.name = "posix"
192 178 ipdir = genutils.get_ipython_dir()
193 179 assert ipdir == os.path.abspath(os.path.join("someplace", ".ipython"))
194 180
195 181 @with_enivronment
196 def test_get_ipython_dir_4():
182 def test_get_ipython_dir_3():
197 183 """4 Testcase to see if we can call get_ipython_dir without Exceptions."""
198 184 genutils.get_home_dir = lambda : "someplace"
199 185 os.name = "nt"
200 186 ipdir = genutils.get_ipython_dir()
201 187 assert ipdir == os.path.abspath(os.path.join("someplace", "_ipython"))
202 188
203 189
204 190 #
205 191 # Tests for get_security_dir
206 192 #
207 193
208 194 @with_enivronment
209 195 def test_get_security_dir():
210 196 """Testcase to see if we can call get_security_dir without Exceptions."""
211 197 sdir = genutils.get_security_dir()
212 198
213 199
214 200 #
215 201 # Tests for popkey
216 202 #
217 203
218 204 def test_popkey_1():
219 205 dct = dict(a=1, b=2, c=3)
220 206 assert genutils.popkey(dct, "a") == 1
221 207 assert dct == dict(b=2, c=3)
222 208 assert genutils.popkey(dct, "b") == 2
223 209 assert dct == dict(c=3)
224 210 assert genutils.popkey(dct, "c") == 3
225 211 assert dct == dict()
226 212
227 213 @raises(KeyError)
228 214 def test_popkey_2():
229 215 dct = dict(a=1, b=2, c=3)
230 216 genutils.popkey(dct, "d")
231 217
232 218 def test_popkey_3():
233 219 dct = dict(a=1, b=2, c=3)
234 220 assert genutils.popkey(dct, "A", 13)==13
235 221 assert dct == dict(a=1, b=2, c=3)
236 222 assert genutils.popkey(dct, "B", 14)==14
237 223 assert dct == dict(a=1, b=2, c=3)
238 224 assert genutils.popkey(dct, "C", 15)==15
239 225 assert dct == dict(a=1, b=2, c=3)
240 226 assert genutils.popkey(dct, "a")==1
241 227 assert dct == dict(b=2, c=3)
242 228 assert genutils.popkey(dct, "b")==2
243 229 assert dct == dict(c=3)
244 230 assert genutils.popkey(dct, "c")==3
245 231 assert dct == dict()
General Comments 0
You need to be logged in to leave comments. Login now