diff options
author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2018-08-16 04:05:28 +0200 |
---|---|---|
committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2018-08-17 16:41:09 +0200 |
commit | 9f87d5d95545c29a1242a05c4db9ea7253a57ab6 (patch) | |
tree | 3d56943a191b730d467d05f2a283ed59c7f54cc6 /run_unittests.py | |
parent | b400cbe058df10bc37e628305c72c574177062e2 (diff) | |
download | meson-9f87d5d95545c29a1242a05c4db9ea7253a57ab6.zip meson-9f87d5d95545c29a1242a05c4db9ea7253a57ab6.tar.gz meson-9f87d5d95545c29a1242a05c4db9ea7253a57ab6.tar.bz2 |
unittests: test_install_subdir_symlinks_with_default_umask
Add test to verify the installation of broken symlinks when a default_umask
is set.
Reusing the same code of other test, thus sharing the actual test code
in a single function.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/run_unittests.py b/run_unittests.py index d768028..6d74549 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -3779,32 +3779,42 @@ endian = 'little' # Ensure that the otool output does not contain self.installdir self.assertNotRegex(out, self.installdir + '.*dylib ') - def test_install_subdir_symlinks(self): + def install_subdir_invalid_symlinks(self, testdir, subdir_path): ''' Test that installation of broken symlinks works fine. https://github.com/mesonbuild/meson/issues/3914 ''' - testdir = os.path.join(self.common_test_dir, '66 install subdir') - subdir = os.path.join(testdir, 'sub/sub1') + testdir = os.path.join(self.common_test_dir, testdir) + subdir = os.path.join(testdir, subdir_path) curdir = os.getcwd() os.chdir(subdir) # Can't distribute broken symlinks in the source tree because it breaks # the creation of zipapps. Create it dynamically and run the test by # hand. src = '../../nonexistent.txt' - os.symlink(src, 'test.txt') + os.symlink(src, 'invalid-symlink.txt') try: self.init(testdir) self.build() self.install() - link = os.path.join(self.installdir, 'usr', 'share', 'sub1', 'test.txt') + install_path = subdir_path.split(os.path.sep)[-1] + link = os.path.join(self.installdir, 'usr', 'share', install_path, 'invalid-symlink.txt') self.assertTrue(os.path.islink(link), msg=link) self.assertEqual(src, os.readlink(link)) self.assertFalse(os.path.isfile(link), msg=link) finally: - os.remove(os.path.join(subdir, 'test.txt')) + os.remove(os.path.join(subdir, 'invalid-symlink.txt')) os.chdir(curdir) + def test_install_subdir_symlinks(self): + self.install_subdir_invalid_symlinks('66 install subdir', os.path.join('sub', 'sub1')) + + def test_install_subdir_symlinks_with_default_umask(self): + self.install_subdir_invalid_symlinks('199 install_mode', 'sub2') + + def test_install_subdir_symlinks_with_default_umask_and_mode(self): + self.install_subdir_invalid_symlinks('199 install_mode', 'sub1') + class LinuxCrossArmTests(BasePlatformTests): ''' |