Spaces:
Running
Running
""" Test scripts | |
Test that we can run executable scripts that have been installed with numpy. | |
""" | |
import sys | |
import os | |
import pytest | |
from os.path import join as pathjoin, isfile, dirname | |
import subprocess | |
import numpy as np | |
from numpy.testing import assert_equal | |
is_inplace = isfile(pathjoin(dirname(np.__file__), '..', 'setup.py')) | |
def find_f2py_commands(): | |
if sys.platform == 'win32': | |
exe_dir = dirname(sys.executable) | |
if exe_dir.endswith('Scripts'): # virtualenv | |
return [os.path.join(exe_dir, 'f2py')] | |
else: | |
return [os.path.join(exe_dir, "Scripts", 'f2py')] | |
else: | |
# Three scripts are installed in Unix-like systems: | |
# 'f2py', 'f2py{major}', and 'f2py{major.minor}'. For example, | |
# if installed with python3.7 the scripts would be named | |
# 'f2py', 'f2py3', and 'f2py3.7'. | |
version = sys.version_info | |
major = str(version.major) | |
minor = str(version.minor) | |
return ['f2py', 'f2py' + major, 'f2py' + major + '.' + minor] | |
def test_f2py(f2py_cmd): | |
# test that we can run f2py script | |
stdout = subprocess.check_output([f2py_cmd, '-v']) | |
assert_equal(stdout.strip(), np.__version__.encode('ascii')) | |
def test_pep338(): | |
stdout = subprocess.check_output([sys.executable, '-mnumpy.f2py', '-v']) | |
assert_equal(stdout.strip(), np.__version__.encode('ascii')) | |