tests/common/117: Check that capturing wrote to a file
Without this, the test isn't testing for anything at all.
This revealed that custom target output capturing was actually broken on
the VS backends.
project('custom target', 'c')
-python3 = find_program('python3', required : false)
-if not python3.found()
- python3 = find_program('python')
+python3 = import('python3').find_python()
+
+if meson.backend().startswith('vs')
+ error('MESON_SKIP_TEST: capturing of custom target output is broken with the VS backends')
endif
# Note that this will not add a dependency to the compiler executable.
@@ -17,3 +18,11 @@ mytarget = custom_target('bindat',
install : true,
install_dir : 'subdir'
)
+
+ct_output_exists = '''import os, sys
+if not os.path.exists(sys.argv[1]):
+ print("could not find {!r} in {!r}".format(sys.argv[1], os.getcwd()))
+ sys.exit(1)
+'''
+
+test('capture-wrote', python3, args : ['-c', ct_output_exists, mytarget])
