diff options
author | Steven Knight <knight@baldmt.com> | 2007-01-07 07:23:05 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2007-01-07 07:23:05 (GMT) |
commit | 8f79b64540d5c6b8c9ca36f1a4ebcaf4d9df3d98 (patch) | |
tree | 05e6aee9b46b530443e01bbb762b68775a6bb0ff /src/engine/SCons/BuilderTests.py | |
parent | c4d04b3b45e7b71a1b28053b90084bcf2fdf9c0e (diff) | |
download | SCons-8f79b64540d5c6b8c9ca36f1a4ebcaf4d9df3d98.zip SCons-8f79b64540d5c6b8c9ca36f1a4ebcaf4d9df3d98.tar.gz SCons-8f79b64540d5c6b8c9ca36f1a4ebcaf4d9df3d98.tar.bz2 |
Merged revisions 1738-1754,1756 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core
........
r1741 | stevenknight | 2006-12-16 22:51:07 -0600 (Sat, 16 Dec 2006) | 1 line
0.96.D527 - Give the f90 and f95 Tool modules knowledge of how to build source files of earlier Fortran versions.
........
r1742 | stevenknight | 2006-12-16 23:22:54 -0600 (Sat, 16 Dec 2006) | 1 line
0.96.D528 - Better handling of timestamp fallback if there's no md5 module.
........
r1743 | stevenknight | 2006-12-17 00:21:31 -0600 (Sun, 17 Dec 2006) | 1 line
0.96.D529 - Fix portability of new tests on systems that don't have TeX installed.
........
r1744 | stevenknight | 2006-12-19 15:30:16 -0600 (Tue, 19 Dec 2006) | 1 line
0.96.D530 - Eliminate the ListBuilder subclass in favor of using the Executor's target lists.
........
r1745 | stevenknight | 2006-12-19 18:54:26 -0600 (Tue, 19 Dec 2006) | 1 line
0.96.D531 - Eliminate of MultiStepBuilder as a separate Builder subclass.
........
r1746 | garyo | 2006-12-21 13:21:08 -0600 (Thu, 21 Dec 2006) | 1 line
Minor doc fix, thanks to Douglas Landgraf.
........
r1747 | stevenknight | 2006-12-21 17:13:55 -0600 (Thu, 21 Dec 2006) | 1 line
0.96.D533 - Add CFLAGS for options common to C/C++. (Gary Oberbrunner)
........
r1748 | stevenknight | 2007-01-03 19:48:05 -0600 (Wed, 03 Jan 2007) | 1 line
0.96.D534 - Fix signature storage when targets are retrieved from CacheDir().
........
r1749 | stevenknight | 2007-01-04 16:48:47 -0600 (Thu, 04 Jan 2007) | 1 line
0.96.D535 - Teach the lex and yacc tools about target files generated by different flex/bison options, and about Objective C suffixes. (Pupeno)
........
r1750 | stevenknight | 2007-01-04 17:14:38 -0600 (Thu, 04 Jan 2007) | 1 line
0.96.D536 - Refactor duplicate disambiguation logic in Entry.get_contents().
........
r1751 | stevenknight | 2007-01-05 13:00:54 -0600 (Fri, 05 Jan 2007) | 1 line
0.96.D537 - Fix lprof regression from 0.96.92.
........
r1752 | stevenknight | 2007-01-05 20:43:48 -0600 (Fri, 05 Jan 2007) | 1 line
0.96.D538 - Fix caching of Builder suffix matching (to fix lprof regression).
........
r1753 | stevenknight | 2007-01-06 00:03:16 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D539 - Fix --include-dir when using MinGW. (Paul)
........
r1754 | stevenknight | 2007-01-06 00:24:53 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D540 - Make bootstrap.py something useful to execute SCons out of a source directory.
........
r1756 | stevenknight | 2007-01-06 21:32:11 -0600 (Sat, 06 Jan 2007) | 1 line
0.96.D541 - Update the Copyright year string to include 2007. Automate updating the month+year string in man page title headers. Fix hard-coded __revision__ strings that crept into some older tests.
........
Diffstat (limited to 'src/engine/SCons/BuilderTests.py')
-rw-r--r-- | src/engine/SCons/BuilderTests.py | 62 |
1 files changed, 27 insertions, 35 deletions
diff --git a/src/engine/SCons/BuilderTests.py b/src/engine/SCons/BuilderTests.py index 4e196e2..acf0722 100644 --- a/src/engine/SCons/BuilderTests.py +++ b/src/engine/SCons/BuilderTests.py @@ -147,6 +147,8 @@ class Environment: class MyAction: def __init__(self, action): self.action = action + def __call__(self, *args, **kw): + pass def get_executor(self, env, overrides, tlist, slist, executor_kw): return ['executor'] + [self.action] @@ -716,8 +718,8 @@ class BuilderTestCase(unittest.TestCase): assert 0 - def test_ListBuilder(self): - """Testing ListBuilder class.""" + def test_lists(self): + """Testing handling lists of targets and source""" def function2(target, source, env, tlist = [outfile, outfile2], **kw): for t in target: open(str(t), 'w').write("function2\n") @@ -770,15 +772,17 @@ class BuilderTestCase(unittest.TestCase): assert os.path.exists(test.workpath('sub1')) assert os.path.exists(test.workpath('sub2')) - def test_MultiStepBuilder(self): - """Testing MultiStepBuilder class.""" + def test_src_builder(self): + """Testing Builders with src_builder""" + # These used to be MultiStepBuilder objects until we + # eliminated it as a separate class env = Environment() builder1 = SCons.Builder.Builder(action='foo', src_suffix='.bar', suffix='.foo') - builder2 = SCons.Builder.MultiStepBuilder(action=MyAction('act'), - src_builder = builder1, - src_suffix = '.foo') + builder2 = SCons.Builder.Builder(action=MyAction('act'), + src_builder = builder1, + src_suffix = '.foo') tgt = builder2(env, source=[]) assert tgt == [], tgt @@ -800,22 +804,22 @@ class BuilderTestCase(unittest.TestCase): s = map(str, tgt.sources[0].sources) assert s == ['aaa.bar'], s - builder3 = SCons.Builder.MultiStepBuilder(action = 'foo', - src_builder = 'xyzzy', - src_suffix = '.xyzzy') + builder3 = SCons.Builder.Builder(action = 'foo', + src_builder = 'xyzzy', + src_suffix = '.xyzzy') assert builder3.get_src_builders(Environment()) == [] builder4 = SCons.Builder.Builder(action='bld4', src_suffix='.i', suffix='_wrap.c') - builder5 = SCons.Builder.MultiStepBuilder(action=MyAction('act'), - src_builder=builder4, - suffix='.obj', - src_suffix='.c') - builder6 = SCons.Builder.MultiStepBuilder(action=MyAction('act'), - src_builder=builder5, - suffix='.exe', - src_suffix='.obj') + builder5 = SCons.Builder.Builder(action=MyAction('act'), + src_builder=builder4, + suffix='.obj', + src_suffix='.c') + builder6 = SCons.Builder.Builder(action=MyAction('act'), + src_builder=builder5, + suffix='.exe', + src_suffix='.obj') tgt = builder6(env, 'test', 'test.i')[0] s = str(tgt) assert s == 'test.exe', s @@ -1359,9 +1363,8 @@ class BuilderTestCase(unittest.TestCase): b1 = SCons.Builder.Builder(action='foo', suffix='.o') b2 = SCons.Builder.Builder(action='foo', suffix='.c') - b3 = SCons.Builder.MultiStepBuilder(action='bar', - src_suffix = '.foo', - src_builder = b1) + b3 = SCons.Builder.Builder(action='bar', src_suffix = '.foo', + src_builder = b1) b4 = SCons.Builder.Builder(action={}) b5 = SCons.Builder.Builder(action='foo', name='builder5') b6 = SCons.Builder.Builder(action='foo') @@ -1407,17 +1410,6 @@ class BuilderTestCase(unittest.TestCase): for B in b3.get_src_builders(env2): assert B.get_name(env2) == 'B1' - tgts = b1(env, target = [outfile, outfile2], source='moo') - for t in tgts: - name = t.builder.get_name(env) - assert name == 'ListBuilder(bldr1)', name - # The following are not symbolically correct, because the - # ListBuilder was only created on behalf of env, so it - # would probably be OK if better correctness - # env-to-builder mappings caused this to fail in the - # future. - assert t.builder.get_name(env2) == 'ListBuilder(B1)' - tgt = b4(env, target = 'moo', source='cow') assert tgt[0].builder.get_name(env) == 'bldr4' @@ -1529,7 +1521,7 @@ class CompositeBuilderTestCase(unittest.TestCase): assert isinstance(tgt.builder, SCons.Builder.BuilderBase) tgt = builder(env, target='t2', source='t2a.foo t2b.ina')[0] - assert isinstance(tgt.builder, SCons.Builder.MultiStepBuilder), tgt.builder.__dict__ + assert isinstance(tgt.builder, SCons.Builder.BuilderBase), tgt.builder.__dict__ bar_bld = SCons.Builder.Builder(action = 'a-bar', src_suffix = '.inb', @@ -1543,10 +1535,10 @@ class CompositeBuilderTestCase(unittest.TestCase): builder.add_action('.bar', 'bar') tgt = builder(env, target='t3-foo', source='t3a.foo t3b.ina')[0] - assert isinstance(tgt.builder, SCons.Builder.MultiStepBuilder) + assert isinstance(tgt.builder, SCons.Builder.BuilderBase) tgt = builder(env, target='t3-bar', source='t3a.bar t3b.inb')[0] - assert isinstance(tgt.builder, SCons.Builder.MultiStepBuilder) + assert isinstance(tgt.builder, SCons.Builder.BuilderBase) flag = 0 tgt = builder(env, target='t5', source=['test5a.foo', 'test5b.inb'])[0] |