##// END OF EJS Templates
Robustness fixes in test suite machinery....
Robustness fixes in test suite machinery. Added a module-level INSTALLED flag, which can be set to false if the test suite is being run in-place (without ipython having been installed at all). This is because how we call and import things must be done differently depending on whether the code is installed or is being run in-place. The only ones that can know this reliably are the entry-point scripts, so those are responsible for setting this flag. Also made the code that validates ipython in subprocesses report errors better, by checking stderr for errors before validating stdout output, as anything on stderr will be likely informative of the real problem.

File last commit:

r2494:c8938204
r2494:c8938204
Show More
iptest.py
26 lines | 876 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""Test script for IPython.
The actual ipython test script to be installed with 'python setup.py install'
is in './scripts' directory, and will test IPython from an importable
location.
This file is here (ipython source root directory) to facilitate non-root
'zero-installation testing and development' (just copy the source tree
somewhere and run iptest.py).
You can run this script directly, type -h to see all options."""
# Ensure that the imported IPython packages come from *THIS* IPython, not some
# other one that may exist system-wide
import os, sys
this_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, this_dir)
import IPython.testing.tools as t
import IPython.testing.iptest as ipt
t.INSTALLED = False
ipt.INSTALLED = False
# Now proceed with execution
execfile(os.path.join(this_dir, 'IPython', 'scripts', 'iptest'))