swig: add smoke tests (#23662)
This commit is contained in:
parent
3f184b5874
commit
d2178fb47b
@ -70,3 +70,45 @@ def create_symlink(self):
|
||||
@when(_version)
|
||||
def autoreconf(self, spec, prefix):
|
||||
which('sh')('./autogen.sh')
|
||||
|
||||
@property
|
||||
def _installed_exe(self):
|
||||
return join_path(self.prefix, 'bin', 'swig')
|
||||
|
||||
def _test_version(self):
|
||||
version = str(self.version)
|
||||
if version.endswith('-fortran'):
|
||||
version = version.replace('-', r'\+')
|
||||
elif version in ('fortran', 'master'):
|
||||
version = r'.*'
|
||||
|
||||
self.run_test(self._installed_exe,
|
||||
'-version',
|
||||
expected=[r'SWIG Version {0}'.format(version)],
|
||||
purpose="test: version")
|
||||
|
||||
def _test_swiglib(self):
|
||||
# Get SWIG's alleged path to library files
|
||||
swig = Executable(self._installed_exe)
|
||||
swiglib = swig('-swiglib', output=str).strip()
|
||||
|
||||
# Check that the lib dir exists
|
||||
if not os.path.isdir(swiglib):
|
||||
msg = "SWIG library does not exist at '{0}'".format(swiglib)
|
||||
self.test_failures.append([None, msg])
|
||||
|
||||
# Check for existence of other critical SWIG library files
|
||||
swigfile = join_path(swiglib, 'swig.swg')
|
||||
if not os.path.exists(swigfile):
|
||||
msg = "SWIG runtime does not exist at '{0}'".format(swigfile)
|
||||
self.test_failures.append([None, msg])
|
||||
if 'fortran' in str(self.version):
|
||||
swigfile = join_path(swiglib, 'fortran', 'fortran.swg')
|
||||
if not os.path.exists(swigfile):
|
||||
msg = "SWIG+Fortran runtime does not exist at '{0}'".format(
|
||||
swigfile)
|
||||
self.test_failures.append([None, msg])
|
||||
|
||||
def test(self):
|
||||
self._test_version()
|
||||
self._test_swiglib()
|
||||
|
Loading…
Reference in New Issue
Block a user