aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-08-14 23:59:26 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2017-08-15 00:01:33 +0530
commitcae5caa7f1d804b8821bf55081707597e73fb7a1 (patch)
treef9b8c5290b1813da632008b20ad57178605f322a /run_unittests.py
parentc69a4aee1eb8f78770d59afec6dd12ebea9bfbd1 (diff)
downloadmeson-cae5caa7f1d804b8821bf55081707597e73fb7a1.zip
meson-cae5caa7f1d804b8821bf55081707597e73fb7a1.tar.gz
meson-cae5caa7f1d804b8821bf55081707597e73fb7a1.tar.bz2
run_unittests: Add a helper for asserting path existence
It is useful to have a message displayed if the assert is fired.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py42
1 files changed, 25 insertions, 17 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 06b3f4c..f28672b 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -467,7 +467,7 @@ class BasePlatformTests(unittest.TestCase):
return output
def init(self, srcdir, extra_args=None, default_args=True, inprocess=False):
- self.assertTrue(os.path.exists(srcdir))
+ self.assertPathExists(srcdir)
if extra_args is None:
extra_args = []
if not isinstance(extra_args, list):
@@ -628,6 +628,14 @@ class BasePlatformTests(unittest.TestCase):
else:
raise RuntimeError('Invalid backend: {!r}'.format(self.backend.name))
+ def assertPathExists(self, path):
+ m = 'Path {!r} should exist'.format(path)
+ self.assertTrue(os.path.exists(path), msg=m)
+
+ def assertPathDoesNotExist(self, path):
+ m = 'Path {!r} should not exist'.format(path)
+ self.assertFalse(os.path.exists(path), msg=m)
+
class AllPlatformTests(BasePlatformTests):
'''
@@ -773,11 +781,11 @@ class AllPlatformTests(BasePlatformTests):
exename = os.path.join(self.installdir, 'usr/bin/prog' + exe_suffix)
testdir = os.path.join(self.common_test_dir, '8 install')
self.init(testdir)
- self.assertFalse(os.path.exists(exename))
+ self.assertPathDoesNotExist(exename)
self.install()
- self.assertTrue(os.path.exists(exename))
+ self.assertPathExists(exename)
self.uninstall()
- self.assertFalse(os.path.exists(exename))
+ self.assertPathDoesNotExist(exename)
def test_testsetups(self):
if not shutil.which('valgrind'):
@@ -868,10 +876,10 @@ class AllPlatformTests(BasePlatformTests):
self.build()
genfile = os.path.join(self.builddir, 'generated.dat')
exe = os.path.join(self.builddir, 'fooprog' + exe_suffix)
- self.assertTrue(os.path.exists(genfile))
- self.assertFalse(os.path.exists(exe))
+ self.assertPathExists(genfile)
+ self.assertPathDoesNotExist(exe)
self.build(target=('fooprog' + exe_suffix))
- self.assertTrue(os.path.exists(exe))
+ self.assertPathExists(exe)
def test_internal_include_order(self):
testdir = os.path.join(self.common_test_dir, '138 include order')
@@ -1240,8 +1248,8 @@ int main(int argc, char **argv) {
self.build('dist')
distfile = os.path.join(self.distdir, 'disttest-1.4.3.tar.xz')
checksumfile = distfile + '.sha256sum'
- self.assertTrue(os.path.exists(distfile))
- self.assertTrue(os.path.exists(checksumfile))
+ self.assertPathExists(distfile)
+ self.assertPathExists(checksumfile)
def test_rpath_uses_ORIGIN(self):
'''
@@ -1604,35 +1612,35 @@ class LinuxlikeTests(BasePlatformTests):
# File without aliases set.
nover = os.path.join(libpath, 'libnover.so')
- self.assertTrue(os.path.exists(nover))
+ self.assertPathExists(nover)
self.assertFalse(os.path.islink(nover))
self.assertEqual(get_soname(nover), 'libnover.so')
self.assertEqual(len(glob(nover[:-3] + '*')), 1)
# File with version set
verset = os.path.join(libpath, 'libverset.so')
- self.assertTrue(os.path.exists(verset + '.4.5.6'))
+ self.assertPathExists(verset + '.4.5.6')
self.assertEqual(os.readlink(verset), 'libverset.so.4')
self.assertEqual(get_soname(verset), 'libverset.so.4')
self.assertEqual(len(glob(verset[:-3] + '*')), 3)
# File with soversion set
soverset = os.path.join(libpath, 'libsoverset.so')
- self.assertTrue(os.path.exists(soverset + '.1.2.3'))
+ self.assertPathExists(soverset + '.1.2.3')
self.assertEqual(os.readlink(soverset), 'libsoverset.so.1.2.3')
self.assertEqual(get_soname(soverset), 'libsoverset.so.1.2.3')
self.assertEqual(len(glob(soverset[:-3] + '*')), 2)
# File with version and soversion set to same values
settosame = os.path.join(libpath, 'libsettosame.so')
- self.assertTrue(os.path.exists(settosame + '.7.8.9'))
+ self.assertPathExists(settosame + '.7.8.9')
self.assertEqual(os.readlink(settosame), 'libsettosame.so.7.8.9')
self.assertEqual(get_soname(settosame), 'libsettosame.so.7.8.9')
self.assertEqual(len(glob(settosame[:-3] + '*')), 2)
# File with version and soversion set to different values
bothset = os.path.join(libpath, 'libbothset.so')
- self.assertTrue(os.path.exists(bothset + '.1.2.3'))
+ self.assertPathExists(bothset + '.1.2.3')
self.assertEqual(os.readlink(bothset), 'libbothset.so.1.2.3')
self.assertEqual(os.readlink(bothset + '.1.2.3'), 'libbothset.so.4.5.6')
self.assertEqual(get_soname(bothset), 'libbothset.so.1.2.3')
@@ -1719,9 +1727,9 @@ class LinuxlikeTests(BasePlatformTests):
def test_unity_subproj(self):
testdir = os.path.join(self.common_test_dir, '49 subproject')
self.init(testdir, extra_args='--unity=subprojects')
- self.assertTrue(os.path.exists(os.path.join(self.builddir, 'subprojects/sublib/simpletest@exe/simpletest-unity.c')))
- self.assertTrue(os.path.exists(os.path.join(self.builddir, 'subprojects/sublib/sublib@sha/sublib-unity.c')))
- self.assertFalse(os.path.exists(os.path.join(self.builddir, 'user@exe/user-unity.c')))
+ self.assertPathExists(os.path.join(self.builddir, 'subprojects/sublib/simpletest@exe/simpletest-unity.c'))
+ self.assertPathExists(os.path.join(self.builddir, 'subprojects/sublib/sublib@sha/sublib-unity.c'))
+ self.assertPathDoesNotExist(os.path.join(self.builddir, 'user@exe/user-unity.c'))
self.build()
def test_installed_modes(self):