summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-09-12 13:07:20 (GMT)
committerSteven Knight <knight@baldmt.com>2003-09-12 13:07:20 (GMT)
commit1c2ac0f2ca0c14d1181add9cc66d9650fece1481 (patch)
tree6c7464dd52b17d0eaeec3cae1fb0b3e5e3a1897a /test
parente181e48bb62502b88107536c2e8dbd5886bf17fd (diff)
downloadSCons-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.py47
-rw-r--r--test/TargetSignatures.py68
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")
"""))