##// END OF EJS Templates
Add custom_control and custom_page_control variables to override the Qt widgets used by qtconsole...
Add custom_control and custom_page_control variables to override the Qt widgets used by qtconsole - This will let other project to easily provide its own widgets - Try to fix #1920

File last commit:

r7425:4aeb2e27
r7657:6173df69
Show More
test_cythonmagic.py
58 lines | 1.2 KiB | text/x-python | PythonLexer
Brian Granger
Adding simple tests for the Cython magics extension.
r7035 # -*- coding: utf-8 -*-
"""Tests for the Cython magics extension."""
import os
import nose.tools as nt
Fernando Perez
Skip external libs test on Windows, we can't seem to make it build there.
r7425 from IPython.testing import decorators as dec
Brian Granger
More code review changes:...
r7102 from IPython.utils import py3compat
Brian Granger
Adding simple tests for the Cython magics extension.
r7035
Brian Granger
More code review changes:...
r7102 code = py3compat.str_to_unicode("""def f(x):
Brian Granger
Adding simple tests for the Cython magics extension.
r7035 return 2*x
Brian Granger
More code review changes:...
r7102 """)
Brian Granger
Adding simple tests for the Cython magics extension.
r7035
try:
import Cython
except:
Brian Granger
Using better approach for skipping test if Cython no pres.
r7036 __test__ = False
Fernando Perez
Add test for external library linking.
r7420 ip = get_ipython()
Brian Granger
Using better approach for skipping test if Cython no pres.
r7036 def setup():
ip.extension_manager.load_extension('cythonmagic')
Fernando Perez
Add test for external library linking.
r7420
Brian Granger
Using better approach for skipping test if Cython no pres.
r7036 def test_cython_inline():
ip.ex('a=10; b=20')
result = ip.run_cell_magic('cython_inline','','return a+b')
nt.assert_equals(result, 30)
Fernando Perez
Add test for external library linking.
r7420
Brian Granger
Using better approach for skipping test if Cython no pres.
r7036 def test_cython_pyximport():
module_name = '_test_cython_pyximport'
ip.run_cell_magic('cython_pyximport', module_name, code)
ip.ex('g = f(10)')
nt.assert_equals(ip.user_ns['g'], 20.0)
try:
os.remove(module_name+'.pyx')
except OSError:
pass
Fernando Perez
Add test for external library linking.
r7420
Brian Granger
Using better approach for skipping test if Cython no pres.
r7036 def test_cython():
ip.run_cell_magic('cython', '', code)
ip.ex('g = f(10)')
Brian Granger
More code review changes:...
r7102 nt.assert_equals(ip.user_ns['g'], 20.0)
Brian Granger
Adding simple tests for the Cython magics extension.
r7035
Fernando Perez
Skip external libs test on Windows, we can't seem to make it build there.
r7425
@dec.skip_win32
Fernando Perez
Add test for external library linking.
r7420 def test_extlibs():
code = py3compat.str_to_unicode("""
from libc.math cimport sin
x = sin(0.0)
""")
ip.user_ns['x'] = 1
ip.run_cell_magic('cython', '-l m', code)
nt.assert_equals(ip.user_ns['x'], 0)