autocmake/test/test.py
2015-06-28 11:12:36 +02:00

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