summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/pre-post-actions.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/pre-post-actions.py b/test/pre-post-actions.py
index d0e8084..860ae24 100644
--- a/test/pre-post-actions.py
+++ b/test/pre-post-actions.py
@@ -36,7 +36,7 @@ _exe = TestSCons._exe
test = TestSCons.TestSCons()
-test.subdir('work1', 'work2')
+test.subdir('work1', 'work2', 'work3')
@@ -146,4 +146,27 @@ test.must_match(['work2', 'file3.out'], "333\n")
+test.write(['work3', 'SConstruct'], """\
+def pre(target, source, env):
+ pass
+def post(target, source, env):
+ pass
+def build(target, source, env):
+ open(str(target[0]), 'wb').write('build()\\n')
+env = Environment()
+AddPreAction('dir', pre)
+AddPostAction('dir', post)
+env.Command('dir/file', [], build)
+""")
+
+test.run(chdir = 'work3', arguments = 'dir/file', stdout=test.wrap_stdout("""\
+pre(["dir"], [])
+post(["dir"], [])
+build(["dir/file"], [])
+"""))
+
+test.must_match(['work3', 'dir', 'file'], "build()\n")
+
+
+
test.pass_test()