Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Gwenaël Samain
cython
Commits
940e168b
Commit
940e168b
authored
Dec 13, 2010
by
Robert Bradshaw
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
507d8b69
c6c13403
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
123 additions
and
123 deletions
+123
-123
Cython/Includes/Deprecated/stl.pxd
Cython/Includes/Deprecated/stl.pxd
+91
-91
cython.py
cython.py
+1
-1
runtests.py
runtests.py
+22
-22
setup.py
setup.py
+1
-1
tests/compile/food.h
tests/compile/food.h
+8
-8
No files found.
Cython/Includes/Deprecated/stl.pxd
View file @
940e168b
cdef
extern
from
"<vector>"
namespace
std
:
cdef
extern
from
"<vector>"
namespace
std
:
cdef
cppclass
vector
[
TYPE
]:
cdef
cppclass
vector
[
TYPE
]:
#constructors
#constructors
__init__
()
__init__
()
__init__
(
vector
&
)
__init__
(
vector
&
)
__init__
(
int
)
__init__
(
int
)
__init__
(
int
,
TYPE
&
)
__init__
(
int
,
TYPE
&
)
__init__
(
iterator
,
iterator
)
__init__
(
iterator
,
iterator
)
#operators
#operators
TYPE
&
__getitem__
(
int
)
TYPE
&
__getitem__
(
int
)
TYPE
&
__setitem__
(
int
,
TYPE
&
)
TYPE
&
__setitem__
(
int
,
TYPE
&
)
vector
__new__
(
vector
&
)
vector
__new__
(
vector
&
)
bool
__eq__
(
vector
&
,
vector
&
)
bool
__eq__
(
vector
&
,
vector
&
)
bool
__ne__
(
vector
&
,
vector
&
)
bool
__ne__
(
vector
&
,
vector
&
)
bool
__lt__
(
vector
&
,
vector
&
)
bool
__lt__
(
vector
&
,
vector
&
)
bool
__gt__
(
vector
&
,
vector
&
)
bool
__gt__
(
vector
&
,
vector
&
)
bool
__le__
(
vector
&
,
vector
&
)
bool
__le__
(
vector
&
,
vector
&
)
bool
__ge__
(
vector
&
,
vector
&
)
bool
__ge__
(
vector
&
,
vector
&
)
#others
#others
void
assign
(
int
,
TYPE
)
void
assign
(
int
,
TYPE
)
#void assign(iterator, iterator)
#void assign(iterator, iterator)
TYPE
&
at
(
int
)
TYPE
&
at
(
int
)
TYPE
&
back
()
TYPE
&
back
()
iterator
begin
()
iterator
begin
()
int
capacity
()
int
capacity
()
void
clear
()
void
clear
()
bool
empty
()
bool
empty
()
iterator
end
()
iterator
end
()
iterator
erase
(
iterator
)
iterator
erase
(
iterator
)
iterator
erase
(
iterator
,
iterator
)
iterator
erase
(
iterator
,
iterator
)
TYPE
&
front
()
TYPE
&
front
()
iterator
insert
(
iterator
,
TYPE
&
)
iterator
insert
(
iterator
,
TYPE
&
)
void
insert
(
iterator
,
int
,
TYPE
&
)
void
insert
(
iterator
,
int
,
TYPE
&
)
void
insert
(
iterator
,
iterator
)
void
insert
(
iterator
,
iterator
)
int
max_size
()
int
max_size
()
void
pop_back
()
void
pop_back
()
void
push_back
(
TYPE
&
)
void
push_back
(
TYPE
&
)
iterator
rbegin
()
iterator
rbegin
()
iterator
rend
()
iterator
rend
()
void
reserve
(
int
)
void
reserve
(
int
)
void
resize
(
int
)
void
resize
(
int
)
void
resize
(
int
,
TYPE
&
)
#void resize(size_type num, const TYPE& = TYPE())
void
resize
(
int
,
TYPE
&
)
#void resize(size_type num, const TYPE& = TYPE())
int
size
()
int
size
()
void
swap
(
container
&
)
void
swap
(
container
&
)
cdef
extern
from
"<deque>"
namespace
std
:
cdef
extern
from
"<deque>"
namespace
std
:
cdef
cppclass
deque
[
TYPE
]:
cdef
cppclass
deque
[
TYPE
]:
#constructors
#constructors
__init__
()
__init__
()
__init__
(
deque
&
)
__init__
(
deque
&
)
__init__
(
int
)
__init__
(
int
)
__init__
(
int
,
TYPE
&
)
__init__
(
int
,
TYPE
&
)
__init__
(
iterator
,
iterator
)
__init__
(
iterator
,
iterator
)
#operators
#operators
TYPE
&
operator
[](
size_type
index
);
TYPE
&
operator
[](
size_type
index
);
const
TYPE
&
operator
[](
size_type
index
)
const
;
const
TYPE
&
operator
[](
size_type
index
)
const
;
deque
__new__
(
deque
&
);
deque
__new__
(
deque
&
);
bool
__eq__
(
deque
&
,
deque
&
);
bool
__eq__
(
deque
&
,
deque
&
);
bool
__ne__
(
deque
&
,
deque
&
);
bool
__ne__
(
deque
&
,
deque
&
);
bool
__lt__
(
deque
&
,
deque
&
);
bool
__lt__
(
deque
&
,
deque
&
);
bool
__gt__
(
deque
&
,
deque
&
);
bool
__gt__
(
deque
&
,
deque
&
);
bool
__le__
(
deque
&
,
deque
&
);
bool
__le__
(
deque
&
,
deque
&
);
bool
__ge__
(
deque
&
,
deque
&
);
bool
__ge__
(
deque
&
,
deque
&
);
#others
#others
void
assign
(
int
,
TYPE
&
)
void
assign
(
int
,
TYPE
&
)
void
assign
(
iterator
,
iterator
)
void
assign
(
iterator
,
iterator
)
TYPE
&
at
(
int
)
TYPE
&
at
(
int
)
TYPE
&
back
()
TYPE
&
back
()
iterator
begin
()
iterator
begin
()
void
clear
()
void
clear
()
bool
empty
()
bool
empty
()
iterator
end
()
iterator
end
()
iterator
erase
(
iterator
)
iterator
erase
(
iterator
)
iterator
erase
(
iterator
,
iterator
)
iterator
erase
(
iterator
,
iterator
)
TYPE
&
front
()
TYPE
&
front
()
iterator
insert
(
iterator
,
TYPE
&
)
iterator
insert
(
iterator
,
TYPE
&
)
void
insert
(
iterator
,
int
,
TYPE
&
)
void
insert
(
iterator
,
int
,
TYPE
&
)
void
insert
(
iterator
,
iterator
,
iterator
)
void
insert
(
iterator
,
iterator
,
iterator
)
int
max_size
()
int
max_size
()
void
pop_back
()
void
pop_back
()
void
pop_front
()
void
pop_front
()
void
push_back
(
TYPE
&
)
void
push_back
(
TYPE
&
)
void
push_front
(
TYPE
&
)
void
push_front
(
TYPE
&
)
iterator
rbegin
()
iterator
rbegin
()
iterator
rend
()
iterator
rend
()
void
resize
(
int
)
void
resize
(
int
)
void
resize
(
int
,
TYPE
&
)
void
resize
(
int
,
TYPE
&
)
int
size
()
int
size
()
void
swap
(
container
&
)
void
swap
(
container
&
)
cython.py
View file @
940e168b
...
@@ -8,5 +8,5 @@ if __name__ == '__main__':
...
@@ -8,5 +8,5 @@ if __name__ == '__main__':
main
(
command_line
=
1
)
main
(
command_line
=
1
)
else
:
else
:
# Void cython.* directives.
# Void cython.* directives.
from
Cython.Shadow
import
*
from
Cython.Shadow
import
*
runtests.py
View file @
940e168b
...
@@ -85,7 +85,7 @@ class build_ext(_build_ext):
...
@@ -85,7 +85,7 @@ class build_ext(_build_ext):
def build_extension(self, ext):
def build_extension(self, ext):
if ext.language == '
c
++
':
if ext.language == '
c
++
':
try:
try:
try: # Py2.7+ & Py3.2+
try: # Py2.7+ & Py3.2+
compiler_obj = self.compiler_obj
compiler_obj = self.compiler_obj
except AttributeError:
except AttributeError:
compiler_obj = self.compiler
compiler_obj = self.compiler
...
@@ -351,17 +351,17 @@ class CythonCompileTestCase(unittest.TestCase):
...
@@ -351,17 +351,17 @@ class CythonCompileTestCase(unittest.TestCase):
source
=
self
.
find_module_source_file
(
source
=
self
.
find_module_source_file
(
os
.
path
.
join
(
test_directory
,
module
+
'.pyx'
))
os
.
path
.
join
(
test_directory
,
module
+
'.pyx'
))
target
=
os
.
path
.
join
(
targetdir
,
self
.
build_target_filename
(
module
))
target
=
os
.
path
.
join
(
targetdir
,
self
.
build_target_filename
(
module
))
if
extra_compile_options
is
None
:
if
extra_compile_options
is
None
:
extra_compile_options
=
{}
extra_compile_options
=
{}
try
:
try
:
CompilationOptions
CompilationOptions
except
NameError
:
except
NameError
:
from
Cython.Compiler.Main
import
CompilationOptions
from
Cython.Compiler.Main
import
CompilationOptions
from
Cython.Compiler.Main
import
compile
as
cython_compile
from
Cython.Compiler.Main
import
compile
as
cython_compile
from
Cython.Compiler.Main
import
default_options
from
Cython.Compiler.Main
import
default_options
options
=
CompilationOptions
(
options
=
CompilationOptions
(
default_options
,
default_options
,
include_path
=
include_dirs
,
include_path
=
include_dirs
,
...
@@ -377,7 +377,7 @@ class CythonCompileTestCase(unittest.TestCase):
...
@@ -377,7 +377,7 @@ class CythonCompileTestCase(unittest.TestCase):
cython_compile
(
source
,
options
=
options
,
cython_compile
(
source
,
options
=
options
,
full_module_name
=
module
)
full_module_name
=
module
)
def
run_distutils
(
self
,
test_directory
,
module
,
workdir
,
incdir
,
def
run_distutils
(
self
,
test_directory
,
module
,
workdir
,
incdir
,
extra_extension_args
=
None
):
extra_extension_args
=
None
):
cwd
=
os
.
getcwd
()
cwd
=
os
.
getcwd
()
os
.
chdir
(
workdir
)
os
.
chdir
(
workdir
)
...
@@ -392,10 +392,10 @@ class CythonCompileTestCase(unittest.TestCase):
...
@@ -392,10 +392,10 @@ class CythonCompileTestCase(unittest.TestCase):
if
match
(
module
):
if
match
(
module
):
ext_include_dirs
+=
get_additional_include_dirs
()
ext_include_dirs
+=
get_additional_include_dirs
()
self
.
copy_related_files
(
test_directory
,
workdir
,
module
)
self
.
copy_related_files
(
test_directory
,
workdir
,
module
)
if
extra_extension_args
is
None
:
if
extra_extension_args
is
None
:
extra_extension_args
=
{}
extra_extension_args
=
{}
extension
=
Extension
(
extension
=
Extension
(
module
,
module
,
sources
=
self
.
find_source_files
(
workdir
,
module
),
sources
=
self
.
find_source_files
(
workdir
,
module
),
...
@@ -659,7 +659,7 @@ def collect_unittests(path, module_prefix, suite, selectors):
...
@@ -659,7 +659,7 @@ def collect_unittests(path, module_prefix, suite, selectors):
return
dirname
==
"Tests"
return
dirname
==
"Tests"
loader
=
unittest
.
TestLoader
()
loader
=
unittest
.
TestLoader
()
if
include_debugger
:
if
include_debugger
:
skipped_dirs
=
[]
skipped_dirs
=
[]
else
:
else
:
...
@@ -698,7 +698,7 @@ def collect_doctests(path, module_prefix, suite, selectors):
...
@@ -698,7 +698,7 @@ def collect_doctests(path, module_prefix, suite, selectors):
return
dirname
not
in
(
"Mac"
,
"Distutils"
,
"Plex"
)
return
dirname
not
in
(
"Mac"
,
"Distutils"
,
"Plex"
)
def
file_matches
(
filename
):
def
file_matches
(
filename
):
filename
,
ext
=
os
.
path
.
splitext
(
filename
)
filename
,
ext
=
os
.
path
.
splitext
(
filename
)
blacklist
=
[
'libcython'
,
'libpython'
,
'test_libcython_in_gdb'
,
blacklist
=
[
'libcython'
,
'libpython'
,
'test_libcython_in_gdb'
,
'TestLibCython'
]
'TestLibCython'
]
return
(
ext
==
'.py'
and
not
return
(
ext
==
'.py'
and
not
'~'
in
filename
and
not
'~'
in
filename
and
not
...
@@ -735,7 +735,7 @@ class EndToEndTest(unittest.TestCase):
...
@@ -735,7 +735,7 @@ class EndToEndTest(unittest.TestCase):
directory structure and its header gives a list of commands to run.
directory structure and its header gives a list of commands to run.
"""
"""
cython_root
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
cython_root
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
def
__init__
(
self
,
treefile
,
workdir
,
cleanup_workdir
=
True
):
def
__init__
(
self
,
treefile
,
workdir
,
cleanup_workdir
=
True
):
self
.
treefile
=
treefile
self
.
treefile
=
treefile
self
.
workdir
=
os
.
path
.
join
(
workdir
,
os
.
path
.
splitext
(
treefile
)[
0
])
self
.
workdir
=
os
.
path
.
join
(
workdir
,
os
.
path
.
splitext
(
treefile
)[
0
])
...
@@ -766,7 +766,7 @@ class EndToEndTest(unittest.TestCase):
...
@@ -766,7 +766,7 @@ class EndToEndTest(unittest.TestCase):
if
self
.
cleanup_workdir
:
if
self
.
cleanup_workdir
:
shutil
.
rmtree
(
self
.
workdir
)
shutil
.
rmtree
(
self
.
workdir
)
os
.
chdir
(
self
.
old_dir
)
os
.
chdir
(
self
.
old_dir
)
def
runTest
(
self
):
def
runTest
(
self
):
commands
=
(
self
.
commands
commands
=
(
self
.
commands
.
replace
(
"CYTHON"
,
"PYTHON %s"
%
os
.
path
.
join
(
self
.
cython_root
,
'cython.py'
))
.
replace
(
"CYTHON"
,
"PYTHON %s"
%
os
.
path
.
join
(
self
.
cython_root
,
'cython.py'
))
...
@@ -801,15 +801,15 @@ class EndToEndTest(unittest.TestCase):
...
@@ -801,15 +801,15 @@ class EndToEndTest(unittest.TestCase):
# TODO: Windows support.
# TODO: Windows support.
class
EmbedTest
(
unittest
.
TestCase
):
class
EmbedTest
(
unittest
.
TestCase
):
working_dir
=
"Demos/embed"
working_dir
=
"Demos/embed"
def
setUp
(
self
):
def
setUp
(
self
):
self
.
old_dir
=
os
.
getcwd
()
self
.
old_dir
=
os
.
getcwd
()
os
.
chdir
(
self
.
working_dir
)
os
.
chdir
(
self
.
working_dir
)
os
.
system
(
os
.
system
(
"make PYTHON='%s' clean > /dev/null"
%
sys
.
executable
)
"make PYTHON='%s' clean > /dev/null"
%
sys
.
executable
)
def
tearDown
(
self
):
def
tearDown
(
self
):
try
:
try
:
os
.
system
(
os
.
system
(
...
@@ -817,7 +817,7 @@ class EmbedTest(unittest.TestCase):
...
@@ -817,7 +817,7 @@ class EmbedTest(unittest.TestCase):
except
:
except
:
pass
pass
os
.
chdir
(
self
.
old_dir
)
os
.
chdir
(
self
.
old_dir
)
def
test_embed
(
self
):
def
test_embed
(
self
):
from
distutils
import
sysconfig
from
distutils
import
sysconfig
libname
=
sysconfig
.
get_config_var
(
'LIBRARY'
)
libname
=
sysconfig
.
get_config_var
(
'LIBRARY'
)
...
@@ -881,7 +881,7 @@ class FileListExcluder:
...
@@ -881,7 +881,7 @@ class FileListExcluder:
self
.
excludes
[
line
.
split
()[
0
]]
=
True
self
.
excludes
[
line
.
split
()[
0
]]
=
True
finally
:
finally
:
f
.
close
()
f
.
close
()
def
__call__
(
self
,
testname
):
def
__call__
(
self
,
testname
):
return
testname
in
self
.
excludes
or
testname
.
split
(
'.'
)[
-
1
]
in
self
.
excludes
return
testname
in
self
.
excludes
or
testname
.
split
(
'.'
)[
-
1
]
in
self
.
excludes
...
@@ -965,7 +965,7 @@ def main():
...
@@ -965,7 +965,7 @@ def main():
help
=
"do not run the file based tests"
)
help
=
"do not run the file based tests"
)
parser
.
add_option
(
"--no-pyregr"
,
dest
=
"pyregr"
,
parser
.
add_option
(
"--no-pyregr"
,
dest
=
"pyregr"
,
action
=
"store_false"
,
default
=
True
,
action
=
"store_false"
,
default
=
True
,
help
=
"do not run the regression tests of CPython in tests/pyregr/"
)
help
=
"do not run the regression tests of CPython in tests/pyregr/"
)
parser
.
add_option
(
"--cython-only"
,
dest
=
"cython_only"
,
parser
.
add_option
(
"--cython-only"
,
dest
=
"cython_only"
,
action
=
"store_true"
,
default
=
False
,
action
=
"store_true"
,
default
=
False
,
help
=
"only compile pyx to c, do not run C compiler or run the tests"
)
help
=
"only compile pyx to c, do not run C compiler or run the tests"
)
...
@@ -1115,16 +1115,16 @@ def main():
...
@@ -1115,16 +1115,16 @@ def main():
# Chech which external modules are not present and exclude tests
# Chech which external modules are not present and exclude tests
# which depends on them (by prefix)
# which depends on them (by prefix)
missing_dep_excluder
=
MissingDependencyExcluder
(
EXT_DEP_MODULES
)
missing_dep_excluder
=
MissingDependencyExcluder
(
EXT_DEP_MODULES
)
version_dep_excluder
=
VersionDependencyExcluder
(
VER_DEP_MODULES
)
version_dep_excluder
=
VersionDependencyExcluder
(
VER_DEP_MODULES
)
exclude_selectors
=
[
missing_dep_excluder
,
version_dep_excluder
]
# want to pring msg at exit
exclude_selectors
=
[
missing_dep_excluder
,
version_dep_excluder
]
# want to pring msg at exit
if
options
.
exclude
:
if
options
.
exclude
:
exclude_selectors
+=
[
re
.
compile
(
r
,
re
.
I
|
re
.
U
).
search
for
r
in
options
.
exclude
]
exclude_selectors
+=
[
re
.
compile
(
r
,
re
.
I
|
re
.
U
).
search
for
r
in
options
.
exclude
]
if
not
test_bugs
:
if
not
test_bugs
:
exclude_selectors
+=
[
FileListExcluder
(
"tests/bugs.txt"
)
]
exclude_selectors
+=
[
FileListExcluder
(
"tests/bugs.txt"
)
]
if
sys
.
platform
in
[
'win32'
,
'cygwin'
]
and
sys
.
version_info
<
(
2
,
6
):
if
sys
.
platform
in
[
'win32'
,
'cygwin'
]
and
sys
.
version_info
<
(
2
,
6
):
exclude_selectors
+=
[
lambda
x
:
x
==
"run.specialfloat"
]
exclude_selectors
+=
[
lambda
x
:
x
==
"run.specialfloat"
]
...
@@ -1175,7 +1175,7 @@ def main():
...
@@ -1175,7 +1175,7 @@ def main():
ignored_modules
=
(
'Options'
,
'Version'
,
'DebugFlags'
,
'CmdLine'
)
ignored_modules
=
(
'Options'
,
'Version'
,
'DebugFlags'
,
'CmdLine'
)
modules
=
[
module
for
name
,
module
in
sys
.
modules
.
items
()
modules
=
[
module
for
name
,
module
in
sys
.
modules
.
items
()
if
module
is
not
None
and
if
module
is
not
None
and
name
.
startswith
(
'Cython.Compiler.'
)
and
name
.
startswith
(
'Cython.Compiler.'
)
and
name
[
len
(
'Cython.Compiler.'
):]
not
in
ignored_modules
]
name
[
len
(
'Cython.Compiler.'
):]
not
in
ignored_modules
]
if
options
.
coverage
:
if
options
.
coverage
:
coverage
.
report
(
modules
,
show_missing
=
0
)
coverage
.
report
(
modules
,
show_missing
=
0
)
...
...
setup.py
View file @
940e168b
...
@@ -66,7 +66,7 @@ else:
...
@@ -66,7 +66,7 @@ else:
'Cython'
:
[
p
[
7
:]
for
p
in
pxd_include_patterns
],
'Cython'
:
[
p
[
7
:]
for
p
in
pxd_include_patterns
],
}
}
# This dict is used for passing extra arguments that are setuptools
# This dict is used for passing extra arguments that are setuptools
# specific to setup
# specific to setup
setuptools_extra_args
=
{}
setuptools_extra_args
=
{}
...
...
tests/compile/food.h
View file @
940e168b
struct
Tomato
{
struct
Tomato
{
PyObject_HEAD
PyObject_HEAD
};
};
struct
Bicycle
{
struct
Bicycle
{
PyObject_HEAD
PyObject_HEAD
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment