Commit Graph

204 Commits

Author SHA1 Message Date
MinRK
d6db92b7e6 allow iptest to be interrupted
Previously `^C` would register as a regular test failure, and the test suite would continue, in which case halting `iptest` meant hitting `^C` nine times.

This change makes iptest take notice of sigint in a test runner, and aborts the run.
2012-09-27 15:58:00 -07:00
Fernando Perez
630e178616 Ensure that in-process test group doesn't create global IPython singleton.
Since the in-process group makes its own shells, it should avoid
creating the global singleton.
2012-09-27 10:18:14 -05:00
Thomas Kluyver
b6776682dc Fix IPython.utils.warn API so messages are automatically displayed followed by a newline. 2012-08-14 14:15:30 +01:00
MinRK
27abd01589 skip crash tests by default 2012-08-10 22:15:14 -07:00
Brian Granger
421ada2837 Adding exclusion for the azure module in iptest. 2012-08-10 17:43:25 -07:00
Thomas Kluyver
31b326ca02 Exclude slow tests (IPython.parallel by default in iptest 2012-08-02 21:42:48 +01:00
Bradley M. Froehle
35493dabd2 Create a unique & temporary IPYTHONDIR for each testing group. 2012-07-25 18:35:55 -07:00
Bradley M. Froehle
f2b9bc6016 Print warning message if process could not be killed. 2012-07-25 17:43:50 -07:00
Bradley M. Froehle
4bf8f834ca Work around lack of os.kill in win32.
Fixes iptest brokenness caused by #2148.
2012-07-25 15:04:54 -07:00
Bradley M. Froehle
71b4bf797c win32 iptest: Use subprocess.Popen() instead of os.system(). 2012-07-16 17:29:02 -07:00
Matthias BUSSONNIER
011403a14f use print function in module with print >> 2012-07-05 14:32:56 +02:00
Fernando Perez
22071dfede Skip notebook 'static' dir in test suite.
There's nothing there we should be running python tests on, and
occasionally python files may appear there that cause problems to nose
(e.g. mathjax ships a non-py3 valid conf.py that breaks py3 testing).
2012-07-01 13:14:47 -07:00
MinRK
ae177a38cb remove empty IPython.scripts test group 2012-06-30 01:00:56 -07:00
MinRK
722e90d50a only add quotes around xunit-file on Windows 2012-06-28 11:23:13 -07:00
Jörgen Stenarson
9919f31095 2012-06-27 22:04:54 +02:00
Jörgen Stenarson
13b30ed3c4 2012-06-27 22:03:54 +02:00
Jonathan March
3edd709ab6 BUG: test runner fails in Windows if filenames contain spaces. 2012-06-23 19:55:07 -05:00
Fernando Perez
d81197455a Merge pull request #1849 from stefanv/octavemagic
Add %%octave, %octave, %octave_pull and %octave_push magics to facilitate interaction with Octave via oct2py.  This is similar in spirit to the R magic extension.
2012-06-12 23:52:57 -07:00
MinRK
d73b4e428e don't warn in iptest if deathrow/quarantine are missing 2012-06-11 14:21:18 -07:00
MinRK
33b0144b8f skip autoreload tests 2012-06-11 12:37:04 -07:00
MinRK
5b0d89a9ad use glob for bad exclusion warning
rather than explicit check for .py

closes #1896
2012-06-10 18:05:54 -07:00
Stefan van der Walt
c9a0f40dc5 Skip octavemagic tests if oct2py is unavailable. 2012-06-09 20:18:31 -07:00
Fernando Perez
22c5d421fc Merge pull request #1780 from jonathan-taylor/rmagic_extension
Rmagic extension to use R (the statistical package) seamlessly from IPython.

The rmagic extension allows R inline code as well as cell level magics. An example notebook is provided in docs/examples/notebooks/rmagic_extension.ipynb to demonstrate its usage.

Main points:

1) Allows capture of plots to R via inline png plots (like --pylab inline)

2) Allows capture of R's stdout() connection to the notebook

3) Allows simple push/pull for array data to/from R (via rpy2) with copy only on push to R -- this seems necessary.
2012-06-04 16:25:44 -07:00
Fernando Perez
41665e4483 Ensure that no tests are attempted if numpy or rpy2 are not present.
This prevents both importing of the extension itself and running of
the test suite.
2012-05-31 13:25:03 -07:00
Thomas Kluyver
b47a0cfda9 Add assert_in method to nose for Python 2.6 2012-05-31 21:23:29 +01:00
MinRK
45a3230d70 test for exclusions based on ipython_package_dir 2012-05-31 12:17:51 -07:00
MinRK
cd6fd19fd8 remove stale exclusions revealed by warning 2012-05-31 11:57:13 -07:00
MinRK
65ac94d8f4 warn on nonexistent exclusions 2012-05-31 11:56:06 -07:00
MinRK
3ac79da49c add missing cython exclusion in iptest 2012-05-31 10:06:13 -07:00
Fernando Perez
c15e0fa132 Merge pull request #1770 from ellisonbg/cython_magic
Cython related magic functions: offers the new cell magics %%cython_inline, %%cython_pyximport and %%cython to make it very easy to put cython-accelerated code in a cell and have it loaded interactively.
2012-05-30 22:17:34 -07:00
Brian Granger
26e8363d46 More code review changes:
* Added extension to the Sphinx docs.
* Fixed unicode issues.
2012-05-30 22:01:34 -07:00
MinRK
1cd79e1461 test for pygments before running qt tests 2012-05-22 14:38:59 -07:00
MinRK
6419b0b130 include IPython.zmq in iptest groups 2012-04-18 15:32:43 -07:00
MinRK
fe92e50471 remove a few more obsolete twisted notes 2012-04-09 11:01:21 -07:00
Thomas Kluyver
7d849a2f70 Only monkeypatch xunit when the tests are run using it. 2012-02-13 23:17:05 +00:00
Thomas Kluyver
4f947c2877 Make separate function to monkeypatch Xunit. 2012-02-09 20:20:19 +00:00
Thomas Kluyver
5773f8cd1d Monkeypatch Xunit to count known failures as skips, not errors. 2012-02-09 19:52:20 +00:00
Thomas Kluyver
717285060e Use explicit for loop to find section in testing. 2012-01-27 11:16:35 +00:00
Thomas Kluyver
4b51bacbb2 Don't raise errors from coverage post-processing. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
93a8b9d215 Use separate option --with-xml-coverage to ask for coverage xml output. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
24af9ac298 Use standard command for coverage. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
e29d417931 Produce coverage xml reports from subprocess test runners. 2012-01-27 01:16:46 +00:00
Fernando Perez
1d5c57d6c9 Remove debug print statement left over from PR #1316. 2012-01-25 19:43:14 -08:00
Thomas Kluyver
b01e9ea082 Pass subprocess test runners a suitable location for xunit output. 2012-01-24 21:23:58 +00:00
MinRK
88340d682c update iptest exclusions with recent changes 2011-12-12 11:47:51 -08:00
Fernando Perez
983b3a7bc8 Fix inline backend logic and avoid tests if mpl not available. 2011-11-27 00:28:26 -08:00
Matthias BUSSONNIER
38cd955d8d update copyright to 2011/20xx-2011
Closes #1033 (rebased to prevent recursive merge). Closes #2.

	459  *.py files in :
	 39  empty files
	176  files without copyright
	 36  have copyright but don't cite the dev team
	208  have copyright and cite the dev team
	-----------------------------------------
	  0  not up to date (cite dev team but not right year)

	  FYI, list of files that don't have copyright (and are not empty..)

 [
 'IPython/config/profile/cluster/ipython_config.py',
 'IPython/config/profile/math/ipython_config.py',
 'IPython/config/profile/pylab/ipython_config.py',
 'IPython/config/profile/pysh/ipython_config.py',
 'IPython/config/profile/python3/ipython_config.py',
 'IPython/config/profile/sympy/ipython_config.py',
 'IPython/core/shadowns.py',
 'IPython/core/tests/refbug.py',
 'IPython/core/tests/simpleerr.py',
 'IPython/core/tests/tclass.py',
 'IPython/core/tests/test_application.py',
 'IPython/core/tests/test_autocall.py',
 'IPython/core/tests/test_completer.py',
 'IPython/core/tests/test_fakemodule.py',
 'IPython/core/tests/test_formatters.py',
 'IPython/core/tests/test_handlers.py',
 'IPython/core/tests/test_history.py',
 'IPython/core/tests/test_imports.py',
 'IPython/core/tests/test_iplib.py',
 'IPython/core/tests/test_logger.py',
 'IPython/core/tests/test_magic.py',
 'IPython/core/tests/test_plugin.py',
 'IPython/core/tests/test_prefilter.py',
 'IPython/core/tests/test_profile.py',
 'IPython/core/tests/test_run.py',
 'IPython/core/tests/test_splitinput.py',
 'IPython/deathrow/astyle.py',
 'IPython/deathrow/dtutils.py',
 'IPython/deathrow/Gnuplot2.py',
 'IPython/deathrow/GnuplotInteractive.py',
 'IPython/deathrow/GnuplotRuntime.py',
 'IPython/deathrow/gui/wx/ipshell_nonblocking.py',
 'IPython/deathrow/gui/wx/ipython_history.py',
 'IPython/deathrow/gui/wx/thread_ex.py',
 'IPython/deathrow/ibrowse.py',
 'IPython/deathrow/igrid.py',
 'IPython/deathrow/ipipe.py',
 'IPython/deathrow/ipy_defaults.py',
 'IPython/deathrow/ipy_kitcfg.py',
 'IPython/deathrow/ipy_legacy.py',
 'IPython/deathrow/ipy_p4.py',
 'IPython/deathrow/ipy_profile_none.py',
 'IPython/deathrow/ipy_profile_numpy.py',
 'IPython/deathrow/ipy_profile_scipy.py',
 'IPython/deathrow/ipy_profile_sh.py',
 'IPython/deathrow/ipy_traits_completer.py',
 'IPython/deathrow/ipy_vimserver.py',
 'IPython/deathrow/numeric_formats.py',
 'IPython/deathrow/oldfrontend/process/__init__.py',
 'IPython/deathrow/oldfrontend/wx/ipythonx.py',
 'IPython/deathrow/scitedirector.py',
 'IPython/deathrow/tests/test_prefilter.py',
 'IPython/deathrow/twshell.py',
 'IPython/extensions/__init__.py',
 'IPython/extensions/autoreload.py',
 'IPython/extensions/storemagic.py',
 'IPython/extensions/tests/test_autoreload.py',
 'IPython/external/__init__.py',
 'IPython/external/argparse/__init__.py',
 'IPython/external/decorator/__init__.py',
 'IPython/external/decorators/__init__.py',
 'IPython/external/decorators/_decorators.py',
 'IPython/external/decorators/_numpy_testing_noseclasses.py',
 'IPython/external/decorators/_numpy_testing_utils.py',
 'IPython/external/guid/__init__.py',
 'IPython/external/Itpl/__init__.py',
 'IPython/external/mglob/__init__.py',
 'IPython/external/mglob/_mglob.py',
 'IPython/external/path/__init__.py',
 'IPython/external/path/_path.py',
 'IPython/external/pexpect/__init__.py',
 'IPython/external/pyparsing/__init__.py',
 'IPython/external/qt.py',
 'IPython/external/qt_for_kernel.py',
 'IPython/external/simplegeneric/__init__.py',
 'IPython/external/simplegeneric/_simplegeneric.py',
 'IPython/frontend/html/notebook/__init__.py',
 'IPython/frontend/html/notebook/tests/test_kernelsession.py',
 'IPython/frontend/qt/base_frontend_mixin.py',
 'IPython/frontend/qt/console/ansi_code_processor.py',
 'IPython/frontend/qt/console/bracket_matcher.py',
 'IPython/frontend/qt/console/call_tip_widget.py',
 'IPython/frontend/qt/console/completion_lexer.py',
 'IPython/frontend/qt/console/completion_widget.py',
 'IPython/frontend/qt/console/console_widget.py',
 'IPython/frontend/qt/console/history_console_widget.py',
 'IPython/frontend/qt/console/ipython_widget.py',
 'IPython/frontend/qt/console/kill_ring.py',
 'IPython/frontend/qt/console/mainwindow.py',
 'IPython/frontend/qt/console/pygments_highlighter.py',
 'IPython/frontend/qt/console/qtconsoleapp.py',
 'IPython/frontend/qt/console/rich_ipython_widget.py',
 'IPython/frontend/qt/console/styles.py',
 'IPython/frontend/qt/console/tests/test_ansi_code_processor.py',
 'IPython/frontend/qt/console/tests/test_completion_lexer.py',
 'IPython/frontend/qt/console/tests/test_kill_ring.py',
 'IPython/frontend/qt/kernelmanager.py',
 'IPython/frontend/qt/rich_text.py',
 'IPython/frontend/qt/svg.py',
 'IPython/frontend/qt/util.py',
 'IPython/kernel/__init__.py',
 'IPython/lib/clipboard.py',
 'IPython/lib/display.py',
 'IPython/lib/irunner.py',
 'IPython/lib/security.py',
 'IPython/lib/tests/test_imports.py',
 'IPython/lib/tests/test_irunner.py',
 'IPython/lib/tests/test_irunner_pylab_magic.py',
 'IPython/lib/tests/test_security.py',
 'IPython/nbformat/v1/tests/nbexamples.py',
 'IPython/nbformat/v1/tests/test_json.py',
 'IPython/nbformat/v1/tests/test_nbbase.py',
 'IPython/nbformat/v2/tests/nbexamples.py',
 'IPython/nbformat/v2/tests/test_json.py',
 'IPython/nbformat/v2/tests/test_nbbase.py',
 'IPython/nbformat/v2/tests/test_nbpy.py',
 'IPython/quarantine/clearcmd.py',
 'IPython/quarantine/envpersist.py',
 'IPython/quarantine/ext_rescapture.py',
 'IPython/quarantine/ipy_app_completers.py',
 'IPython/quarantine/ipy_completers.py',
 'IPython/quarantine/ipy_editors.py',
 'IPython/quarantine/ipy_exportdb.py',
 'IPython/quarantine/ipy_extutil.py',
 'IPython/quarantine/ipy_fsops.py',
 'IPython/quarantine/ipy_gnuglobal.py',
 'IPython/quarantine/ipy_jot.py',
 'IPython/quarantine/ipy_lookfor.py',
 'IPython/quarantine/ipy_profile_doctest.py',
 'IPython/quarantine/ipy_pydb.py',
 'IPython/quarantine/ipy_rehashdir.py',
 'IPython/quarantine/ipy_render.py',
 'IPython/quarantine/ipy_server.py',
 'IPython/quarantine/ipy_signals.py',
 'IPython/quarantine/ipy_synchronize_with.py',
 'IPython/quarantine/ipy_system_conf.py',
 'IPython/quarantine/ipy_which.py',
 'IPython/quarantine/ipy_winpdb.py',
 'IPython/quarantine/ipy_workdir.py',
 'IPython/quarantine/jobctrl.py',
 'IPython/quarantine/ledit.py',
 'IPython/quarantine/win32clip.py',
 'IPython/testing/mkdoctests.py',
 'IPython/testing/plugin/dtexample.py',
 'IPython/testing/plugin/ipdoctest.py',
 'IPython/testing/plugin/iptest.py',
 'IPython/testing/plugin/setup.py',
 'IPython/testing/plugin/show_refs.py',
 'IPython/testing/plugin/simple.py',
 'IPython/testing/plugin/simplevars.py',
 'IPython/testing/plugin/test_ipdoctest.py',
 'IPython/testing/plugin/test_refs.py',
 'IPython/testing/skipdoctest.py',
 'IPython/testing/tests/test_decorators.py',
 'IPython/utils/autoattr.py',
 'IPython/utils/nested_context.py',
 'IPython/utils/pickleshare.py',
 'IPython/utils/py3compat.py',
 'IPython/utils/PyColorize.py',
 'IPython/utils/rlineimpl.py',
 'IPython/utils/strdispatch.py',
 'IPython/utils/tempdir.py',
 'IPython/utils/tests/test_imports.py',
 'IPython/utils/tests/test_wildcard.py',
 'IPython/utils/upgradedir.py',
 'IPython/zmq/completer.py',
 'IPython/zmq/displayhook.py',
 'IPython/zmq/entry_point.py',
 'IPython/zmq/frontend.py',
 'IPython/zmq/iostream.py',
 'IPython/zmq/ipkernel.py',
 'IPython/zmq/log.py',
 'IPython/zmq/parentpoller.py',
 'IPython/zmq/pykernel.py',
 'IPython/zmq/pylab/backend_inline.py',
 'IPython/zmq/zmqshell.py'
 ]
2011-11-23 18:02:27 -08:00
MinRK
dd8761ea1d Allow IPython to run without sqlite3
The History will always appear empty, so history magics, etc. don't do anything.  Readline history for a single session works fine.

Test suite should now pass without sqlite
2011-10-20 10:36:10 -07:00
Bernardo B. Marques
8e32204222 remove all trailling spaces 2011-10-04 11:14:41 -03:00
MinRK
56c8403ac0 allow more processing in test_for
* test_for uses import_item, instead of __import__
* test_for now allows a callback, for processing the result of import_item prior to comparison with min_zmq
* callback is only called when min_zmq is defined
* callback's default is to just return mod.__version__
* use this to check tornado version, and zmq as a version tuple
* fix pexpect check to use external.pexpect
2011-09-23 16:57:40 -07:00
MinRK
50f9bd9ceb update tornado dependency to 2.1
The notebook server will no longer try to launch with 2.0.

Test imports and install doc updated to match.
2011-09-23 15:03:16 -07:00
Brian E. Granger
408fde5aa3 Check for tornado before running frontend.html tests. 2011-08-30 09:39:57 -07:00
Brian E. Granger
706819d81c Merge branch 'htmlnotebook' 2011-08-23 15:47:57 -07:00
Matthew Brett
acf85b0824 BF - allow nose with-doctest setting in environment
IPDoctest replaces the normal doctest plugin.  Previously we did this by
initializing the builtin plugins but skipping the doctest plugin.
However, if the user has a noserc file with 'with-doctest=1' or the
environment variable 'NOSE_WITH_DOCTEST', then nose will try and
initialize the doctest plugin when it isn't there, and barf.  This
commit defers the removal of the doctest plugin to the configuration
stage, so doctest can be enabled before it is thrown away by us.
2011-08-15 19:12:12 -07:00
Brian E. Granger
59a9cd1777 Updates to basic notebook format.
* The format now handles multiple output blocks.
* XML now as worksheets, cells and outputs tags.
2011-07-29 10:15:22 -07:00
Jörgen Stenarson
eea358698b 2011-07-12 19:19:38 +02:00
Thomas Kluyver
9dd9ddc0e7 Replace links to launchpad bugs in comments/docstrings with equivalent github links. 2011-05-29 23:10:48 +01:00
Thomas Kluyver
e77036cc30 Call sys.exit() at correct point in iptest. 2011-05-24 19:21:45 +01:00
Thomas Kluyver
a15c6996b1 Add exit code when running all tests with iptest. 2011-05-24 13:50:32 +01:00
MinRK
daa9df5b63 various db backend fixes
* use index on msg_id in mongodb backend (_table prevented some methods from working outside the session)
* purge_request improved to use fewer db calls
* mongodb testcase split into its own file
* Fix equality testing, NULL handling, in SQLiteDB backend
2011-05-17 14:27:33 -07:00
MinRK
59f06d7d7b update zmq dependency on Windows to 2.1.7 2011-05-16 10:47:13 -07:00
MinRK
f32e2bb944 depend on pyzmq-2.1dev on Windows
This is a temporary dependency, and should be changed to the next release of pyzmq when it arrives.
2011-04-21 12:10:26 -07:00
MinRK
7eefed1d6b fix 'test_pylabtools' exclusion in iptest 2011-04-14 17:15:20 -07:00
MinRK
a6aaa64016 update test exclusions
exclude test_irunner w/o pexpect
exclude frontend/qt w/o pyzmq or qt

closes gh-375
2011-04-14 14:48:26 -07:00
Fernando Perez
a6ebd33613 Do not generate output for empty figures in Qt console.
Before, calling figure() would produce a big blank area.  This ensures
output is only returned if the figure has content.

Also added basic testing for pylabtools, for which we had none.
2011-04-11 00:22:11 -07:00
MinRK
cf9b16d19d fix pyzmq version check for testing IPython.parallel 2011-04-08 15:27:53 -07:00
MinRK
ca5b871975 add pymongo to iptest exclusions 2011-04-07 17:50:07 -07:00
MinRK
b84c3f0cd6 organize IPython.parallel into subpackages 2011-04-07 17:38:58 -07:00
MinRK
587b10631a rebase IPython.parallel after removal of IPython.kernel
This commit removes all '*z' suffixes from scripts and docs,
as there is no longer conflict with IPython.kernel.
2011-04-07 17:38:57 -07:00
MinRK
5dfb26377f add zmq checking in iptest 2011-04-07 17:38:21 -07:00
MinRK
1277658644 Merge branch 'removetwisted' of https://github.com/ellisonbg/ipython into remove_twisted 2011-04-06 13:31:11 -07:00
Paul Ivanov
b7a088db6b make know failures report as 'K'
ported from numpy.testing.noseclasses, with the equivalent code
extracted into _numpy_testing_noseclasses in case numpy is not
installed.

removed some unused imports throughout
2011-04-03 17:52:21 -07:00
Brian Granger
527aa15f84 Removed Twisted related things from setup scripts and testing. 2011-03-30 23:20:28 -07:00
Thomas Kluyver
becb566a6f Tweak code with suggestions from yesterday. 2011-03-24 23:42:04 +00:00
Robert Kern
943edf4cf9 Remove check for GTK in tests, so that the default encoding remains ascii, and Unicode failures can be resolved. 2011-03-24 19:33:06 +00:00
Fernando Perez
5a0edd6c04 Complete support of git commit info with IPython.sys_info().
This will give us an easy way for users to report platform details,
without trying to cram lots of data into the version string.

Now, the version information in release.py is simple and doesn't
attempt to read version control data at runtime.  We expose sys_info()
as a top-level function so it's very easy to remember/direct for new
users.

Minor doc/copyright notices updates in the same files.
2010-10-26 23:19:36 -07:00
Brian Granger
29259fc441 Refactor of prompts and the displayhook.
* Renamed CachedOutput to displayhook.DisplayHook.
* Added methods that DisplayHook.__call__ uses to do its work.
  These methods can now be overridden for the ZMQ kernel.
* Removed all hooks (result_display and generate_output_prompt)
  that the outputcache was using. We need to add these back in
  once we figure out what to do about hooks in general.
2010-08-17 18:38:39 -07:00
Brian Granger
30627d74a5 Moving and renaming in preparation of subclassing InteractiveShell.
* IPython/scripts/ipython -> IPython/frontend/terminal/scripts
* IPython.core.ipapp -> IPython.frontend.terminal.ipapp
* IPython.core.embed -> IPython.frontend.terminal.embed
* IPython.core.iplib -> IPython.core.interactiveshell
2010-08-12 15:40:30 -07:00
Fernando Perez
2e8acf77e2 Finish cleanup of setup.py and tests after dead code removal.
This completes the cleanup from Brian's previous commits, so that
trunk again installs/tests correctly.
2010-07-27 13:52:54 -07:00
Brian Granger
9d00d5e3da Minor cleanup in iptest.py and growl.py. 2010-01-31 12:06:20 -08:00
Brian Granger
ba5e56c49f Removed the top-level iptest.py and INSTALLED logic.
Fernando's branch introduced the ability to run the test suite
from a top-level iptest.py script. This allowed IPython to be tested
without installation. The implementation was fragile and we also
decided that we *want* people to install IPython as part of testing
it, so we removed this feature.
2010-01-30 19:43:46 -08:00
Brian Granger
e5b30872ed More work addressing review comments for Fernando's branch.
* :mod:`IPython.testing.globalipapp` now directly creates a
  :class:`~IPython.core.iplib.InteractiveShell` instance by passing it a
  configuration object, rather than creating an IPython application.
* Updated everything in :mod:`IPython.frontend` and :mod:`IPython.gui` to use
  raw :class:`~IPython.core.iplib.InteractiveShell directly rather than
  creating an IPython application.
* Updated the IPython sphinx extension to use raw
  :class:`~IPython.core.iplib.InteractiveShell directly rather than creating
  an IPython application.
* Removed code from :mod:`IPython.extensions.pretty` that called
  :func:`get_ipython` (r1271).
* Addressed comment on (r1284) about holding refs to deferreds in
  :mod:`IPython.kernel.ipclusterapp`.
* Removed :mod:`IPython.kernel` from list of modules tested by nose in
  :mod:`IPython.testing.iptest`. (r1318)
2010-01-29 21:01:10 -08:00
Brian Granger
e24997b0ba Work to address the review comments on Fernando's branch.
* Added comment about Magic(object) (r1224)
* Moved InteractiveTB.set_mode from IPythonApp -> InteractiveShell (r1229)
* Moved pylabtools.py to IPython/lib (r1229)
* Cleaned up comments and copyrights in testing (r1233)
* Added comment about ip.shell._ofind (r1237)
* Removed "Bye." from quitter (r1240).
* Refactored and removed :mod:`IPython.utils.genutils` and
  :mod:`IPython.utils.platutils`. These modules have been replaced by topical
  focused modules in :mod:`IPython.utils`.
* Refactored tests in :mod:`IPython.utils.tests`.
* Moved :func:`IPython.testing.tools.temp_pyfile` to :mod:`IPython.utils.io`.
* Moved :func:`IPython.testing.tools.cmd2argv` to
  :func:`IPython.testing.tools.pycmd2argv` and documented the fact that this
  only works with Python based command line programs.
* Created a new :func:`IPython.utils.path.get_ipython_module_path` to use
  in finding paths to IPython modules.
2010-01-29 16:24:13 -08:00
Fernando Perez
8965698c56 Added diagnostics printout at the end of the test suite.
This will make it easier for us to understand problem reports from users.
2010-01-17 14:36:19 -08:00
Fernando Perez
e1ea030504 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.
2010-01-17 13:13:21 -08:00
Fernando Perez
ecff1e9e39 Make the test suite runnable without X11 connections.
This fix makes the test suite work in settings like a screen session that
can import but not initialize GTK.
2010-01-16 14:50:08 -08:00
Fernando Perez
5740081c62 Fix tests to return consistent results regardless of how they are called.
Now, calling:

- 'python iptest.py' from source dir or from src/IPython/testing should give
the same results

- 'python iptest.py IPython.SOMETHING' from either place should also give
the same results.
2010-01-16 14:43:41 -08:00
Fernando Perez
34dd139174 Fixes to make test suite more robust on Fedora.
I fond some spurious warnings on Fedora, extra noise on stdout and other
small problems this commit fixes.

The test suite now runs cleanly on Fedora11 without Twisted available.
2010-01-15 14:41:10 -08:00
Fernando Perez
5756b33e52 Make it possible to run the tests from the source dir without installation.
Also clean up the handling of command-line options for iptest, so that all
options given at the top-level are correctly passed to nose.

Fixes: https://bugs.launchpad.net/ipython/+bug/507079
2010-01-15 02:00:11 -08:00
Fernando Perez
ae70bfc440 Let iptest pass arguments correctly to nose (in-process or in subprocess).
Fixes https://bugs.launchpad.net/ipython/+bug/507079

Also, remove relative imports from the iptest.py module so it can be run as
a script as well under 2.5 or 2.6.
2010-01-15 01:06:34 -08:00
Fernando Perez
1621f0a23f Fix bug where python -c "import IPython; IPython.test()" could fail.
Depending on where one was located when typing it, it could fail.  Made all
necessary paths absolute so this doesn't happen.
2010-01-13 00:32:13 -08:00
Fernando Perez
59117c597e Include 'kernel' in the nose tests as well; it picks up doctests that trial
doesn't.
2010-01-12 23:58:30 -08:00
Fernando Perez
91791416ab Fixes for test suite in win32 when all dependencies (esp. Twisted) are
installed.

Also activated testing.tools to be picked up by the test suite (was
excluded), this gives us a few more tests.

Status:

- On Linux, the full suite passes like before.

- On Win32, now that we have Twisted, we're seeing a few failures, because I
don't have the WinHPC server stuff.  These should be easy for Brian to fix.
There are also two tests where the Skip nose exception isn't recognized by
Twisted, should also be easy.  I'll file tickets for those.
2010-01-12 23:21:21 -08:00
Fernando Perez
e3a6f8da77 Fix test failure when pexpect not available 2010-01-12 17:39:42 -08:00
Fernando Perez
2b7da9a1bd Fix test suite when Twisted not available, cleanups to iptest for clarity. 2010-01-12 17:36:00 -08:00
Fernando Perez
0e94b28cd8 Remove accidentally introduced runtime nose dependencies. 2010-01-12 12:42:23 -08:00
Fernando Perez
22cb80d555 Fix config part of the test suite. 2010-01-09 17:55:56 -08:00
Fernando Perez
72cb0a3c73 Massive amount of work to improve the test suite, restores doctests.
After Brian's comments, I realized that our test machinery was NOT in
reality running all the ipython-syntax doctests we have.  This is now fixed.
The test suite isn't completely passing, but this commit is for the
underlying machinery.  I will now work on fixing as many broken tests as I
can.

Fixes https://bugs.launchpad.net/ipython/+bug/505071
2010-01-09 16:30:59 -08:00
Fernando Perez
6d8161fac0 A few small fixes so ipythonx works, and PEP-8 cleanups I found along the way. 2010-01-07 17:39:24 -08:00
Fernando Perez
e68e992d80 Improve test suite robustness by cleaning up stale processes when possible. 2010-01-07 16:47:46 -08:00