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
40ddd709
Commit
40ddd709
authored
5 years ago
by
Stefan Behnel
Committed by
GitHub
5 years ago
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2784 from wjsi/master
Fix inconsistency between traced files and reported files
parents
99d27305
bd44de56
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
75 additions
and
2 deletions
+75
-2
Cython/Coverage.py
Cython/Coverage.py
+4
-2
tests/run/coverage_installed_pkg.srctree
tests/run/coverage_installed_pkg.srctree
+71
-0
No files found.
Cython/Coverage.py
View file @
40ddd709
...
@@ -74,7 +74,7 @@ class Plugin(CoveragePlugin):
...
@@ -74,7 +74,7 @@ class Plugin(CoveragePlugin):
if
c_file
is
None
:
if
c_file
is
None
:
c_file
,
py_file
=
self
.
_find_source_files
(
filename
)
c_file
,
py_file
=
self
.
_find_source_files
(
filename
)
if
not
c_file
:
if
not
c_file
:
return
None
return
None
# unknown file
# parse all source file paths and lines from C file
# parse all source file paths and lines from C file
# to learn about all relevant source files right away (pyx/pxi/pxd)
# to learn about all relevant source files right away (pyx/pxi/pxd)
...
@@ -82,7 +82,9 @@ class Plugin(CoveragePlugin):
...
@@ -82,7 +82,9 @@ class Plugin(CoveragePlugin):
# is not from the main .pyx file but a file with a different
# is not from the main .pyx file but a file with a different
# name than the .c file (which prevents us from finding the
# name than the .c file (which prevents us from finding the
# .c file)
# .c file)
self
.
_parse_lines
(
c_file
,
filename
)
_
,
code
=
self
.
_parse_lines
(
c_file
,
filename
)
if
code
is
None
:
return
None
# no source found
if
self
.
_file_path_map
is
None
:
if
self
.
_file_path_map
is
None
:
self
.
_file_path_map
=
{}
self
.
_file_path_map
=
{}
...
...
This diff is collapsed.
Click to expand it.
tests/run/coverage_installed_pkg.srctree
0 → 100644
View file @
40ddd709
# mode: run
# tag: coverage,trace
"""
PYTHON setup.py build_ext -i
PYTHON -c "import shutil; shutil.move('ext_src/ext_pkg', 'ext_pkg')"
PYTHON -m coverage run coverage_test.py
PYTHON -m coverage report
"""
######## setup.py ########
from distutils.core import setup, Extension
from Cython.Build import cythonize
setup(ext_modules = cythonize([
'pkg/*.pyx',
]))
setup(
name='ext_pkg',
package_dir={'': 'ext_src'},
ext_modules = cythonize([
Extension('ext_pkg._mul', ['ext_src/ext_pkg/mul.py'])
]),
)
######## .coveragerc ########
[run]
plugins = Cython.Coverage
######## pkg/__init__.py ########
from .test_ext_import import test_add
######## pkg/test_ext_import.pyx ########
# cython: linetrace=True
# distutils: define_macros=CYTHON_TRACE=1
import ext_pkg
cpdef test_add(int a, int b):
return a + ext_pkg.test_mul(b, 2)
######## ext_src/ext_pkg/__init__.py ########
from .mul import test_mul
######## ext_src/ext_pkg/mul.py ########
from __future__ import absolute_import
def test_mul(a, b):
return a * b
try:
from ._mul import *
except ImportError:
pass
######## coverage_test.py ########
from pkg import test_add
assert 5 == test_add(1, 2)
This diff is collapsed.
Click to expand it.
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