Show More
@@ -48,9 +48,10 b' from nose.core import TestProgram' | |||||
48 |
|
48 | |||
49 | # Our own imports |
|
49 | # Our own imports | |
50 | from IPython.utils.importstring import import_item |
|
50 | from IPython.utils.importstring import import_item | |
51 | from IPython.utils.path import get_ipython_module_path |
|
51 | from IPython.utils.path import get_ipython_module_path, get_ipython_package_dir | |
52 | from IPython.utils.process import find_cmd, pycmd2argv |
|
52 | from IPython.utils.process import find_cmd, pycmd2argv | |
53 | from IPython.utils.sysinfo import sys_info |
|
53 | from IPython.utils.sysinfo import sys_info | |
|
54 | from IPython.utils.warn import warn | |||
54 |
|
55 | |||
55 | from IPython.testing import globalipapp |
|
56 | from IPython.testing import globalipapp | |
56 | from IPython.testing.plugin.ipdoctest import IPythonDoctest |
|
57 | from IPython.testing.plugin.ipdoctest import IPythonDoctest | |
@@ -212,10 +213,8 b' def make_exclude():' | |||||
212 | ipjoin = lambda *paths: pjoin('IPython', *paths) |
|
213 | ipjoin = lambda *paths: pjoin('IPython', *paths) | |
213 |
|
214 | |||
214 | exclusions = [ipjoin('external'), |
|
215 | exclusions = [ipjoin('external'), | |
215 | pjoin('IPython_doctest_plugin'), |
|
|||
216 | ipjoin('quarantine'), |
|
216 | ipjoin('quarantine'), | |
217 | ipjoin('deathrow'), |
|
217 | ipjoin('deathrow'), | |
218 | ipjoin('testing', 'attic'), |
|
|||
219 | # This guy is probably attic material |
|
218 | # This guy is probably attic material | |
220 | ipjoin('testing', 'mkdoctests'), |
|
219 | ipjoin('testing', 'mkdoctests'), | |
221 | # Testing inputhook will need a lot of thought, to figure out |
|
220 | # Testing inputhook will need a lot of thought, to figure out | |
@@ -223,7 +222,6 b' def make_exclude():' | |||||
223 | # loops in the picture |
|
222 | # loops in the picture | |
224 | ipjoin('lib', 'inputhook'), |
|
223 | ipjoin('lib', 'inputhook'), | |
225 | # Config files aren't really importable stand-alone |
|
224 | # Config files aren't really importable stand-alone | |
226 | ipjoin('config', 'default'), |
|
|||
227 | ipjoin('config', 'profile'), |
|
225 | ipjoin('config', 'profile'), | |
228 | ] |
|
226 | ] | |
229 | if not have['sqlite3']: |
|
227 | if not have['sqlite3']: | |
@@ -281,6 +279,13 b' def make_exclude():' | |||||
281 | if sys.platform == 'win32': |
|
279 | if sys.platform == 'win32': | |
282 | exclusions = [s.replace('\\','\\\\') for s in exclusions] |
|
280 | exclusions = [s.replace('\\','\\\\') for s in exclusions] | |
283 |
|
281 | |||
|
282 | # check for any exclusions that don't seem to exist: | |||
|
283 | parent, _ = os.path.split(get_ipython_package_dir()) | |||
|
284 | for exclusion in exclusions: | |||
|
285 | fullpath = pjoin(parent, exclusion) | |||
|
286 | if not os.path.exists(fullpath) and not os.path.exists(fullpath + '.py'): | |||
|
287 | warn("Excluding nonexistent file: %r\n" % exclusion) | |||
|
288 | ||||
284 | return exclusions |
|
289 | return exclusions | |
285 |
|
290 | |||
286 |
|
291 |
General Comments 0
You need to be logged in to leave comments.
Login now