aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-05-19 13:39:06 +0100
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-03 21:06:23 +0000
commitac480c185722a7f67711c3f3a8d35f81409ee6a3 (patch)
tree8b398deb204c30450e59c5d18d0430f0350ed61c /run_unittests.py
parent7a15214a69891411df6f55a74851d502ef0b24c5 (diff)
downloadmeson-ac480c185722a7f67711c3f3a8d35f81409ee6a3.zip
meson-ac480c185722a7f67711c3f3a8d35f81409ee6a3.tar.gz
meson-ac480c185722a7f67711c3f3a8d35f81409ee6a3.tar.bz2
Extend test_rc_depends_files test case
Extend test_rc_depends_files test case to also cover depfile generation for a resource file generated by a custom_target
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 0814b34..25fa263 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -2393,19 +2393,35 @@ class WindowsTests(BasePlatformTests):
def test_rc_depends_files(self):
testdir = os.path.join(self.platform_test_dir, '5 resources')
+
+ # resource compiler depfile generation is not yet implemented for msvc
+ env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
+ depfile_works = env.detect_c_compiler(False).get_id() != 'msvc'
+
self.init(testdir)
self.build()
# Immediately rebuilding should not do anything
self.assertBuildIsNoop()
+ # Test compile_resources(depend_file:)
# Changing mtime of sample.ico should rebuild prog
self.utime(os.path.join(testdir, 'res', 'sample.ico'))
self.assertRebuiltTarget('prog')
+ # Test depfile generation by compile_resources
# Changing mtime of resource.h should rebuild myres.rc and then prog
- # (resource compiler depfile generation is not yet implemented for msvc)
- env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
- if env.detect_c_compiler(False).get_id() != 'msvc':
+ if depfile_works:
self.utime(os.path.join(testdir, 'inc', 'resource', 'resource.h'))
self.assertRebuiltTarget('prog')
+ self.wipe()
+
+ if depfile_works:
+ testdir = os.path.join(self.platform_test_dir, '13 resources with custom targets')
+ self.init(testdir)
+ self.build()
+ # Immediately rebuilding should not do anything
+ self.assertBuildIsNoop()
+ # Changing mtime of resource.h should rebuild myres_1.rc and then prog_1
+ self.utime(os.path.join(testdir, 'res', 'resource.h'))
+ self.assertRebuiltTarget('prog_1')
class LinuxlikeTests(BasePlatformTests):