diff options
author | Steven Knight <knight@baldmt.com> | 2003-09-12 13:07:20 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-09-12 13:07:20 (GMT) |
commit | 1c2ac0f2ca0c14d1181add9cc66d9650fece1481 (patch) | |
tree | 6c7464dd52b17d0eaeec3cae1fb0b3e5e3a1897a /test | |
parent | e181e48bb62502b88107536c2e8dbd5886bf17fd (diff) | |
download | SCons-1c2ac0f2ca0c14d1181add9cc66d9650fece1481.zip SCons-1c2ac0f2ca0c14d1181add9cc66d9650fece1481.tar.gz SCons-1c2ac0f2ca0c14d1181add9cc66d9650fece1481.tar.bz2 |
Add SourceSignatures() and TargetSignatures() environment methods.
Diffstat (limited to 'test')
-rw-r--r-- | test/SourceSignatures.py | 47 | ||||
-rw-r--r-- | test/TargetSignatures.py | 68 |
2 files changed, 87 insertions, 28 deletions
diff --git a/test/SourceSignatures.py b/test/SourceSignatures.py index 26a389e..e982fbe 100644 --- a/test/SourceSignatures.py +++ b/test/SourceSignatures.py @@ -125,20 +125,51 @@ env.B(target = 'f4.out', source = 'f4.in') test.up_to_date(arguments = 'f1.out f2.out f3.out f4.out') -test.pass_test() - test.write('SConstruct', """ def build(env, target, source): open(str(target[0]), 'wt').write(open(str(source[0]), 'rt').read()) B = Builder(action = build) env = Environment(BUILDERS = { 'B' : B }) -env.B(target = 'f1.out', source = 'f1.in') -env.B(target = 'f2.out', source = 'f2.in') -env.B(target = 'f3.out', source = 'f3.in') -env.B(target = 'f4.out', source = 'f4.in') +env2 = env.Copy() +env2.SourceSignatures('MD5') +env.B(target = 'f5.out', source = 'f5.in') +env.B(target = 'f6.out', source = 'f6.in') +env2.B(target = 'f7.out', source = 'f7.in') +env2.B(target = 'f8.out', source = 'f8.in') SourceSignatures('timestamp') """) -test.run(arguments = 'f1.out f2.out f3.out f4.out', - stdout = test.wrap_stdout('')) +test.write('f5.in', "f5.in\n") +test.write('f6.in', "f6.in\n") +test.write('f7.in', "f7.in\n") +test.write('f8.in', "f8.in\n") + +test.run(arguments = 'f5.out f7.out') + +test.run(arguments = 'f5.out f6.out f7.out f8.out', + stdout = test.wrap_stdout("""\ +scons: `f5.out' is up to date. +build("f6.out", "f6.in") +scons: `f7.out' is up to date. +build("f8.out", "f8.in") +""")) + +os.utime(test.workpath('f5.in'), + (os.path.getatime(test.workpath('f5.in')), + os.path.getmtime(test.workpath('f5.in'))+10)) +os.utime(test.workpath('f7.in'), + (os.path.getatime(test.workpath('f7.in')), + os.path.getmtime(test.workpath('f7.in'))+10)) + +test.run(arguments = 'f5.out f6.out f7.out f8.out', + stdout = test.wrap_stdout("""\ +build("f5.out", "f5.in") +scons: `f6.out' is up to date. +scons: `f7.out' is up to date. +scons: `f8.out' is up to date. +""")) + +test.up_to_date(arguments = 'f5.out f6.out f7.out f8.out') + +test.pass_test() diff --git a/test/TargetSignatures.py b/test/TargetSignatures.py index 3c7ed0f..5060157 100644 --- a/test/TargetSignatures.py +++ b/test/TargetSignatures.py @@ -40,21 +40,29 @@ def copy2(env, source, target): env['BUILDERS']['Copy1'] = Builder(action=copy1) env['BUILDERS']['Copy2'] = Builder(action=copy2) -env.Copy2('foo.out', 'foo.in') -env.Copy1('foo.out.out', 'foo.out') +env.Copy2('foo.mid', 'foo.in') +env.Copy1('foo.out', 'foo.mid') + +env2 = env.Copy() +env2.TargetSignatures('build') +env2.Copy2('bar.mid', 'bar.in') +env2.Copy1('bar.out', 'bar.mid') TargetSignatures('content') """) test.write('foo.in', 'foo.in') +test.write('bar.in', 'bar.in') -test.run(arguments='foo.out.out', +test.run(arguments="bar.out foo.out", stdout=test.wrap_stdout("""\ -copy2("foo.out", "foo.in") -copy1("foo.out.out", "foo.out") +copy2("bar.mid", "bar.in") +copy1("bar.out", "bar.mid") +copy2("foo.mid", "foo.in") +copy1("foo.out", "foo.mid") """)) -test.up_to_date(arguments='foo.out.out') +test.up_to_date(arguments='bar.out foo.out') test.write('SConstruct', """ env = Environment() @@ -69,16 +77,23 @@ def copy2(env, source, target): env['BUILDERS']['Copy1'] = Builder(action=copy1) env['BUILDERS']['Copy2'] = Builder(action=copy2) -env.Copy2('foo.out', 'foo.in') -env.Copy1('foo.out.out', 'foo.out') +env.Copy2('foo.mid', 'foo.in') +env.Copy1('foo.out', 'foo.mid') + +env2 = env.Copy() +env2.TargetSignatures('build') +env2.Copy2('bar.mid', 'bar.in') +env2.Copy1('bar.out', 'bar.mid') TargetSignatures('content') """) -test.run(arguments='foo.out.out', +test.run(arguments="bar.out foo.out", stdout=test.wrap_stdout("""\ -copy2("foo.out", "foo.in") -scons: `foo.out.out' is up to date. +copy2("bar.mid", "bar.in") +copy1("bar.out", "bar.mid") +copy2("foo.mid", "foo.in") +scons: `foo.out' is up to date. """)) test.write('SConstruct', """ @@ -94,15 +109,21 @@ def copy2(env, source, target): env['BUILDERS']['Copy1'] = Builder(action=copy1) env['BUILDERS']['Copy2'] = Builder(action=copy2) -env.Copy2('foo.out', 'foo.in') -env.Copy1('foo.out.out', 'foo.out') +env.Copy2('foo.mid', 'foo.in') +env.Copy1('foo.out', 'foo.mid') + +env2 = env.Copy() +env2.TargetSignatures('content') +env2.Copy2('bar.mid', 'bar.in') +env2.Copy1('bar.out', 'bar.mid') TargetSignatures('build') """) -test.run(arguments='foo.out.out', +test.run(arguments="bar.out foo.out", stdout=test.wrap_stdout("""\ -copy1("foo.out.out", "foo.out") +copy1("bar.out", "bar.mid") +copy1("foo.out", "foo.mid") """)) test.write('SConstruct', """ @@ -117,16 +138,23 @@ def copy2(env, source, target): env['BUILDERS']['Copy1'] = Builder(action=copy1) env['BUILDERS']['Copy2'] = Builder(action=copy2) -env.Copy2('foo.out', 'foo.in') -env.Copy1('foo.out.out', 'foo.out') +env.Copy2('foo.mid', 'foo.in') +env.Copy1('foo.out', 'foo.mid') + +env2 = env.Copy() +env2.TargetSignatures('content') +env2.Copy2('bar.mid', 'bar.in') +env2.Copy1('bar.out', 'bar.mid') TargetSignatures('build') """) -test.run(arguments='foo.out.out', +test.run(arguments='bar.out foo.out', stdout=test.wrap_stdout("""\ -copy2("foo.out", "foo.in") -copy1("foo.out.out", "foo.out") +copy2("bar.mid", "bar.in") +scons: `bar.out' is up to date. +copy2("foo.mid", "foo.in") +copy1("foo.out", "foo.mid") """)) |