aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-03-11 12:06:05 -0400
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2020-04-17 22:02:41 +0000
commitf798207a9a2ef726ee67cf5ddfd56e723745bbf2 (patch)
tree3904e50beb8229d77a805213a9df4e1057cc9817 /run_unittests.py
parentcf4b9e650226892079759bc8f40241f2cec44d09 (diff)
downloadmeson-f798207a9a2ef726ee67cf5ddfd56e723745bbf2.zip
meson-f798207a9a2ef726ee67cf5ddfd56e723745bbf2.tar.gz
meson-f798207a9a2ef726ee67cf5ddfd56e723745bbf2.tar.bz2
interpreter: Correctly ignore def files in build directory
See https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/85.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 4cd6e17..d3d220c 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -4562,6 +4562,34 @@ recommended as it is not supported on some platforms''')
self._run([*self.meson_command, 'compile', '-C', self.builddir, '--clean'])
self.assertPathDoesNotExist(os.path.join(self.builddir, prog))
+ def test_spurious_reconfigure_built_dep_file(self):
+ testdir = os.path.join(self.unit_test_dir, '74 dep files')
+
+ # Regression test: Spurious reconfigure was happening when build
+ # directory is inside source directory.
+ # See https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/85.
+ srcdir = os.path.join(self.builddir, 'srctree')
+ shutil.copytree(testdir, srcdir)
+ builddir = os.path.join(srcdir, '_build')
+ self.change_builddir(builddir)
+
+ self.init(srcdir)
+ self.build()
+
+ # During first configure the file did not exist so no dependency should
+ # have been set. A rebuild should not trigger a reconfigure.
+ self.clean()
+ out = self.build()
+ self.assertNotIn('Project configured', out)
+
+ self.init(srcdir, extra_args=['--reconfigure'])
+
+ # During the reconfigure the file did exist, but is inside build
+ # directory, so no dependency should have been set. A rebuild should not
+ # trigger a reconfigure.
+ self.clean()
+ out = self.build()
+ self.assertNotIn('Project configured', out)
class FailureTests(BasePlatformTests):
'''