45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
import os
|
|
import subprocess
|
|
import shutil
|
|
|
|
HERE = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
def exe(command):
|
|
stdout, stderr = subprocess.Popen(command.split(),
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.PIPE).communicate()
|
|
return stdout, stderr
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
def test_cxx():
|
|
os.chdir(os.path.join(HERE, 'cxx', 'cmake'))
|
|
shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
|
|
stdout, stderr = exe('python update.py --self')
|
|
stdout, stderr = exe('python update.py ..')
|
|
os.chdir(os.path.join(HERE, 'cxx'))
|
|
stdout, stderr = exe('python setup.py --cxx=g++')
|
|
os.chdir(os.path.join(HERE, 'cxx', 'build'))
|
|
stdout, stderr = exe('make')
|
|
stdout, stderr = exe('./bin/example')
|
|
assert 'Hello World!' in stdout
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
def test_fc():
|
|
os.chdir(os.path.join(HERE, 'fc', 'cmake'))
|
|
shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
|
|
stdout, stderr = exe('python update.py --self')
|
|
stdout, stderr = exe('python update.py ..')
|
|
os.chdir(os.path.join(HERE, 'fc'))
|
|
stdout, stderr = exe('python setup.py --fc=gfortran')
|
|
os.chdir(os.path.join(HERE, 'fc', 'build'))
|
|
stdout, stderr = exe('make')
|
|
stdout, stderr = exe('./bin/example')
|
|
assert 'Hello World!' in stdout
|