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
pull/2278/merge
Jon Turney 7 years ago committed by Nirbheek Chauhan
parent 7a15214a69
commit ac480c1857
  1. 22
      run_unittests.py
  2. 5
      test cases/windows/13 resources with custom targets/res/meson.build
  3. 1
      test cases/windows/13 resources with custom targets/res/myres.rc.in
  4. 0
      test cases/windows/13 resources with custom targets/res/resource.h

@ -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):

@ -10,9 +10,10 @@ foreach id : [1, 2]
output : 'myres_@0@.rc'.format(id),
command : [rc_writer, '@INPUT@', '@OUTPUT@', files('sample.ico')],
install : false,
build_always : true)
build_always : false)
endforeach
rc_sources += files('myres_static.rc')
res = win.compile_resources(rc_sources)
res = win.compile_resources(rc_sources,
include_directories: include_directories('.'))

@ -1,3 +1,4 @@
#include<windows.h>
#include<resource.h>
1 ICON "{icon}"

Loading…
Cancel
Save