##// END OF EJS Templates
back to dev
back to dev

File last commit:

r27081:5e3d218f
r28137:3339fad9
Show More
test_shellapp.py
56 lines | 1.8 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
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)
Terry Davis
Assume sqlite3 always available in testing.
r25524 err = 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')
Terry Davis
Assume sqlite3 always available in testing.
r25524 err = 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)
Nikita Kniazev
darker
r27081 out, err = tt.ipexec(
self.fname,
options=["-i"],
commands=['"__file__" in globals()', "print(123)", "exit()"],
)
Nikita Kniazev
test_py_script_file_attribute_interactively: Coverage fix
r27080 assert "False" in out, f"Subprocess stderr:\n{err}\n-----"