##// 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:

r2292:146be237
r2494:c8938204
Show More
ipapi.py
38 lines | 1.4 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# encoding: utf-8
"""
This module is *completely* deprecated and should no longer be used for
any purpose. Currently, we have a few parts of the core that have
not been componentized and thus, still rely on this module. When everything
has been made into a component, this module will be sent to deathrow.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from IPython.core.error import TryNext, UsageError, IPythonCoreError
#-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
def get():
"""Get the most recently created InteractiveShell instance."""
from IPython.core.iplib import InteractiveShell
insts = InteractiveShell.get_instances()
if len(insts)==0:
return None
most_recent = insts[0]
for inst in insts[1:]:
if inst.created > most_recent.created:
most_recent = inst
return most_recent