cython
1PYTHON setup.py build_ext --inplace
2PYTHON test_error_pos.py
3
4######## setup.py ###########
5from distutils.core import setup
6from Cython.Build import cythonize
7
8setup(ext_modules=cythonize("error_pos.pyx"))
9
10######## error_pos.pyx ###########
11from os import *
12
13abcdefg(line)
14
15######## test_error_pos.py ###########
16import subprocess
17import sys
18
19cmd = [sys.executable, '-c', 'import error_pos']
20proc = subprocess.Popen(cmd, stderr=subprocess.PIPE)
21_, err = proc.communicate()
22# The error should contain the line number and the line text where the
23# undefined identifier is used.
24assert b'line 3, in init error_pos' in err and b'abcdefg(line)' in err, err
25