##// END OF EJS Templates
Use module level setup and teardown compatible both nose and pytest....
Use module level setup and teardown compatible both nose and pytest. Also rename some setup to test_XXX as they are test and not setups

File last commit:

r24499:7ad21738 merge
r25082:17589e2e
Show More
test_shellapp.py
60 lines | 2.2 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
Matthias Bussonnier
Swap base class instead of redefinign the tearDown method
r24395 class TestFileToRun(tt.TempFileMixin, unittest.TestCase):
Bradley M. Froehle
Add test for `__file__` behavior in `ipython <file>`
r8531 """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 Kluyver
Fix fallback prompt & improve info on test failure
r24167 commands=['"__file__" in globals()', 'print(123)', 'exit()'])
if 'False' not in out:
print("Subprocess stderr:")
print(err)
print('-----')
raise AssertionError("'False' not found in %r" % out)