Add a test for 'meson introspect --targets|--target-files'
v2:
Use asssertCountEqual for list comparison ignoring order
@@ -2372,6 +2372,38 @@ int main(int argc, char **argv) {
self.init(testdir, ['--cross-file=' + name], inprocess=True)
self.wipe()
+ def test_introspect_target_files(self):
+ '''
+ Tests that mesonintrospect --target-files returns expected output.
+ '''
+ testdir = os.path.join(self.common_test_dir, '8 install')
+ self.init(testdir)
+ expected = {
+ 'stat@sta': ['stat.c'],
+ 'prog@exe': ['prog.c'],
+ }
+ t_intro = self.introspect('--targets')
+ self.assertCountEqual([t['id'] for t in t_intro], expected)
+ for t in t_intro:
+ id = t['id']
+ tf_intro = self.introspect(['--target-files', id])
+ self.assertEqual(tf_intro, expected[id])
+ self.wipe()
+
+ testdir = os.path.join(self.common_test_dir, '53 custom target')
+ self.init(testdir)
+ expected = {
+ 'bindat@cus': ['data_source.txt'],
+ 'depfile@cus': [],
+ }
+ t_intro = self.introspect('--targets')
+ self.assertCountEqual([t['id'] for t in t_intro], expected)
+ for t in t_intro:
+ id = t['id']
+ tf_intro = self.introspect(['--target-files', id])
+ self.assertEqual(tf_intro, expected[id])
+ self.wipe()
+
def test_compiler_run_command(self):
'''
The test checks that the compiler object can be passed to
