File tree Expand file tree Collapse file tree 3 files changed +20
-10
lines changed Expand file tree Collapse file tree 3 files changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -93,7 +93,6 @@ def _tempfile(reader, suffix=''):
93
93
try :
94
94
os .write (fd , reader ())
95
95
os .close (fd )
96
- del reader
97
96
yield Path (raw_path )
98
97
finally :
99
98
try :
@@ -109,11 +108,15 @@ def as_file(path):
109
108
Given a Traversable object, return that object as a
110
109
path on the local file system in a context manager.
111
110
"""
112
- reader = path .read_bytes
113
- with _tempfile (reader , suffix = path .name ) as local :
114
- # release the handle to the path and reader
115
- del reader
116
- del path
111
+ content = path .read_bytes ()
112
+ name = path .name
113
+
114
+ def reader ():
115
+ return content
116
+
117
+ del path .root
118
+ del path
119
+ with _tempfile (reader , suffix = name ) as local :
117
120
yield local
118
121
119
122
Original file line number Diff line number Diff line change @@ -96,11 +96,18 @@ def path(
96
96
return (
97
97
_path_from_reader (reader , resource )
98
98
if reader else
99
- _common .as_file (
100
- _common .files (package ).joinpath (_common .normalize_path (resource )))
99
+ _fallback_path (package , resource )
101
100
)
102
101
103
102
103
+ @contextmanager
104
+ def _fallback_path (package , resource ):
105
+ files = _common .files (package ).joinpath (_common .normalize_path (resource ))
106
+ with _common .as_file (files ) as res :
107
+ del files
108
+ yield res
109
+
110
+
104
111
@contextmanager
105
112
def _path_from_reader (reader , resource ):
106
113
norm_resource = _common .normalize_path (resource )
Original file line number Diff line number Diff line change @@ -6,8 +6,8 @@ skip_missing_interpreters = True
6
6
7
7
[testenv]
8
8
commands =
9
- !cov,!diffcov: python -m unittest discover
10
- cov,diffcov: python -m coverage run {[coverage]rc} -m unittest discover { posargs}
9
+ !cov,!diffcov: python -m unittest {posargs: discover}
10
+ cov,diffcov: python -m coverage run {[coverage]rc} -m unittest {posargs: posargs}
11
11
cov,diffcov: python -m coverage combine {[coverage]rc}
12
12
cov: python -m coverage html {[coverage]rc}
13
13
cov: python -m coverage xml {[coverage]rc}
You can’t perform that action at this time.
0 commit comments