@@ -21,9 +21,9 @@ def setup_class(self):
2121 self .lib_m = 'msvcrt'
2222
2323 def teardown_class (self ):
24- if udir .isdir ():
25- udir . remove ( ignore_errors = True )
26- udir .ensure ( dir = 1 )
24+ if udir .is_dir ():
25+ shutil . rmtree ( udir )
26+ udir .mkdir ( )
2727
2828 def test_locate_engine_class (self ):
2929 cls = _locate_engine_class (FFI (), self .generic )
@@ -55,12 +55,11 @@ def test_write_source_explicit_filename(self):
5555 csrc = '/*hi there %s!*/\n #include <math.h>\n ' % self
5656 v = Verifier (ffi , csrc , force_generic_engine = self .generic ,
5757 libraries = [self .lib_m ])
58- v .sourcefilename = filename = str (udir .join ('write_source.c' ))
58+ source_file = udir / 'write_source.c'
59+ v .sourcefilename = str (source_file )
5960 v .write_source ()
60- assert filename == v .sourcefilename
61- with open (filename , 'r' ) as f :
62- data = f .read ()
63- assert csrc in data
61+ assert str (source_file ) == v .sourcefilename
62+ assert csrc in source_file .read_text ()
6463
6564 def test_write_source_to_file_obj (self ):
6665 ffi = FFI ()
@@ -95,9 +94,10 @@ def test_compile_module_explicit_filename(self):
9594 v = Verifier (ffi , csrc , force_generic_engine = self .generic ,
9695 libraries = [self .lib_m ])
9796 basename = self .__class__ .__name__ [:10 ] + '_test_compile_module'
98- v .modulefilename = filename = str (udir .join (basename + '.so' ))
97+ module_file = udir / (basename + '.so' )
98+ v .modulefilename = str (module_file )
9999 v .compile_module ()
100- assert filename == v .modulefilename
100+ assert str ( module_file ) == v .modulefilename
101101 assert v .get_module_name () == basename
102102 if v .generates_python_module ():
103103 mod = load_dynamic (v .get_module_name (), v .modulefilename )
@@ -136,7 +136,7 @@ def test_verifier_args(self):
136136 ffi = FFI ()
137137 ffi .cdef ("double sin(double x);" )
138138 csrc = '/*hi there %s!4*/#include "test_verifier_args.h"\n ' % self
139- udir . join ( 'test_verifier_args.h' ).write ('#include <math.h>\n ' )
139+ ( udir / 'test_verifier_args.h' ).write_text ('#include <math.h>\n ' )
140140 v = Verifier (ffi , csrc , include_dirs = [str (udir )],
141141 force_generic_engine = self .generic ,
142142 libraries = [self .lib_m ])
@@ -189,21 +189,21 @@ def test_extension_forces_write_source(self):
189189 def test_extension_object_extra_sources (self ):
190190 ffi = FFI ()
191191 ffi .cdef ("double test1eoes(double x);" )
192- extra_source = str ( udir . join ( 'extension_extra_sources.c' ))
193- with open ( extra_source , 'w' ) as f :
194- f . write ( 'double test1eoes(double x) { return x * 6.0; }\n ' )
192+ extra_source = udir / 'extension_extra_sources.c'
193+ extra_source . write_text (
194+ 'double test1eoes(double x) { return x * 6.0; }\n ' )
195195 csrc = '/*9%s*/' % self + '''
196196 double test1eoes(double x); /* or #include "extra_sources.h" */
197197 '''
198- lib = ffi .verify (csrc , sources = [extra_source ],
198+ lib = ffi .verify (csrc , sources = [str ( extra_source ) ],
199199 force_generic_engine = self .generic )
200200 assert lib .test1eoes (7.0 ) == 42.0
201201 v = ffi .verifier
202202 ext = v .get_extension ()
203203 assert 'distutils.extension.Extension' in str (ext .__class__ ) or \
204204 'setuptools.extension.Extension' in str (ext .__class__ )
205205 assert ext .sources == [maybe_relative_path (v .sourcefilename ),
206- extra_source ]
206+ str ( extra_source ) ]
207207 assert ext .name == v .get_module_name ()
208208
209209 def test_install_and_reload_module (self , targetpackage = '' , ext_package = '' ):
@@ -212,7 +212,8 @@ def test_install_and_reload_module(self, targetpackage='', ext_package=''):
212212 pytest .skip ("test requires os.fork()" )
213213
214214 if targetpackage :
215- udir .ensure (targetpackage , dir = 1 ).ensure ('__init__.py' )
215+ (udir / targetpackage ).mkdir (exist_ok = True )
216+ (udir / targetpackage / "__init__.py" ).touch (exist_ok = True )
216217 sys .path .insert (0 , str (udir ))
217218
218219 def make_ffi (** verifier_args ):
@@ -232,7 +233,7 @@ def make_ffi(**verifier_args):
232233 assert lib .test1iarm (1.5 ) == 63.0
233234 # "install" the module by moving it into udir (/targetpackage)
234235 if targetpackage :
235- target = udir . join ( targetpackage )
236+ target = udir / targetpackage
236237 else :
237238 target = udir
238239 shutil .move (ffi .verifier .modulefilename , str (target ))
0 commit comments