Show More
@@ -14,12 +14,13 b' __docformat__ = "restructuredtext en"' | |||
|
14 | 14 | #------------------------------------------------------------------------------- |
|
15 | 15 | # Imports |
|
16 | 16 | #------------------------------------------------------------------------------- |
|
17 | from IPython.external import guid | |
|
18 | 17 | |
|
18 | from IPython.external import guid | |
|
19 | 19 | |
|
20 | 20 | from zope.interface import Interface, Attribute, implements, classProvides |
|
21 | 21 | from twisted.python.failure import Failure |
|
22 |
from IPython.frontend.frontendbase import |
|
|
22 | from IPython.frontend.frontendbase import ( | |
|
23 | FrontEndBase, IFrontEnd, IFrontEndFactory) | |
|
23 | 24 | from IPython.kernel.core.history import FrontEndHistory |
|
24 | 25 | from IPython.kernel.engineservice import IEngineCore |
|
25 | 26 |
@@ -15,19 +15,27 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #--------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | try: | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
21 | from twisted.trial import unittest | |
|
22 | from twisted.internet.defer import succeed | |
|
23 | ||
|
19 | 24 |
|
|
20 | 25 |
|
|
21 | from IPython.testing.util import DeferredTestCase | |
|
22 | from twisted.internet.defer import succeed | |
|
26 | ||
|
27 | try: | |
|
23 | 28 |
from IPython.frontend.cocoa.cocoa_frontend import IPythonCocoaController |
|
24 | 29 | from Foundation import NSMakeRect |
|
25 | 30 |
from AppKit import NSTextView, NSScrollView |
|
26 | 31 | except ImportError: |
|
27 | import nose | |
|
28 | raise nose.SkipTest("This test requires zope.interface, Twisted, Foolscap and PyObjC") | |
|
32 | # This tells twisted.trial to skip this module if PyObjC is not found | |
|
33 | skip = True | |
|
29 | 34 | |
|
30 | class TestIPythonCocoaControler(DeferredTestCase): | |
|
35 | #--------------------------------------------------------------------------- | |
|
36 | # Tests | |
|
37 | #--------------------------------------------------------------------------- | |
|
38 | class TestIPythonCocoaControler(unittest.TestCase): | |
|
31 | 39 | """Tests for IPythonCocoaController""" |
|
32 | 40 | |
|
33 | 41 | def setUp(self): |
@@ -47,19 +55,17 b' class TestIPythonCocoaControler(DeferredTestCase):' | |||
|
47 | 55 | del result['number'] |
|
48 | 56 | del result['id'] |
|
49 | 57 | return result |
|
50 | self.assertDeferredEquals( | |
|
51 |
|
|
|
52 | expected) | |
|
58 | d = self.controller.execute(code) | |
|
59 | d.addCallback(removeNumberAndID) | |
|
60 | d.addCallback(lambda r: self.assertEquals(r, expected)) | |
|
53 | 61 | |
|
54 | 62 | def testControllerMirrorsUserNSWithValuesAsStrings(self): |
|
55 | 63 | code = """userns1=1;userns2=2""" |
|
56 | 64 | def testControllerUserNS(result): |
|
57 | 65 | self.assertEquals(self.controller.userNS['userns1'], 1) |
|
58 | 66 | self.assertEquals(self.controller.userNS['userns2'], 2) |
|
59 | ||
|
60 | 67 | self.controller.execute(code).addCallback(testControllerUserNS) |
|
61 | 68 | |
|
62 | ||
|
63 | 69 | def testControllerInstantiatesIEngine(self): |
|
64 | 70 | self.assert_(es.IEngineBase.providedBy(self.controller.engine)) |
|
65 | 71 |
@@ -15,16 +15,14 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #--------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
18 | 20 | |
|
19 | try: | |
|
20 | 21 |
|
|
21 | 22 |
|
|
22 | 23 |
|
|
23 | 24 |
|
|
24 | 25 |
|
|
25 | except ImportError: | |
|
26 | import nose | |
|
27 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
28 | 26 | |
|
29 | 27 | |
|
30 | 28 | class FrontEndCallbackChecker(AsyncFrontEndBase): |
@@ -5,12 +5,12 b' Test process execution and IO redirection.' | |||
|
5 | 5 | |
|
6 | 6 | __docformat__ = "restructuredtext en" |
|
7 | 7 | |
|
8 |
#----------------------------------------------------------------------------- |
|
|
9 | # Copyright (C) 2008 The IPython Development Team | |
|
8 | #----------------------------------------------------------------------------- | |
|
9 | # Copyright (C) 2008-2009 The IPython Development Team | |
|
10 | 10 | # |
|
11 | 11 | # Distributed under the terms of the BSD License. The full license is |
|
12 | 12 | # in the file COPYING, distributed as part of this software. |
|
13 |
#----------------------------------------------------------------------------- |
|
|
13 | #----------------------------------------------------------------------------- | |
|
14 | 14 | |
|
15 | 15 | from cStringIO import StringIO |
|
16 | 16 | from time import sleep |
@@ -22,6 +22,9 b' from IPython.kernel.core.interpreter import Interpreter' | |||
|
22 | 22 | # Tests |
|
23 | 23 | #----------------------------------------------------------------------------- |
|
24 | 24 | |
|
25 | # Tell nose to skip this module | |
|
26 | __test__ = {} | |
|
27 | ||
|
25 | 28 | class TestInterpreter(unittest.TestCase): |
|
26 | 29 | |
|
27 | 30 | def test_unicode(self): |
@@ -15,6 +15,9 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #----------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
18 | 21 | import unittest |
|
19 | 22 | import IPython.kernel.core.notification as notification |
|
20 | 23 | from nose.tools import timed |
@@ -12,12 +12,12 b' __docformat__ = "restructuredtext en"' | |||
|
12 | 12 | # in the file COPYING, distributed as part of this software. |
|
13 | 13 | #------------------------------------------------------------------------------- |
|
14 | 14 | |
|
15 | # Tell nose to skip this module | |
|
16 | __test__ = {} | |
|
15 | 17 | |
|
16 | # Stdlib imports | |
|
17 | 18 | import os |
|
18 | 19 | from cStringIO import StringIO |
|
19 | 20 | |
|
20 | # Our own imports | |
|
21 | 21 | from IPython.testing import decorators as dec |
|
22 | 22 | |
|
23 | 23 | #----------------------------------------------------------------------------- |
@@ -268,6 +268,8 b' def _formatTracebackLines(lnum, index, lines, Colors, lvals=None,scheme=None):' | |||
|
268 | 268 | # This lets us get fully syntax-highlighted tracebacks. |
|
269 | 269 | if scheme is None: |
|
270 | 270 | try: |
|
271 | # Again, reference to a global __IPYTHON__ that doesn't exist. | |
|
272 | # XXX | |
|
271 | 273 | scheme = __IPYTHON__.rc.colors |
|
272 | 274 | except: |
|
273 | 275 | scheme = DEFAULT_SCHEME |
@@ -489,7 +491,7 b' class ListTB(TBTools):' | |||
|
489 | 491 | |
|
490 | 492 | # This is being commented out for now as the __IPYTHON__ variable |
|
491 | 493 | # referenced here is not resolved and causes massive test failures |
|
492 | # and errors. B. Granger, 04/2009. | |
|
494 | # and errors. B. Granger, 04/2009. XXX | |
|
493 | 495 | # See https://bugs.launchpad.net/bugs/362137 |
|
494 | 496 | # # vds:>> |
|
495 | 497 | # if have_filedata: |
@@ -810,7 +812,7 b' class VerboseTB(TBTools):' | |||
|
810 | 812 | |
|
811 | 813 | # This is being commented out for now as the __IPYTHON__ variable |
|
812 | 814 | # referenced here is not resolved and causes massive test failures |
|
813 | # and errors. B. Granger, 04/2009. | |
|
815 | # and errors. B. Granger, 04/2009. XXX | |
|
814 | 816 | # See https://bugs.launchpad.net/bugs/362137 |
|
815 | 817 | # # vds: >> |
|
816 | 818 | # if records: |
@@ -29,8 +29,12 b' from twisted.python import failure, log' | |||
|
29 | 29 | |
|
30 | 30 | from IPython.external import argparse |
|
31 | 31 | from IPython.external import Itpl |
|
32 | from IPython.genutils import get_ipython_dir, get_log_dir, get_security_dir | |
|
33 | from IPython.genutils import num_cpus | |
|
32 | from IPython.genutils import ( | |
|
33 | get_ipython_dir, | |
|
34 | get_log_dir, | |
|
35 | get_security_dir, | |
|
36 | num_cpus | |
|
37 | ) | |
|
34 | 38 | from IPython.kernel.fcutil import have_crypto |
|
35 | 39 | |
|
36 | 40 | # Create various ipython directories if they don't exist. |
@@ -485,6 +489,7 b' class SSHEngineSet(object):' | |||
|
485 | 489 | |
|
486 | 490 | |
|
487 | 491 | def check_security(args, cont_args): |
|
492 | """Check to see if we should run with SSL support.""" | |
|
488 | 493 | if (not args.x or not args.y) and not have_crypto: |
|
489 | 494 | log.err(""" |
|
490 | 495 | OpenSSL/pyOpenSSL is not available, so we can't run in secure mode. |
@@ -499,6 +504,7 b' Try running ipcluster with the -xy flags: ipcluster local -xy -n 4""")' | |||
|
499 | 504 | |
|
500 | 505 | |
|
501 | 506 | def check_reuse(args, cont_args): |
|
507 | """Check to see if we should try to resuse FURL files.""" | |
|
502 | 508 | if args.r: |
|
503 | 509 | cont_args.append('-r') |
|
504 | 510 | if args.client_port == 0 or args.engine_port == 0: |
@@ -513,11 +519,13 b' the --client-port and --engine-port options.""")' | |||
|
513 | 519 | |
|
514 | 520 | |
|
515 | 521 | def _err_and_stop(f): |
|
522 | """Errback to log a failure and halt the reactor on a fatal error.""" | |
|
516 | 523 | log.err(f) |
|
517 | 524 | reactor.stop() |
|
518 | 525 | |
|
519 | 526 | |
|
520 | 527 | def _delay_start(cont_pid, start_engines, furl_file, reuse): |
|
528 | """Wait for controller to create FURL files and the start the engines.""" | |
|
521 | 529 | if not reuse: |
|
522 | 530 | if os.path.isfile(furl_file): |
|
523 | 531 | os.unlink(furl_file) |
@@ -728,8 +736,11 b' def get_args():' | |||
|
728 | 736 | |
|
729 | 737 | parser = argparse.ArgumentParser( |
|
730 | 738 | description='IPython cluster startup. This starts a controller and\ |
|
731 |
engines using various approaches. |
|
|
732 | THE API WILL CHANGE SIGNIFICANTLY BEFORE THE FINAL RELEASE.' | |
|
739 | engines using various approaches. Use the IPYTHONDIR environment\ | |
|
740 | variable to change your IPython directory from the default of\ | |
|
741 | .ipython or _ipython. The log and security subdirectories of your\ | |
|
742 | IPython directory will be used by this script for log files and\ | |
|
743 | security files.' | |
|
733 | 744 | ) |
|
734 | 745 | subparsers = parser.add_subparsers( |
|
735 | 746 | help='available cluster types. For help, do "ipcluster TYPE --help"') |
@@ -21,9 +21,10 b' __docformat__ = "restructuredtext en"' | |||
|
21 | 21 | import sys |
|
22 | 22 | sys.path.insert(0, '') |
|
23 | 23 | |
|
24 | import sys, time, os | |
|
25 | import tempfile | |
|
26 | 24 | from optparse import OptionParser |
|
25 | import os | |
|
26 | import time | |
|
27 | import tempfile | |
|
27 | 28 | |
|
28 | 29 | from twisted.application import internet, service |
|
29 | 30 | from twisted.internet import reactor, error, defer |
@@ -263,7 +264,14 b' def init_config():' | |||
|
263 | 264 | Initialize the configuration using default and command line options. |
|
264 | 265 | """ |
|
265 | 266 | |
|
266 |
parser = OptionParser( |
|
|
267 | parser = OptionParser("""ipcontroller [options] | |
|
268 | ||
|
269 | Start an IPython controller. | |
|
270 | ||
|
271 | Use the IPYTHONDIR environment variable to change your IPython directory | |
|
272 | from the default of .ipython or _ipython. The log and security | |
|
273 | subdirectories of your IPython directory will be used by this script | |
|
274 | for log files and security files.""") | |
|
267 | 275 | |
|
268 | 276 | # Client related options |
|
269 | 277 | parser.add_option( |
@@ -21,8 +21,8 b' __docformat__ = "restructuredtext en"' | |||
|
21 | 21 | import sys |
|
22 | 22 | sys.path.insert(0, '') |
|
23 | 23 | |
|
24 | import sys, os | |
|
25 | 24 | from optparse import OptionParser |
|
25 | import os | |
|
26 | 26 | |
|
27 | 27 | from twisted.application import service |
|
28 | 28 | from twisted.internet import reactor |
@@ -140,7 +140,14 b' def init_config():' | |||
|
140 | 140 | Initialize the configuration using default and command line options. |
|
141 | 141 | """ |
|
142 | 142 | |
|
143 |
parser = OptionParser( |
|
|
143 | parser = OptionParser("""ipengine [options] | |
|
144 | ||
|
145 | Start an IPython engine. | |
|
146 | ||
|
147 | Use the IPYTHONDIR environment variable to change your IPython directory | |
|
148 | from the default of .ipython or _ipython. The log and security | |
|
149 | subdirectories of your IPython directory will be used by this script | |
|
150 | for log files and security files.""") | |
|
144 | 151 | |
|
145 | 152 | parser.add_option( |
|
146 | 153 | "--furl-file", |
@@ -1,3 +1,6 b'' | |||
|
1 | # Tell nose to skip this module | |
|
2 | __test__ = {} | |
|
3 | ||
|
1 | 4 | #from __future__ import with_statement |
|
2 | 5 | |
|
3 | 6 | # XXX This file is currently disabled to preserve 2.4 compatibility. |
@@ -23,15 +23,15 b' __docformat__ = "restructuredtext en"' | |||
|
23 | 23 | # Imports |
|
24 | 24 | #------------------------------------------------------------------------------- |
|
25 | 25 | |
|
26 | try: | |
|
26 | # Tell nose to skip this module | |
|
27 | __test__ = {} | |
|
28 | ||
|
27 | 29 |
|
|
28 | 30 |
|
|
29 | 31 |
|
|
30 | 32 |
|
|
31 | 33 |
|
|
32 | except ImportError: | |
|
33 | import nose | |
|
34 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
34 | ||
|
35 | 35 | |
|
36 | 36 | class BasicControllerServiceTest(DeferredTestCase, |
|
37 | 37 | IControllerCoreTestCase): |
@@ -15,7 +15,9 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #------------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | try: | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
19 | 21 |
|
|
20 | 22 |
|
|
21 | 23 |
|
@@ -36,9 +38,6 b' try:' | |||
|
36 | 38 |
|
|
37 | 39 |
|
|
38 | 40 |
|
|
39 | except ImportError: | |
|
40 | import nose | |
|
41 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
42 | 41 | |
|
43 | 42 | |
|
44 | 43 | class EngineFCTest(DeferredTestCase, |
@@ -23,7 +23,9 b' __docformat__ = "restructuredtext en"' | |||
|
23 | 23 | # Imports |
|
24 | 24 | #------------------------------------------------------------------------------- |
|
25 | 25 | |
|
26 | try: | |
|
26 | # Tell nose to skip this module | |
|
27 | __test__ = {} | |
|
28 | ||
|
27 | 29 |
|
|
28 | 30 |
|
|
29 | 31 | |
@@ -34,9 +36,6 b' try:' | |||
|
34 | 36 |
|
|
35 | 37 |
|
|
36 | 38 |
|
|
37 | except ImportError: | |
|
38 | import nose | |
|
39 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
40 | 39 | |
|
41 | 40 | |
|
42 | 41 | class BasicEngineServiceTest(DeferredTestCase, |
@@ -15,16 +15,15 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #----------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | try: | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
19 | 21 |
|
|
20 | 22 |
|
|
21 | 23 |
|
|
22 | 24 |
|
|
23 | 25 |
|
|
24 | 26 |
|
|
25 | except ImportError: | |
|
26 | import nose | |
|
27 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
28 | 27 | |
|
29 | 28 | |
|
30 | 29 | class BasicMultiEngineTestCase(DeferredTestCase, IMultiEngineTestCase): |
@@ -14,7 +14,9 b' __docformat__ = "restructuredtext en"' | |||
|
14 | 14 | # Imports |
|
15 | 15 | #------------------------------------------------------------------------------- |
|
16 | 16 | |
|
17 | try: | |
|
17 | # Tell nose to skip this module | |
|
18 | __test__ = {} | |
|
19 | ||
|
18 | 20 |
|
|
19 | 21 | |
|
20 | 22 |
|
@@ -29,9 +31,7 b' try:' | |||
|
29 | 31 |
|
|
30 | 32 |
|
|
31 | 33 |
|
|
32 | except ImportError: | |
|
33 | import nose | |
|
34 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
34 | ||
|
35 | 35 | |
|
36 | 36 | def _raise_it(f): |
|
37 | 37 | try: |
@@ -15,7 +15,9 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #----------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | try: | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
19 | 21 |
|
|
20 | 22 |
|
|
21 | 23 |
|
@@ -27,9 +29,7 b' try:' | |||
|
27 | 29 |
|
|
28 | 30 |
|
|
29 | 31 |
|
|
30 | except ImportError: | |
|
31 | import nose | |
|
32 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
32 | ||
|
33 | 33 | |
|
34 | 34 | #----------------------------------------------------------------------------- |
|
35 | 35 | # Tests |
@@ -16,7 +16,9 b' __docformat__ = "restructuredtext en"' | |||
|
16 | 16 | # Imports |
|
17 | 17 | #------------------------------------------------------------------------------- |
|
18 | 18 | |
|
19 | try: | |
|
19 | # Tell nose to skip this module | |
|
20 | __test__ = {} | |
|
21 | ||
|
20 | 22 |
|
|
21 | 23 |
|
|
22 | 24 | |
@@ -24,9 +26,7 b' try:' | |||
|
24 | 26 |
|
|
25 | 27 |
|
|
26 | 28 |
|
|
27 | except ImportError: | |
|
28 | import nose | |
|
29 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
29 | ||
|
30 | 30 | |
|
31 | 31 | class Foo(object): |
|
32 | 32 |
@@ -15,7 +15,9 b' __docformat__ = "restructuredtext en"' | |||
|
15 | 15 | # Imports |
|
16 | 16 | #------------------------------------------------------------------------------- |
|
17 | 17 | |
|
18 | try: | |
|
18 | # Tell nose to skip this module | |
|
19 | __test__ = {} | |
|
20 | ||
|
19 | 21 |
|
|
20 | 22 | |
|
21 | 23 |
|
@@ -25,9 +27,7 b' try:' | |||
|
25 | 27 |
|
|
26 | 28 |
|
|
27 | 29 |
|
|
28 | except ImportError: | |
|
29 | import nose | |
|
30 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
30 | ||
|
31 | 31 | |
|
32 | 32 | #------------------------------------------------------------------------------- |
|
33 | 33 | # Tests |
@@ -14,7 +14,9 b' __docformat__ = "restructuredtext en"' | |||
|
14 | 14 | # Imports |
|
15 | 15 | #------------------------------------------------------------------------------- |
|
16 | 16 | |
|
17 | try: | |
|
17 | # Tell nose to skip this module | |
|
18 | __test__ = {} | |
|
19 | ||
|
18 | 20 |
|
|
19 | 21 | |
|
20 | 22 |
|
@@ -32,9 +34,6 b' try:' | |||
|
32 | 34 |
|
|
33 | 35 |
|
|
34 | 36 |
|
|
35 | except ImportError: | |
|
36 | import nose | |
|
37 | raise nose.SkipTest("This test requires zope.interface, Twisted and Foolscap") | |
|
38 | 37 | |
|
39 | 38 | |
|
40 | 39 | #------------------------------------------------------------------------------- |
@@ -12,6 +12,9 b'' | |||
|
12 | 12 | # Imports |
|
13 | 13 | #----------------------------------------------------------------------------- |
|
14 | 14 | |
|
15 | # Tell nose to skip this module | |
|
16 | __test__ = {} | |
|
17 | ||
|
15 | 18 | import tempfile |
|
16 | 19 | import os, sys |
|
17 | 20 |
|
1 | NO CONTENT: modified file |
@@ -309,7 +309,7 b' you want to unlock the door and enter your house. As with your house, you want' | |||
|
309 | 309 | to be able to create the key (or FURL file) once, and then simply use it at |
|
310 | 310 | any point in the future. |
|
311 | 311 | |
|
312 |
This is possible |
|
|
312 | This is possible, but before you do this, you **must** remove any old FURL | |
|
313 | 313 | files in the :file:`~/.ipython/security` directory. |
|
314 | 314 | |
|
315 | 315 | .. warning:: |
General Comments 0
You need to be logged in to leave comments.
Login now