##// END OF EJS Templates
Avoid crashing if interrupt the kernel during completion....
Avoid crashing if interrupt the kernel during completion. This is likely due to completion taking too long, so just return what we have so far, and ignore the interrupt. closes #10733

File last commit:

r22837:d78f6ae7
r23907:1ad6a295
Show More
test_shellapp.py
56 lines | 2.1 KiB | text/x-python | PythonLexer
Bradley M. Froehle
Add test for `__file__` behavior in `ipython <file>`
r8531 # -*- coding: utf-8 -*-
"""Tests for shellapp module.
Authors
-------
* Bradley Froehle
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2012 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import unittest
from IPython.testing import decorators as dec
from IPython.testing import tools as tt
Thomas Ballinger
save future compile directives from ipython -i module.py
r18526
sqlite_err_maybe = dec.module_not_available('sqlite3')
SQLITE_NOT_AVAILABLE_ERROR = ('WARNING: IPython History requires SQLite,'
' your history will not be saved\n')
Bradley M. Froehle
Add test for `__file__` behavior in `ipython <file>`
r8531
class TestFileToRun(unittest.TestCase, tt.TempFileMixin):
"""Test the behavior of the file_to_run parameter."""
def test_py_script_file_attribute(self):
"""Test that `__file__` is set when running `ipython file.py`"""
src = "print(__file__)\n"
self.mktmp(src)
Thomas Ballinger
save future compile directives from ipython -i module.py
r18526 err = SQLITE_NOT_AVAILABLE_ERROR if sqlite_err_maybe else None
Bradley M. Froehle
Add test for `__file__` behavior in `ipython <file>`
r8531 tt.ipexec_validate(self.fname, self.fname, err)
def test_ipy_script_file_attribute(self):
"""Test that `__file__` is set when running `ipython file.ipy`"""
src = "print(__file__)\n"
self.mktmp(src, ext='.ipy')
Thomas Ballinger
save future compile directives from ipython -i module.py
r18526 err = SQLITE_NOT_AVAILABLE_ERROR if sqlite_err_maybe else None
Bradley M. Froehle
Add test for `__file__` behavior in `ipython <file>`
r8531 tt.ipexec_validate(self.fname, self.fname, err)
Thomas Kluyver
Skip some failing tests on Windows...
r18682 # The commands option to ipexec_validate doesn't work on Windows, and it
# doesn't seem worth fixing
@dec.skip_win32
Thomas Ballinger
save future compile directives from ipython -i module.py
r18526 def test_py_script_file_attribute_interactively(self):
"""Test that `__file__` is not set after `ipython -i file.py`"""
src = "True\n"
self.mktmp(src)
Thomas Kluyver
Fix shellapp tests
r22427 out, err = tt.ipexec(self.fname, options=['-i'],
Thomas Ballinger
save future compile directives from ipython -i module.py
r18526 commands=['"__file__" in globals()', 'exit()'])
Thomas Kluyver
Fix shellapp tests
r22427 self.assertIn("False", out)