Show More
@@ -539,6 +539,35 b' def test_run_tb():' | |||||
539 | del ip.user_ns['bar'] |
|
539 | del ip.user_ns['bar'] | |
540 | del ip.user_ns['foo'] |
|
540 | del ip.user_ns['foo'] | |
541 |
|
541 | |||
|
542 | ||||
|
543 | def test_multiprocessing_run(): | |||
|
544 | """Set we can run mutiprocesgin without messing up up main namespace | |||
|
545 | ||||
|
546 | Note that import `nose.tools as nt` mdify the value s | |||
|
547 | sys.module['__mp_main__'] so wee need to temporarily set it to None to test | |||
|
548 | the issue. | |||
|
549 | """ | |||
|
550 | with TemporaryDirectory() as td: | |||
|
551 | mpm = sys.modules.get('__mp_main__') | |||
|
552 | assert mpm is not None | |||
|
553 | sys.modules['__mp_main__'] = None | |||
|
554 | try: | |||
|
555 | path = pjoin(td, 'test.py') | |||
|
556 | with open(path, 'w') as f: | |||
|
557 | f.write("import multiprocessing\nprint('hoy')") | |||
|
558 | with capture_output() as io: | |||
|
559 | _ip.run_line_magic('run', path) | |||
|
560 | _ip.run_cell("i_m_undefined") | |||
|
561 | out = io.stdout | |||
|
562 | nt.assert_in("hoy", out) | |||
|
563 | nt.assert_not_in("AttributeError", out) | |||
|
564 | nt.assert_in("NameError", out) | |||
|
565 | nt.assert_equal(out.count("---->"), 1) | |||
|
566 | except: | |||
|
567 | raise | |||
|
568 | finally: | |||
|
569 | sys.modules['__mp_main__'] = mpm | |||
|
570 | ||||
542 | @dec.knownfailureif(sys.platform == 'win32', "writes to io.stdout aren't captured on Windows") |
|
571 | @dec.knownfailureif(sys.platform == 'win32', "writes to io.stdout aren't captured on Windows") | |
543 | def test_script_tb(): |
|
572 | def test_script_tb(): | |
544 | """Test traceback offset in `ipython script.py`""" |
|
573 | """Test traceback offset in `ipython script.py`""" |
General Comments 0
You need to be logged in to leave comments.
Login now