#!/usr/bin/env python # -*- coding: utf-8 -*- """IPython Test Suite Runner. """ import sys import warnings from nose.core import TestProgram import nose.plugins.builtin from IPython.testing.plugin.ipdoctest import IPythonDoctest def main(): """Run the IPython test suite. """ warnings.filterwarnings('ignore', 'This will be removed soon. Use IPython.testing.util instead') # construct list of plugins, omitting the existing doctest plugin plugins = [IPythonDoctest()] for p in nose.plugins.builtin.plugins: plug = p() if plug.name == 'doctest': continue #print 'adding plugin:',plug.name # dbg plugins.append(plug) argv = sys.argv + ['--doctest-tests','--doctest-extension=txt', '--detailed-errors', # We add --exe because of setuptools' imbecility (it # blindly does chmod +x on ALL files). Nose does the # right thing and it tries to avoid executables, # setuptools unfortunately forces our hand here. This # has been discussed on the distutils list and the # setuptools devs refuse to fix this problem! '--exe', ] has_ip = False for arg in sys.argv: if 'IPython' in arg: has_ip = True break if not has_ip: argv.append('IPython') TestProgram(argv=argv,plugins=plugins)