forked from VimPlug/jedi
Write the tests for init extension modules (#472).
This commit is contained in:
BIN
test/test_evaluate/init_extension_module/__init__.cpython-34m.so
Executable file
BIN
test/test_evaluate/init_extension_module/__init__.cpython-34m.so
Executable file
Binary file not shown.
15
test/test_evaluate/init_extension_module/module.c
Normal file
15
test/test_evaluate/init_extension_module/module.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include "Python.h"
|
||||||
|
|
||||||
|
static struct PyModuleDef module = {
|
||||||
|
PyModuleDef_HEAD_INIT,
|
||||||
|
"init_extension_module",
|
||||||
|
NULL,
|
||||||
|
-1,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
PyMODINIT_FUNC PyInit_init_extension_module(void){
|
||||||
|
PyObject *m = PyModule_Create(&module);
|
||||||
|
PyModule_AddObject(m, "foo", Py_None);
|
||||||
|
return m;
|
||||||
|
}
|
||||||
10
test/test_evaluate/init_extension_module/setup.py
Normal file
10
test/test_evaluate/init_extension_module/setup.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
from distutils.core import setup, Extension
|
||||||
|
|
||||||
|
setup(name='init_extension_module',
|
||||||
|
version='0.0',
|
||||||
|
description='',
|
||||||
|
ext_modules=[
|
||||||
|
Extension('init_extension_module.__init__',
|
||||||
|
sources=['module.c'])
|
||||||
|
]
|
||||||
|
)
|
||||||
@@ -5,6 +5,7 @@ import os
|
|||||||
|
|
||||||
import jedi
|
import jedi
|
||||||
from ..helpers import cwd_at
|
from ..helpers import cwd_at
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
def test_completions():
|
def test_completions():
|
||||||
@@ -32,6 +33,8 @@ def test_call_signatures_stdlib():
|
|||||||
assert len(sigs[0].params) == 1
|
assert len(sigs[0].params) == 1
|
||||||
|
|
||||||
|
|
||||||
|
# Check only on linux 64 bit platform and Python3.4.
|
||||||
|
@pytest.mark.skipif('sys.platform != "linux" or sys.maxsize <= 2**32 or sys.version_info[:2] != (3, 4)')
|
||||||
@cwd_at('test/test_evaluate')
|
@cwd_at('test/test_evaluate')
|
||||||
def test_init_extension_module():
|
def test_init_extension_module():
|
||||||
"""
|
"""
|
||||||
@@ -39,6 +42,13 @@ def test_init_extension_module():
|
|||||||
that.
|
that.
|
||||||
|
|
||||||
Originally coming from #472.
|
Originally coming from #472.
|
||||||
|
|
||||||
|
This test was built by the module.c and setup.py combination you can find
|
||||||
|
in the init_extension_module folder. You can easily build the
|
||||||
|
`__init__.cpython-34m.so` by compiling it (create a virtualenv and run
|
||||||
|
`setup.py install`.
|
||||||
|
|
||||||
|
This is also why this test only runs on certain systems (and Python 3.4).
|
||||||
"""
|
"""
|
||||||
s = jedi.Script('import init_extension_module as i\ni.', path='not_existing.py')
|
s = jedi.Script('import init_extension_module as i\ni.', path='not_existing.py')
|
||||||
assert 'foo' in [c.name for c in s.completions()]
|
assert 'foo' in [c.name for c in s.completions()]
|
||||||
|
|||||||
Reference in New Issue
Block a user