class_docstr: Test runner that synchronizes the IPython namespace with test globals.
      
code: def run(self, test, compileflags=None, out=None, clear_globs=True):
      # Hack: ipython needs access to the execution context of the example,
      # so that it can propagate user variables loaded by %run into
      # test.globs.  We put them here into our modified %run as a function
      # attribute.  Our new %run will then only make the namespace update
      # when called (rather than unconconditionally updating test.globs here
      # for all examples, most of which won't be calling %run anyway).
      # _ip._ipdoctest_test_globs = test.globs
      # _ip._ipdoctest_test_filename = test.filename
  
      test.globs.update(_ip.user_ns)
  
      # Override terminal size to standardise traceback format
      with modified_env({"COLUMNS": "80", "LINES": "24"}):
          return super(IPDocTestRunner, self).run(
              test, compileflags, out, clear_globs
          )
  
imports: import doctest
  import inspect
  import logging
  import os
  import re
  import sys
  from testpath import modified_env
  from inspect import getmodule
  from doctest import REPORTING_FLAGS, REPORT_ONLY_FIRST_FAILURE, _unittest_reportflags, DocTestRunner, _extract_future_flags, pdb, _OutputRedirectingPdb, _exception_traceback, linecache
  from nose.plugins import doctests, Plugin
  from nose.util import anyp, tolist
  from IPython.utils.py3compat import builtin_mod, PY3, getcwd
label_desc: Use image node_id 1 for calling the IPDocTestRunner obj's underlying member method code with example usage: obj.run(test, compileflags, out, clear_globs) and returns: super