From ac480c185722a7f67711c3f3a8d35f81409ee6a3 Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Sat, 19 May 2018 13:39:06 +0100 Subject: 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 --- run_unittests.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'run_unittests.py') 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): -- cgit v1.1