summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorVolker Weißmann <volker.weissmann@gmx.de>2023-05-21 18:29:36 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2023-05-21 22:12:57 +0300
commit12a2dc86ca736249b2ea4d47ae36b165225a3fdf (patch)
treeb9cb9208f1905e2422c77164f5a8a4fe3c8fb4b6 /test cases
parentc6db870fc7fbc9f6c3098ff439d59b49f7255df2 (diff)
downloadmeson-12a2dc86ca736249b2ea4d47ae36b165225a3fdf.tar.gz
Allow generator.process(generator.process(...))
Fixes #1141
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/262 generator chain/data.txt1
-rw-r--r--test cases/common/262 generator chain/meson.build19
-rw-r--r--test cases/common/262 generator chain/stage1.py6
-rw-r--r--test cases/common/262 generator chain/stage2.py6
4 files changed, 32 insertions, 0 deletions
diff --git a/test cases/common/262 generator chain/data.txt b/test cases/common/262 generator chain/data.txt
new file mode 100644
index 000000000..a972fee4f
--- /dev/null
+++ b/test cases/common/262 generator chain/data.txt
@@ -0,0 +1 @@
+stage1
diff --git a/test cases/common/262 generator chain/meson.build b/test cases/common/262 generator chain/meson.build
new file mode 100644
index 000000000..5c571d4a8
--- /dev/null
+++ b/test cases/common/262 generator chain/meson.build
@@ -0,0 +1,19 @@
+project('Generator Chain', 'c')
+
+stage1_exe = find_program('stage1.py')
+
+stage2_exe = find_program('stage2.py')
+
+stage1_gen = generator(stage1_exe,
+ output : '@PLAINNAME@.inter',
+ arguments : ['@INPUT@', '@OUTPUT@'])
+
+stage2_gen = generator(stage2_exe,
+ output : '@PLAINNAME@.c',
+ arguments : ['@INPUT@', '@OUTPUT@'])
+
+out = stage2_gen.process(stage1_gen.process('data.txt'))
+
+hello = executable('hello', out)
+
+test('basic', hello)
diff --git a/test cases/common/262 generator chain/stage1.py b/test cases/common/262 generator chain/stage1.py
new file mode 100644
index 000000000..73e02fccf
--- /dev/null
+++ b/test cases/common/262 generator chain/stage1.py
@@ -0,0 +1,6 @@
+#!/usr/bin/env python3
+import sys
+from pathlib import Path
+
+assert(Path(sys.argv[1]).read_text() == 'stage1\n')
+Path(sys.argv[2]).write_text('stage2\n')
diff --git a/test cases/common/262 generator chain/stage2.py b/test cases/common/262 generator chain/stage2.py
new file mode 100644
index 000000000..7f82592a1
--- /dev/null
+++ b/test cases/common/262 generator chain/stage2.py
@@ -0,0 +1,6 @@
+#!/usr/bin/env python3
+import sys
+from pathlib import Path
+
+assert(Path(sys.argv[1]).read_text() == 'stage2\n')
+Path(sys.argv[2]).write_text('int main(void){}\n')