summaryrefslogtreecommitdiff
path: root/numpy/f2py/tests/test_compile_function.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/f2py/tests/test_compile_function.py')
-rw-r--r--numpy/f2py/tests/test_compile_function.py33
1 files changed, 13 insertions, 20 deletions
diff --git a/numpy/f2py/tests/test_compile_function.py b/numpy/f2py/tests/test_compile_function.py
index f76fd6448..33e320731 100644
--- a/numpy/f2py/tests/test_compile_function.py
+++ b/numpy/f2py/tests/test_compile_function.py
@@ -54,33 +54,30 @@ def test_f2py_init_compile(extra_args):
# util.py, but don't actually use build_module() because it has
# its own invocation of subprocess that circumvents the
# f2py.compile code block under test
- try:
- os.chdir(moddir)
+ with util.switchdir(moddir):
ret_val = numpy.f2py.compile(
fsource,
modulename=modname,
extra_args=extra_args,
source_fn=source_fn
- )
- finally:
- os.chdir(cwd)
+ )
- # check for compile success return value
- assert_equal(ret_val, 0)
+ # check for compile success return value
+ assert_equal(ret_val, 0)
# we are not currently able to import the Python-Fortran
# interface module on Windows / Appveyor, even though we do get
# successful compilation on that platform with Python 3.x
- if sys.platform != 'win32':
+ if sys.platform != 'win32':
# check for sensible result of Fortran function; that means
# we can import the module name in Python and retrieve the
# result of the sum operation
- return_check = import_module(modname)
- calc_result = return_check.foo()
- assert_equal(calc_result, 15)
+ return_check = import_module(modname)
+ calc_result = return_check.foo()
+ assert_equal(calc_result, 15)
# Removal from sys.modules, is not as such necessary. Even with
# removal, the module (dict) stays alive.
- del sys.modules[modname]
+ del sys.modules[modname]
def test_f2py_init_compile_failure():
@@ -113,13 +110,9 @@ def test_f2py_init_compile_bad_cmd():
b'program test_f2py\nend program test_f2py',])
def test_compile_from_strings(tmpdir, fsource):
# Make sure we can compile str and bytes gh-12796
- cwd = os.getcwd()
- try:
- os.chdir(str(tmpdir))
+ with util.switchdir(tmpdir):
ret_val = numpy.f2py.compile(
- fsource,
- modulename='test_compile_from_strings',
- extension='.f90')
+ fsource,
+ modulename='test_compile_from_strings',
+ extension='.f90')
assert_equal(ret_val, 0)
- finally:
- os.chdir(cwd)