diff options
author | Steven Knight <knight@baldmt.com> | 2003-06-28 05:09:59 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-06-28 05:09:59 (GMT) |
commit | 6b7492bf09a6c2e49b2077cbf966915bb7eba77d (patch) | |
tree | 72d79c175b4206ccde612c95b67e7955c412959f /test/option--U.py | |
parent | 3757529b5b73fc69eff8a0709482198d45ed33c5 (diff) | |
download | SCons-6b7492bf09a6c2e49b2077cbf966915bb7eba77d.zip SCons-6b7492bf09a6c2e49b2077cbf966915bb7eba77d.tar.gz SCons-6b7492bf09a6c2e49b2077cbf966915bb7eba77d.tar.bz2 |
Fix -U, -D and -d with explicit targets that start with ../.
[Updating a change that was previously not synchronized to CVS.]
Diffstat (limited to 'test/option--U.py')
-rw-r--r-- | test/option--U.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/option--U.py b/test/option--U.py index f5a7b74..4fb77a3 100644 --- a/test/option--U.py +++ b/test/option--U.py @@ -164,4 +164,35 @@ test.run(arguments = '-U', status=2, stderr="""\ scons: *** Do not know how to make target `not_a_target.in'. Stop. """) +# Make sure explicit targets beginning with ../ get built. +test.subdir('sub6', ['sub6', 'dir']) + +test.write(['sub6', 'SConstruct'], """\ +def cat(env, source, target): + target = str(target[0]) + source = map(str, source) + f = open(target, "wb") + for src in source: + f.write(open(src, "rb").read()) + f.close() +env = Environment(BUILDERS={'Cat':Builder(action=cat)}) +env.Cat('foo.out', 'foo.in') +SConscript('dir/SConscript', "env") +""") + +test.write(['sub6', 'foo.in'], "foo.in\n") + +test.write(['sub6', 'dir', 'SConscript'], """\ +Import("env") +bar = env.Cat('bar.out', 'bar.in') +Default(bar) +""") + +test.write(['sub6', 'dir', 'bar.in'], "bar.in\n") + +test.run(chdir = 'sub6/dir', arguments = '-U ../foo.out') + +test.fail_test(not os.path.exists(test.workpath('sub6', 'foo.out'))) +test.fail_test(os.path.exists(test.workpath('sub6', 'dir', 'bar.out'))) + test.pass_test() |