##// END OF EJS Templates
defer to stdlib for path.get_home_dir()...
defer to stdlib for path.get_home_dir() We have elaborate and fragile logic for determining home dir, and it is ultimately less reliable than the stdlib behavior used for `os.path.expanduser('~')`. This commit defers to that in all cases other than a bundled Python in py2exe/py2app environments. The one case where the default guess will *not* be correct, based on inline comments, is on WinHPC, where all paths must be UNC (`\\foo`), and thus HOMESHARE is the logical first choice. However, HOMESHARE is the wrong answer in approximately all other cases where it is defined, and the fix for WinHPC users is the trivial `HOME=%HOMESHARE%`. This removes the various tests of our Windows path resolution logic, which are no longer relevant. Further, $HOME is used by the stdlib as first priority on *all* platforms, so tests for this behavior are no longer posix-specific. closes gh-970 closes gh-747

File last commit:

r4892:0707dc54
r5383:b5ca6465
Show More
test_ipdoctest.py
80 lines | 1.7 KiB | text/x-python | PythonLexer
"""Tests for the ipdoctest machinery itself.
Note: in a file named test_X, functions whose only test is their docstring (as
a doctest) and which have no test functionality of their own, should be called
'doctest_foo' instead of 'test_foo', otherwise they get double-counted (the
empty function call is counted as a test, which just inflates tests numbers
artificially).
"""
from IPython.utils.py3compat import doctest_refactor_print
@doctest_refactor_print
def doctest_simple():
"""ipdoctest must handle simple inputs
In [1]: 1
Out[1]: 1
In [2]: print 1
1
"""
@doctest_refactor_print
def doctest_multiline1():
"""The ipdoctest machinery must handle multiline examples gracefully.
In [2]: for i in range(4):
...: print i
...:
0
1
2
3
"""
@doctest_refactor_print
def doctest_multiline2():
"""Multiline examples that define functions and print output.
In [7]: def f(x):
...: return x+1
...:
In [8]: f(1)
Out[8]: 2
In [9]: def g(x):
...: print 'x is:',x
...:
In [10]: g(1)
x is: 1
In [11]: g('hello')
x is: hello
"""
def doctest_multiline3():
"""Multiline examples with blank lines.
In [12]: def h(x):
....: if x>1:
....: return x**2
....: # To leave a blank line in the input, you must mark it
....: # with a comment character:
....: #
....: # otherwise the doctest parser gets confused.
....: else:
....: return -1
....:
In [13]: h(5)
Out[13]: 25
In [14]: h(1)
Out[14]: -1
In [15]: h(0)
Out[15]: -1
"""