Merged revisions 2302-2362,2364-2452 via svnmerge from
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 19 Sep 2007 12:52:29 +0000 (12:52 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 19 Sep 2007 12:52:29 +0000 (12:52 +0000)
commitdd84a5e300f97b48b20d07b0119b6139515b2bba
tree0c824d7694f6a54b5fae780cfca8d04cb02b85bc
parent9cd78a1455a2f476a3bb17a4ab28c874f27b8d6e
Merged revisions 2302-2362,2364-2452 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core

................
  r2311 | stevenknight | 2007-08-17 07:51:31 -0500 (Fri, 17 Aug 2007) | 2 lines

  Fix the CHECKPOINT= help text.
................
  r2313 | stevenknight | 2007-08-17 13:12:13 -0500 (Fri, 17 Aug 2007) | 2 lines

  Make sure the --debug=time works when -h is specified, too.
................
  r2320 | stevenknight | 2007-08-18 08:54:49 -0500 (Sat, 18 Aug 2007) | 3 lines

  Don't execute any Configure() actions while reading SConscript files
  when -c or -h or -H are specified.
................
  r2321 | stevenknight | 2007-08-20 08:48:57 -0500 (Mon, 20 Aug 2007) | 2 lines

  Cleaner test failure if before-and-after PostScript files don't match.
................
  r2322 | stevenknight | 2007-08-20 11:02:57 -0500 (Mon, 20 Aug 2007) | 2 lines

  Remove function definitions that make some Java versions fail.
................
  r2354 | stevenknight | 2007-08-20 14:26:13 -0500 (Mon, 20 Aug 2007) | 3 lines

  Relax test conditions for two scripts that have differing behavior
  under different versions of Java + SWIG (+ gcc...?).
................
  r2355 | stevenknight | 2007-08-20 14:29:36 -0500 (Mon, 20 Aug 2007) | 2 lines

  Fix the SConstruct file so it doesn't die if Subversion isn't installed.
................
  r2356 | stevenknight | 2007-08-20 22:26:35 -0500 (Mon, 20 Aug 2007) | 3 lines

  Update to latest Test{Cmd,Common}.py, with better avoidance of
  race conditions on temporary file and directory names.
................
  r2373 | stevenknight | 2007-08-27 10:47:21 -0500 (Mon, 27 Aug 2007) | 2 lines

  Windows portability fixes in tests.
................
  r2377 | stevenknight | 2007-08-27 12:33:47 -0500 (Mon, 27 Aug 2007) | 2 lines

  Add a null command list to suppress the baseline build when testing.
................
  r2380 | stevenknight | 2007-08-27 16:33:42 -0500 (Mon, 27 Aug 2007) | 616 lines

  Merged revisions 1503-1543,1545-1546,1548-1558,1560-1562,1564-1886,1888-1909,1911-1941,1943,1945-1955,1957-1960,1962-1963,1965-1999,2001-2019,2021-2037,2039-2061,2063-2067,2069-2146,2148-2150,2152-2156,2158-2199,2201-2208,2210-2212,2214-2238,2240,2242-2288,2290-2291,2293-2305,2307-2364,2366-2373,2375-2377,2379 via svnmerge from
  http://scons.tigris.org/svn/scons/branches/sigrefactor

  ........
    r1550 | stevenknight | 2006-07-27 21:40:08 -0500 (Thu, 27 Jul 2006) | 3 lines

    First cut at storing csig separately in the NodeInfo,
    but still using bsigs for up-to-date checks.
  ........
    r1551 | stevenknight | 2006-07-28 07:07:27 -0500 (Fri, 28 Jul 2006) | 2 lines

    Refactor the use of dictify() to avoid __builtin__ issues with zip on 1.5.
  ........
    r1552 | stevenknight | 2006-07-28 10:05:18 -0500 (Fri, 28 Jul 2006) | 3 lines

    Have msvsTests.py print why it's not executing tests
    when on a non-win32 system.
  ........
    r1553 | stevenknight | 2006-07-28 11:28:37 -0500 (Fri, 28 Jul 2006) | 3 lines

    Refactor when NodeInfo objects get instantiated (when requested
    explicitly, not as a side effect of creating a BuildInfo object).
  ........
    r1554 | stevenknight | 2006-07-28 11:42:53 -0500 (Fri, 28 Jul 2006) | 3 lines

    Refactor test/{Source,Target}Signatures.py to make changing their
    semantics easier.
  ........
    r1555 | stevenknight | 2006-07-28 13:18:35 -0500 (Fri, 28 Jul 2006) | 6 lines

    Eliminate use of build signatures, changing interfaces and semantics
    of SourceSignature() and TargetSignatures(), accordingly.  Make use
    of content signatures the default behavior.  Get rid of most uses
    the Sig/*.py calculator modules and passing around a "calc" argument
    everywhere.
  ........
    r1556 | stevenknight | 2006-07-28 15:14:03 -0500 (Fri, 28 Jul 2006) | 3 lines

    Fix use of CacheDir() with Alias and Value Nodes.
    Refactor sub-tests in test/CacheDir.py into separate test scripts.
  ........
    r1557 | stevenknight | 2006-07-28 21:40:31 -0500 (Fri, 28 Jul 2006) | 2 lines

    Finish the necessary coding to remove the no-longer-needed Sig/*.py modules.
  ........
    r1560 | stevenknight | 2006-07-29 05:52:27 -0500 (Sat, 29 Jul 2006) | 3 lines

    Move current_*() methods for the different flavors of file comparison into
    (e.g.) the Node.FS.File class itself, not its FileNodeInfo class.
  ........
    r1562 | stevenknight | 2006-07-29 08:46:23 -0500 (Sat, 29 Jul 2006) | 2 lines

    Fix the default returned Boolean value of changed_{content,timestamp}().
  ........
    r1564 | stevenknight | 2006-07-29 10:51:24 -0500 (Sat, 29 Jul 2006) | 3 lines

    Fix the --debug=explain option.  Move test/explain.py to
    test/option/debug-explain.py.
  ........
    r1565 | stevenknight | 2006-07-29 16:09:31 -0500 (Sat, 29 Jul 2006) | 2 lines

    Refactor Taskmaster to visit source file Nodes in its walk.
  ........
    r1566 | stevenknight | 2006-07-29 17:50:38 -0500 (Sat, 29 Jul 2006) | 4 lines

    Merge Node.FS._cur2() into Node.FS.is_up_to_date().
    Use a Node.FS.*.make_ready() to handle disambiguation.
    Split the guts of has_src_builder() into a separate find_src_builder() method.
  ........
    r1567 | stevenknight | 2006-07-29 17:55:36 -0500 (Sat, 29 Jul 2006) | 2 lines

    Make the sconsign script print the stored action information.
  ........
    r1568 | stevenknight | 2006-07-29 17:59:03 -0500 (Sat, 29 Jul 2006) | 2 lines

    Refactor for test readability.
  ........
    r1569 | stevenknight | 2006-07-29 20:32:26 -0500 (Sat, 29 Jul 2006) | 2 lines

    Get rid of the now-unnecessary "module" argument to SConsign methods.
  ........
    r1570 | stevenknight | 2006-07-29 22:05:47 -0500 (Sat, 29 Jul 2006) | 3 lines

    Move content signature calcuation to an explicit make_ready()
    function.  Collect NodeInfo field updating in the base class.
  ........
    r1571 | stevenknight | 2006-07-30 06:26:17 -0500 (Sun, 30 Jul 2006) | 2 lines

    Eliminte the no-longer-necessary is_pseudo_derived() method.
  ........
    r1572 | stevenknight | 2006-07-30 07:53:40 -0500 (Sun, 30 Jul 2006) | 2 lines

    Add tgt_sig_type arguments to various changed() methods' calling arguments.
  ........
    r1573 | stevenknight | 2006-07-30 08:17:43 -0500 (Sun, 30 Jul 2006) | 2 lines

    More informative output from test/SideEffect.py when it fails.
  ........
    r1574 | stevenknight | 2006-07-30 09:53:11 -0500 (Sun, 30 Jul 2006) | 3 lines

    Restore the ability to fall back gracefully to timestamps if the running
    version of Python has no md5 module available.
  ........
    r1575 | stevenknight | 2006-08-02 20:21:04 -0500 (Wed, 02 Aug 2006) | 3 lines

    Fix a failing Qt test by calling disambiguate() before make_ready()
    for all of the targets in a list, not just the first.
  ........
    r1646 | stevenknight | 2006-10-17 17:21:58 -0500 (Tue, 17 Oct 2006) | 6 lines

    Move all the scons.org stuff from the scons source tree itself to a
    directory next to the trunk, and delete the copies from the branches.
    There's a lot of stuff there (what with all of the documentation of
    the different versions) and it's ridiculous to make everyone sync it
    just to work on the code.
  ........
    r1888 | stevenknight | 2007-04-17 14:57:47 -0500 (Tue, 17 Apr 2007) | 2 lines

    More efficient/cleaner code for dictifying --debug=explain info.
  ........
    r1889 | stevenknight | 2007-04-17 15:55:00 -0500 (Tue, 17 Apr 2007) | 3 lines

    More efficient taskmaster:  filter the list once for anything that hasn't
    been built, then extract a sub-list of anything that hasn't been visited.
  ........
    r1894 | stevenknight | 2007-04-25 13:07:29 -0500 (Wed, 25 Apr 2007) | 4 lines

    Push conversion of individual NodeInfo objects into the objects themselves
    (instead of having the FileBuildInfo class assume that every dependency
    is a file system Entry of some kind).
  ........
    r1895 | stevenknight | 2007-05-04 23:49:13 -0500 (Fri, 04 May 2007) | 3 lines

    Store content signatures for Aliases so we can really use them
    as dependencies.
  ........
    r1896 | stevenknight | 2007-05-07 16:37:06 -0500 (Mon, 07 May 2007) | 3 lines

    Move the TargetSignatures.py test into a subdirectory, which we can
    populate with other tests (of the new settings, etc.).
  ........
    r1897 | stevenknight | 2007-05-07 17:36:04 -0500 (Mon, 07 May 2007) | 3 lines

    Fix use of TargetSignatures('content') to override settings of
    SourceSignatures('timestamp').
  ........
    r1900 | stevenknight | 2007-05-14 18:48:39 -0500 (Mon, 14 May 2007) | 5 lines

    More specific sconsign signature tests: check for an actual 32-digit-long
    hex string when an MD5 checksum is expected, so we can correctly detect
    test failures if "None" shows up instead.  (This will be used for getting
    avoiding calculating the content signature in 'timestamp' mode.)
  ........
    r1949 | stevenknight | 2007-05-30 22:45:25 -0500 (Wed, 30 May 2007) | 7 lines

    Refactor the get_{csig,timestamp,size}() methods so they use the Memoizer
    pattern, instead of the the NodeInfo object, to cache the results.

    This won't be the final form (we have to reach and stuff a csig value
    in the cache slot to make --implicit-cache work) but it's a step that
    should make it easier to work on other in-progress modifications.
  ........
    r1957 | stevenknight | 2007-06-01 10:18:15 -0500 (Fri, 01 Jun 2007) | 14 lines

    Shift updating a Node's signature/timestamp/size information until after
    the Node has been built (or visited, if it's a leaf Node).  This therefore
    changes the semantics of the .visited() method, so that it's called for
    *every* Node visited, not just leaf Nodes.

    This adds a Taskmaster method for updating a Node's status without
    calling the .built() and .visited() methods, which is used by the
    CleanTask subclass to avoid writing .sconsign info when cleaning (-c).

    Interesting ripple effect in the SConf.py module:  we have to manually
    override the .store_info() method on the Nodes we create, so that they
    don't write out their normal .sconsign information.  The SConf subsystem
    writes out its own by hand.
  ........
    r1962 | stevenknight | 2007-06-01 13:12:24 -0500 (Fri, 01 Jun 2007) | 5 lines

    Fix the ability to catch {IO,OS}Errors during build preparation and
    display the actual Node that triggered the error.  (Which Node actually
    triggers this case, and therefore the displayed error message, changed
    after we delayed content evaluation until *after* a Node is built.)
  ........
    r1975 | stevenknight | 2007-06-04 15:21:09 -0500 (Mon, 04 Jun 2007) | 3 lines

    Small refactoring:  use {new,get}_ninfo() instead of instantiating
    self.NodeInfo() directly.
  ........
    r1976 | stevenknight | 2007-06-04 16:14:12 -0500 (Mon, 04 Jun 2007) | 5 lines

    Similar to the previous change, call new_binfo() instead of instantiating
    the BuildInfo() type directly.  Change new_binfo() so it doesn't
    automatically attach a NodeInfo object (because sometimes we want the
    existing NodeInfo, and sometimes we want a completely new one).
  ........
    r1977 | stevenknight | 2007-06-04 16:35:44 -0500 (Mon, 04 Jun 2007) | 3 lines

    The body of DirFile.write() was all indented underneath a "if self.dirty:"
    block.  Invert the test and outdent the body.
  ........
    r1978 | stevenknight | 2007-06-04 16:52:14 -0500 (Mon, 04 Jun 2007) | 2 lines

    Memoize the stored information we get from the .sconsign file.
  ........
    r1979 | stevenknight | 2007-06-05 14:17:32 -0500 (Tue, 05 Jun 2007) | 6 lines

    Delay merging a Node's build information into the .sconsign entry until
    the entry is being written out.  This will allow us to include information
    (such as a content signature) that gets fetched for the first time *after*
    a Node is built.  (The code here isn't the prettiest at the moment, but
    this checkpoints an implementation that passes all the tests.)
  ........
    r1980 | stevenknight | 2007-06-06 10:06:56 -0500 (Wed, 06 Jun 2007) | 4 lines

    Refactor to have the store_info() method pull the binfo from
    the Node (instead of having the Node passing it in).
    Add a do_not_store_info() method to override the behavior.
  ........
    r1981 | stevenknight | 2007-06-06 11:18:29 -0500 (Wed, 06 Jun 2007) | 3 lines

    Refactor the unit test invocation so we can run multiple test
    methods from each class.
  ........
    r1982 | stevenknight | 2007-06-06 11:48:00 -0500 (Wed, 06 Jun 2007) | 7 lines

    Move responsibility for merging buildinfo entries from Node.FS to the
    SConsign module, through a new Base.store_info() method.  Return the
    existing Base.set_entry() method to actually setting the entry, and use
    the new Base.store_info() method for things that need delayed storage
    and merging.  Adds some commented-out prototype code for delaying
    the buildinfo entry merge until later.
  ........
    r1983 | stevenknight | 2007-06-06 22:57:14 -0500 (Wed, 06 Jun 2007) | 4 lines

    Better testing for parallel-build exceptions:  re-order the file names
    so that the input files are evaluated before the output files, increasing
    the likelihood of all three being built by simultaneous threads.
  ........
    r1984 | stevenknight | 2007-06-06 22:57:55 -0500 (Wed, 06 Jun 2007) | 2 lines

    Have Trace() flush after write so interleaving stays correct.
  ........
    r1985 | stevenknight | 2007-06-06 23:01:23 -0500 (Wed, 06 Jun 2007) | 11 lines

    Pull the NodeInfo objects out of the BuildInfo object and just deal
    with them as co-equal attributes of a Node.

    .sconsign files now have a place-holder SConsignEntry class that holds a
    Node's separate binfo and ninfo objects.  This will also be more flexible
    if we ever add more information in the future.

    Since this changes the format (but not content) of the .sconsign file
    entries, we will need to double back and figure out how to make the
    transition from pre-BSR .sconsign files before this goes live.
  ........
    r1986 | stevenknight | 2007-06-07 00:08:21 -0500 (Thu, 07 Jun 2007) | 2 lines

    Store the computed csig in the NodeInfo structure.
  ........
    r1987 | stevenknight | 2007-06-07 18:59:31 -0500 (Thu, 07 Jun 2007) | 12 lines

    Track the content signature directly in the NodeInfo object, not in the
    _memo dictionary.

    Wipe out the existing NodeInfo after the Node has
    been built so the content signature gets recalculated correctly.

    Change the NodeInfoBase.update() method so that the default behavior is
    to always update the specified fields, not just ones that exist.  This
    was necessary to get Alias and Value Nodes to work with this.

    Remove left-over comments.
  ........
    r1988 | stevenknight | 2007-06-08 17:09:24 -0500 (Fri, 08 Jun 2007) | 5 lines

    Invert the logic (is_up_to_date => changed) when gathering Configure
    Node states, and eliminate (most) Boolean logic that short-circuits
    some of the tests.  (This area isn't critical, so making sure the code
    is readable is more important than pure performance.)
  ........
    r1990 | stevenknight | 2007-06-09 17:14:32 -0500 (Sat, 09 Jun 2007) | 7 lines

    Refactor the Node.changed() method so it always evaluates every
    dependency, instead of returning early as soon as it finds a difference
    (like a different number of old and new dependencies).  This will be
    necessary to delay evaluation of Node information (content signatures)
    until it's actually needed (instead of evaluating it up front in case
    it's needed later).
  ........
    r2001 | stevenknight | 2007-06-11 11:20:29 -0500 (Mon, 11 Jun 2007) | 3 lines

    Use SCons.compat in the refactored SConsign.py so use of True/False/etc.
    works on Python 1.5 and 2.1.
  ........
    r2002 | stevenknight | 2007-06-11 11:57:56 -0500 (Mon, 11 Jun 2007) | 3 lines

    Have the "sconsign" script handle Configure context .sconsign information,
    which comes from different structures that have no NodeInfo objects.
  ........
    r2003 | stevenknight | 2007-06-11 15:08:52 -0500 (Mon, 11 Jun 2007) | 8 lines

    Avoid generating content signatures unless they're actually used:

    Don't automatically create a content signature after a File Node is
    built/visited, and delay the .sconsign merge of the information until
    just before the information will be written.  This means we'll only write
    out information that's actually fetched and used as part of deciding
    whether or not to rebuild any targets.
  ........
    r2004 | stevenknight | 2007-06-13 00:05:52 -0500 (Wed, 13 Jun 2007) | 4 lines

    Fetch the {Source,Target}Signatures() values inside the
    Node.FS.changed_since_last_build() method, not in Node.Node.changed().
    This is slightly less efficient, but cleaner architecturally.
  ........
    r2005 | stevenknight | 2007-06-13 10:18:17 -0500 (Wed, 13 Jun 2007) | 6 lines

    Use zip() to collect the children and previous signatures info more
    efficiently when deciding if a node must be rebuilt.  (The comment in
    the previous version of the source code about not using zip() because
    of Python 1.5 name space problems was due to the way the SConfTests.py
    module tried to reset the world's state.)
  ........
    r2006 | stevenknight | 2007-06-13 10:59:16 -0500 (Wed, 13 Jun 2007) | 4 lines

    Add a NotImplementedError base class implementation of
    changed_since_last_build(), with doc string commentary about why the
    method is called through the dependency Node, not the target Node.
  ........
    r2019 | stevenknight | 2007-06-18 12:26:06 -0500 (Mon, 18 Jun 2007) | 4 lines

    Remove the unnecessary cut-and-paste "import SCons.Action" in the
    changed_since_last_build() method, which was a left-over cut and paste.
    SCons.Action was already imported up top.
  ........
    r2021 | stevenknight | 2007-06-18 18:31:09 -0500 (Mon, 18 Jun 2007) | 2 lines

    Make sure all "is up to date" messages get printed when -j is used.
  ........
    r2022 | stevenknight | 2007-06-19 16:26:22 -0500 (Tue, 19 Jun 2007) | 3 lines

    Refactor the __checkClass() and must_be_a_Dir() methods into a more
    general and more efficient must_be_same() method.
  ........
    r2024 | stevenknight | 2007-06-19 19:16:09 -0500 (Tue, 19 Jun 2007) | 3 lines

    More clean up:  change various self.fs.Entry() calls to calls through
    the bound directory.Entry() method.
  ........
    r2026 | stevenknight | 2007-06-19 22:10:04 -0500 (Tue, 19 Jun 2007) | 10 lines

    Refactor lookup of Node.FS nodes as follows:
    * Completely get rid of _doLookup(), which was old, complicated code
      that implemented a top-down, entry-by-entry search for path names.
    * Use a new FS._lookup() method, which normalizes names to absolute
      paths, with a new RootDir._lookup_abs() method, which handles the
      actual lookup.  We plan to use the latter method for fast(er) internal
      lookups of already-normalized paths.
    * Create a new separate FS.get_root() method, just to avoid clutter
      in the RootDir._lookup_abs() method.
  ........
    r2027 | stevenknight | 2007-06-20 13:29:19 -0500 (Wed, 20 Jun 2007) | 3 lines

    Remove the debug-explain.py test from sigrefactor, branches/core
    split this up into multiple sub-tests.
  ........
    r2028 | stevenknight | 2007-06-20 13:38:28 -0500 (Wed, 20 Jun 2007) | 2 lines

    Handle a line-ending mismatch on Windows.
  ........
    r2029 | stevenknight | 2007-06-20 13:39:05 -0500 (Wed, 20 Jun 2007) | 2 lines

    Support the ability to -d when path names have Windows \ separators.
  ........
    r2030 | stevenknight | 2007-06-20 13:55:11 -0500 (Wed, 20 Jun 2007) | 2 lines

    Windows portability:  TestSConsign._obj instead of a hard-coded '.o' suffix.
  ........
    r2031 | stevenknight | 2007-06-20 15:30:06 -0500 (Wed, 20 Jun 2007) | 2 lines

    Python 1.5 namespace portability.
  ........
    r2032 | stevenknight | 2007-06-20 16:38:28 -0500 (Wed, 20 Jun 2007) | 2 lines

    Fix tests affected by the -d fix for runtest.py.
  ........
    r2039 | stevenknight | 2007-06-21 12:17:06 -0500 (Thu, 21 Jun 2007) | 2 lines

    Ignore *.pyo files, too, now that one of the tests causes us to generate them.
  ........
    r2041 | stevenknight | 2007-06-21 12:36:30 -0500 (Thu, 21 Jun 2007) | 7 lines

    In the .sconsign file, store the paths to all of the dependencies relative
    to the top-level SConstruct directory, not the target's directory.
    This allows us to be much more efficient when writing the .sconsign file
    (since we can just store the already-computed path) and reading the
    .sconsign file (since we can use the quick, normalized-lookup method to
    translate the string into the correct Node).
  ........
    r2042 | stevenknight | 2007-06-22 13:25:26 -0500 (Fri, 22 Jun 2007) | 2 lines

    Remove left-over debug code (instrumenting os.path.normpath()).
  ........
    r2043 | stevenknight | 2007-06-22 13:28:35 -0500 (Fri, 22 Jun 2007) | 8 lines

    Actually use the new Dir._lookup_abs() method for fast .sconsign lookups
    relative to the top-level SConstruct directory and make it work correctly.
    (I had commented out the call to binfo.prepare_dependencies() and
    forgot to un-comment it.)  This simplifies things by getting rid of the
    target node we attached to a BuildInfo (purely so we could do relative
    path lookups) and the corresponding conversions into and out of the
    .sconsign file.
  ........
    r2044 | stevenknight | 2007-06-22 19:31:00 -0500 (Fri, 22 Jun 2007) | 5 lines

    Delay fetching the {Source,Target}Signature() values from an environment
    until they're actually needed.  (If the performance here is "close
    enough", then we may not have to look at more complicated loop-invariant
    schemes.)
  ........
    r2045 | stevenknight | 2007-06-22 22:06:19 -0500 (Fri, 22 Jun 2007) | 4 lines

    Replace the Environment.our_deepcopy() function with a
    Util.semi_deepcopy() function, rewritten to use the more efficient
    dispatch-table approach that the normal Python copy.py module uses.
  ........
    r2050 | stevenknight | 2007-06-24 23:49:06 -0500 (Sun, 24 Jun 2007) | 5 lines

    Make the latest signature refactoring portable to Windows, and between
    platforms, by always storing the dependency paths with POSIX separators.
    Handle multiple drive letters by tracking a separate "labspath" attribute
    for the lookup path relative to the root directory's drive letter.
  ........
    r2065 | stevenknight | 2007-06-27 11:02:48 -0500 (Wed, 27 Jun 2007) | 2 lines

    Branch files that were left out of the last merge.
  ........
    r2066 | stevenknight | 2007-06-27 11:03:05 -0500 (Wed, 27 Jun 2007) | 2 lines

    Branch files that were left out of the last merge.
  ........
    r2067 | stevenknight | 2007-06-27 11:03:24 -0500 (Wed, 27 Jun 2007) | 2 lines

    Branch files that were left out of the last merge.
  ........
    r2069 | stevenknight | 2007-06-27 19:08:50 -0500 (Wed, 27 Jun 2007) | 2 lines

    Remove an unnecessary target.has_builder() call in changed_since_last_build().
  ........
    r2070 | stevenknight | 2007-06-27 19:25:47 -0500 (Wed, 27 Jun 2007) | 3 lines

    Refactor changed_since_last_build() to avoid code duplication and simplify
    (?) the structure--probably negligible performance impact.
  ........
    r2071 | stevenknight | 2007-06-29 16:21:37 -0500 (Fri, 29 Jun 2007) | 3 lines

    Add the Decider() function, globally, and settable per construction
    environment or per Node.  This hasn't yet been optimized.
  ........
    r2072 | stevenknight | 2007-06-29 18:01:53 -0500 (Fri, 29 Jun 2007) | 2 lines

    Memoize Executor.get_build_env().
  ........
    r2073 | stevenknight | 2007-06-30 01:04:43 -0500 (Sat, 30 Jun 2007) | 5 lines

    Constructing a dictionary to map signature types ('build', 'MD5', etc.)
    to a dependency's methods ends up being less efficient than just using
    a series of if-elif statements.  Refactor the default_decider_function()
    accordingly.
  ........
    r2074 | stevenknight | 2007-07-01 08:59:35 -0500 (Sun, 01 Jul 2007) | 4 lines

    Now that the objects returned by Node.FS.get_stored_implicit() already
    convert the .sconsign strings to Nodes, don't have the --implicit-cache
    loop run them through the source_factory method.
  ........
    r2075 | stevenknight | 2007-07-02 09:46:21 -0500 (Mon, 02 Jul 2007) | 4 lines

    Eliminate an if-test for the intialized default construction environment
    for internal calls of SCons.Defaults.DefaultEnvironment(), and some
    external calls as well.
  ........
    r2076 | stevenknight | 2007-07-02 10:17:58 -0500 (Mon, 02 Jul 2007) | 3 lines

    More efficient use of the changed_since_last_build() method from
    the default construction environment.
  ........
    r2077 | stevenknight | 2007-07-02 12:26:34 -0500 (Mon, 02 Jul 2007) | 6 lines

    Move the decision about whether a given dependent Node has a Builder
    or not back to when the Builder is actually set, by splitting the
    decision path in two;  one for sources and one for targets.  (Setting a
    construction environment's decider sets both of them, which may or may
    not be what we want in the long term.))
  ........
    r2079 | stevenknight | 2007-07-02 13:14:40 -0500 (Mon, 02 Jul 2007) | 4 lines

    Now explicity set the source decider function for a construction
    environment when the SourceSignatures() method is called, avoiding
    the delayed-evaluation tests.
  ........
    r2081 | stevenknight | 2007-07-02 13:55:58 -0500 (Mon, 02 Jul 2007) | 6 lines

    And now explicity set the target decider function for a construction
    environment when the TargetSignatures() method is called, avoiding even
    more delayed-evaluation tests.

    This also renames the cslb_*() functions to decide_*().
  ........
    r2084 | stevenknight | 2007-07-03 07:13:38 -0500 (Tue, 03 Jul 2007) | 3 lines

    Memoize the Node.get_build_env() value, too, since we're now callng
    that repeatedly.
  ........
    r2085 | stevenknight | 2007-07-03 09:50:25 -0500 (Tue, 03 Jul 2007) | 5 lines

    Get rid of the str_to_nodes() function within the
    FileBuildInfo.prepare_dependencies() method that checks for Alias lookups,
    in favor of a loop that uses new str_to_nodes() methods in the individual
    *NodeInfo classes to convert the strings to Nodes more directly.
  ........
    r2086 | stevenknight | 2007-07-03 10:07:04 -0500 (Tue, 03 Jul 2007) | 3 lines

    Format the FileBuildInfo entries by zipping the children and their
    NodeInfo signatures, not by fetching each one by index.
  ........
    r2089 | stevenknight | 2007-07-03 20:20:15 -0500 (Tue, 03 Jul 2007) | 4 lines

    Remove the _add_child() checks that verify that the argument is a list
    and contains all Nodes.  It's internal, so any necessary verification
    can happen in the methods that call it.
  ........
    r2101 | stevenknight | 2007-07-08 16:13:56 -0500 (Sun, 08 Jul 2007) | 3 lines

    Add string aliases for the canned Decider functions we'll support out of the
    box:  timestamp-match (a.k.a. make), timestamp-newer, MD5 (a.k.a.  content).
  ........
    r2115 | stevenknight | 2007-07-10 21:00:14 -0500 (Tue, 10 Jul 2007) | 2 lines

    Refactor test/option-q.py into two separate subtests.
  ........
    r2144 | stevenknight | 2007-07-16 01:04:25 -0500 (Mon, 16 Jul 2007) | 3 lines

    Fix -q exiting with a non-zero exit status when a file with no builder
    is specified on the command line.
  ........
    r2314 | stevenknight | 2007-08-17 13:46:27 -0500 (Fri, 17 Aug 2007) | 3 lines

    Capture a test case to make sure get_csig() can be called from
    within a function Action.  (Damyan Pepper)
  ........
    r2315 | stevenknight | 2007-08-17 15:05:54 -0500 (Fri, 17 Aug 2007) | 3 lines

    Uncomment the test for content signatures with directories as sources,
    which the signature refactoring makes work.
  ........
    r2316 | stevenknight | 2007-08-17 16:33:25 -0500 (Fri, 17 Aug 2007) | 2 lines

    Make sure that CacheDir() works even when timestamp signatures are used.
  ........
    r2317 | stevenknight | 2007-08-17 16:51:02 -0500 (Fri, 17 Aug 2007) | 2 lines

    Change line endings from DOS to UNIX.
  ........
    r2318 | stevenknight | 2007-08-18 07:13:09 -0500 (Sat, 18 Aug 2007) | 4 lines

    Add a new MD5-timestamp decider function that assumes that if the
    timestamp hasn't changed, then the content hasn't changed either, and
    it should then just re-use the content signature from the last run.
  ........
    r2319 | stevenknight | 2007-08-18 07:41:59 -0500 (Sat, 18 Aug 2007) | 3 lines

    Add a test script to verify that action changes cause rebuilds even
    when file decisions are configured for timestamps.
  ........
    r2360 | stevenknight | 2007-08-23 08:07:16 -0500 (Thu, 23 Aug 2007) | 2 lines

    Fix the test by resetting the content3.in file to the correct timestamp.
  ........
    r2361 | stevenknight | 2007-08-23 12:02:04 -0500 (Thu, 23 Aug 2007) | 3 lines

    Use the new hashlib module for our MD5 signature calculations, with the
    introduction of a compatibility module for pre-2.5 Python versions.
  ........
    r2362 | stevenknight | 2007-08-23 14:02:56 -0500 (Thu, 23 Aug 2007) | 2 lines

    Make targets implicitly depend on the commands used to build them.
  ........
    r2364 | stevenknight | 2007-08-24 00:07:46 -0500 (Fri, 24 Aug 2007) | 2 lines

    Add code to convert what we can from the old .sconsign file entries.
  ........
    r2366 | stevenknight | 2007-08-24 19:40:09 -0500 (Fri, 24 Aug 2007) | 2 lines

    Add a $IMPLICIT_COMMAND_DEPENDENCIES variable.
  ........
    r2367 | stevenknight | 2007-08-24 19:43:58 -0500 (Fri, 24 Aug 2007) | 2 lines

    Add mention of $IMPLICIT_COMMAND_DEPENDENCIES to the release notes.
  ........
    r2375 | stevenknight | 2007-08-27 11:43:04 -0500 (Mon, 27 Aug 2007) | 2 lines

    Windows portability fixes in tests.
  ........
    r2376 | stevenknight | 2007-08-27 12:19:52 -0500 (Mon, 27 Aug 2007) | 2 lines

    Use string.join() instead of a more modern string object method.
  ........
    r2379 | stevenknight | 2007-08-27 12:40:02 -0500 (Mon, 27 Aug 2007) | 3 lines

    Add version ID's to the classes stored in a .sconsign file, for easier
    future conversion as we change schemas.
  ........
................
  r2390 | stevenknight | 2007-08-27 17:32:00 -0500 (Mon, 27 Aug 2007) | 4 lines

  Remove the old TargetSignatures.py test, which was
  overlooked in the merge.  (Its functionality got moved to
  test/TargetSignatures/build-content.py.)
................
  r2391 | stevenknight | 2007-08-28 10:47:15 -0500 (Tue, 28 Aug 2007) | 2 lines

  Don't die if an old .sconsign entry has no .ninfo attribute.
................
  r2392 | stevenknight | 2007-08-28 15:52:56 -0500 (Tue, 28 Aug 2007) | 2 lines

  Fix an O(N^2) search in Tool.install.add_targets_to_INSTALLED_FILES().
................
  r2393 | stevenknight | 2007-08-28 21:28:30 -0500 (Tue, 28 Aug 2007) | 2 lines

  Add support for an ensure_suffix Builder keyword argument.
................
  r2394 | stevenknight | 2007-08-28 21:37:04 -0500 (Tue, 28 Aug 2007) | 3 lines

  Separate the failure tests when trying to connect to an X server,
  so we can tell why it's failing...
................
  r2395 | stevenknight | 2007-08-29 11:46:34 -0500 (Wed, 29 Aug 2007) | 3 lines

  Look for a raw exit status of 1, or the shifted exit status, so we're
  not dependent on how the test infrastructure hands it to us.
................
  r2396 | stevenknight | 2007-08-29 18:12:39 -0500 (Wed, 29 Aug 2007) | 2 lines

  Disable universal_newlines when calling subprocess.
................
  r2397 | stevenknight | 2007-08-29 18:13:29 -0500 (Wed, 29 Aug 2007) | 3 lines

  Add a Progress() hook to support display of per-Node progress while
  walking the DAG.
................
  r2398 | stevenknight | 2007-08-29 19:43:12 -0500 (Wed, 29 Aug 2007) | 7 lines

  Add a test case (courtesy Greg Noel) to characterize how we handle
  mid-build changes to implicit dependency files (we currently don't detect
  the change and rebuild all dependents).

  Move two other test scripts related to implicit dependency behavior
  into a common subdirectory.
................
  r2399 | stevenknight | 2007-08-30 10:32:50 -0500 (Thu, 30 Aug 2007) | 4 lines

  Add a $JAVABOOTCLASSPATH variable.
  Commonize $JAVA*PATH expansion with a utility class.
  (Greg Ward)
................
  r2400 | stevenknight | 2007-08-30 10:59:56 -0500 (Thu, 30 Aug 2007) | 3 lines

  Make sure extra auxiliary files generated by LaTeX packages are deleted
  by scons -c.  (Matthias Troffaes)
................
  r2401 | stevenknight | 2007-08-30 18:43:24 -0500 (Thu, 30 Aug 2007) | 3 lines

  Issue 1589:  when Cloning a construction environment, apply set variables
  both before and after calling tools (like during intialization).
................
  r2402 | stevenknight | 2007-08-30 18:52:02 -0500 (Thu, 30 Aug 2007) | 3 lines

  Issue 1555:  add Windows64 support for the Intel C compiler.
  (Gary Oberbrunner)
................
  r2403 | stevenknight | 2007-08-30 19:57:24 -0500 (Thu, 30 Aug 2007) | 4 lines

  Issue 1493:  have ParseConfig(), MergeFlags() and ParseFlags() handle
  output from *-config commands with quoted arguments (path names that
  contain spaces).
................
  r2410 | stevenknight | 2007-09-04 00:28:46 -0500 (Tue, 04 Sep 2007) | 4 lines

  Add a shlex.split() compatability wrapper for pre-Python 2.3 versions.
  Unfortunately, it doesn't behave exactly like later versions (it doesn't
  detect mid-token quotes), but we're not going to worry about that.
................
  r2411 | stevenknight | 2007-09-04 12:56:36 -0500 (Tue, 04 Sep 2007) | 3 lines

  Add a Sig.py module that generates a warning if user code tries to
  "import SCons.Sig" directly.
................
  r2412 | stevenknight | 2007-09-04 20:53:09 -0500 (Tue, 04 Sep 2007) | 3 lines

  Make the Return() function return immediately.  Add a stop= keyword
  argument in case anyone really needs the old behavior.
................
  r2413 | stevenknight | 2007-09-05 10:38:40 -0500 (Wed, 05 Sep 2007) | 4 lines

  Refactor initialization of different pieces (the underlying
  InstallBuilder, the Install() and InstallAs() wrappers) into separate
  blocks.
................
  r2414 | stevenknight | 2007-09-05 11:39:25 -0500 (Wed, 05 Sep 2007) | 4 lines

  Move the definitions of the wrapper functions to the global namespace
  (nesting them and delaying intialization of global variables doesn't
  save anything and just complicates reading the code).
................
  r2415 | stevenknight | 2007-09-05 13:31:27 -0500 (Wed, 05 Sep 2007) | 3 lines

  When Cloning a construction environment, re-bind any methods added by
  the AddMethod() method to the new construction environment.
................
  r2416 | stevenknight | 2007-09-06 10:04:18 -0500 (Thu, 06 Sep 2007) | 7 lines

  Add a MethodWrapper class that handles generic association of a
  callable and an object that wants to use the callable as a "method."
  Provide hooks for centralized cloning of the different "methods" on to
  a new, copied underlying environment (used by the env.Clone() method).
  Make BuilderWrapper a subclass of MethodWrapper.  Modify env.Clone()
  for the new, combined way of handling these "methods."
................
  r2417 | stevenknight | 2007-09-06 14:11:35 -0500 (Thu, 06 Sep 2007) | 2 lines

  Refactor test failure conditions to use test.must_match().
................
  r2418 | stevenknight | 2007-09-06 14:28:52 -0500 (Thu, 06 Sep 2007) | 9 lines

  Restore the ability to use the Install() and InstallAs() builders without
  having to specify the 'install' tool directly.
  Add a ToolInitializer class that handles delayed intialization of tool
  modules when added to a construction environment as a "method."
  Add an env.RemoveModule() method that takes care of removing an added
  MethodWrapper instance from the environment, deleting it from the
  list that gets copied on cloning (and changing the name of that list
  back to "added_methods").
................
  r2419 | stevenknight | 2007-09-07 06:27:33 -0500 (Fri, 07 Sep 2007) | 3 lines

  Issue 1725:  avoid race conditions when pushing a file to CacheDir().
  (Carsten Koch)
................
  r2420 | pscholl | 2007-09-07 09:13:28 -0500 (Fri, 07 Sep 2007) | 7 lines

   * delete the push_emitter() function. Direct manipulation of the source and
     target lists seem the way to go for packaging. Fix all packagers using this
     function.

   * fix the internationalization testcase
................
  r2421 | pscholl | 2007-09-07 09:14:12 -0500 (Fri, 07 Sep 2007) | 3 lines

   * new testcase for building multiple rpm packages from one scons call.
................
  r2422 | stevenknight | 2007-09-07 14:12:22 -0500 (Fri, 07 Sep 2007) | 4 lines

  Capture a test script with a particular reported test case for multiple
  Package() calls spread across different SConscript subdirectories.
  (Use case courtesy Andrew Smith.)
................
  r2423 | stevenknight | 2007-09-07 17:40:25 -0500 (Fri, 07 Sep 2007) | 4 lines

  Fix use of exitstatfunc on Action objects by getting rid of the ability
  to override exitstatfunc when calling a function (which we were only using
  internally to basically suppress whatever was set on the Action object).
................
  r2424 | stevenknight | 2007-09-10 20:06:59 -0500 (Mon, 10 Sep 2007) | 3 lines

  Make sure the library dependencies show up in --tree=derived output.
  (The Microsoft toolchain used to fail this on SCons 0.97 and earlier.)
................
  r2425 | stevenknight | 2007-09-10 22:25:27 -0500 (Mon, 10 Sep 2007) | 5 lines

  When adding a new entry to a directory, reset the .implicit attribute to
  None so that the directory will get "re-scanned" for implicit dependencies
  (the entries within the directory) if it gets re-visited later in the
  DAG walk.
................
  r2426 | stevenknight | 2007-09-12 12:38:05 -0500 (Wed, 12 Sep 2007) | 2 lines

  String method fix for Python 1.5.2.
................
  r2427 | stevenknight | 2007-09-12 12:38:29 -0500 (Wed, 12 Sep 2007) | 2 lines

  Remove left-over commented-out Trace() call.
................
  r2428 | stevenknight | 2007-09-13 01:36:34 -0500 (Thu, 13 Sep 2007) | 2 lines

  Handle Java inner class names with $ in them.  (Tzvetan Mikov)
................
  r2429 | stevenknight | 2007-09-13 14:29:09 -0500 (Thu, 13 Sep 2007) | 2 lines

  Add a check that should (possibly) avoid import errors on Solaris.
................
  r2430 | stevenknight | 2007-09-13 14:30:36 -0500 (Thu, 13 Sep 2007) | 5 lines

  Windows portability fixes for Progress() tests, restoring the original
  universal_newlines setting on the test infrastructure, changing file
  names to make the order in which Nodes are visited case-insensitive, and
  fixing line endings on output we expect to read from files.
................
  r2431 | stevenknight | 2007-09-14 07:58:44 -0500 (Fri, 14 Sep 2007) | 2 lines

  Make sure all function examples are introduced by "Example:" or "Examples:".
................
  r2432 | stevenknight | 2007-09-14 11:35:03 -0500 (Fri, 14 Sep 2007) | 3 lines

  Clean up Options files initialization so we don't have to check on usage
  for whether it's been set.
................
  r2433 | stevenknight | 2007-09-14 23:12:32 -0500 (Fri, 14 Sep 2007) | 4 lines

  Fix use of {Source,Target}Signatures() with construction variable
  overrides by making the default decider_*() things unbound functions,
  instead of bound methods.
................
  r2434 | stevenknight | 2007-09-14 23:14:25 -0500 (Fri, 14 Sep 2007) | 2 lines

  Don't use "True" in the test infrastructure, use 1 instead.
................
  r2435 | stevenknight | 2007-09-15 00:52:56 -0500 (Sat, 15 Sep 2007) | 2 lines

  Avoid use of False in two tests.
................
  r2436 | pscholl | 2007-09-17 08:14:35 -0500 (Mon, 17 Sep 2007) | 21 lines

   * additional testcase for packaging:
      * building multiple packages from one scons call
      * supplying explicit target names for msi and rpm
      * test the Find*Files() functions

   * modify the package-type option test to not only catch
     the PACKAGETYPE, but also the --package-type alias
     command line argument

   * move FindInstalledFiles to Environment.py and remove
     Find*Files() functions from the packaging module.

   * capitalize the VENDOR tag for msi

   * remove the superfluous packager.py files

   * Add documentation for FindInstalledFiles() and
     FindSourceFiles()
................
  r2437 | stevenknight | 2007-09-17 11:06:28 -0500 (Mon, 17 Sep 2007) | 2 lines

  Provide compatibility for the variables defined in SCons.Sig.
................
  r2438 | stevenknight | 2007-09-17 23:13:27 -0500 (Mon, 17 Sep 2007) | 5 lines

  Handle duplicate fies in a target list:  only decrement the reference
  count once for the target, not once for each time it shows up in the
  list, so dependencies don't "disappear" from the DAG walk because the
  reference count gets decremented past zero.
................
  r2439 | stevenknight | 2007-09-17 23:15:45 -0500 (Mon, 17 Sep 2007) | 2 lines

  Fix syntax errors from failure to quote the package type.
................
  r2440 | stevenknight | 2007-09-17 23:21:20 -0500 (Mon, 17 Sep 2007) | 2 lines

  Use AddOption() to support the --package-type option.
................
  r2441 | stevenknight | 2007-09-17 23:31:40 -0500 (Mon, 17 Sep 2007) | 2 lines

  Skip the test if tar isn't available.
................
  r2442 | stevenknight | 2007-09-18 06:35:04 -0500 (Tue, 18 Sep 2007) | 2 lines

  Remove Tool/packaging/packager.py from the manifest.
................
  r2443 | garyo | 2007-09-18 08:13:15 -0500 (Tue, 18 Sep 2007) | 1 line

  SGI IRIX: use proper C++ compiler for SHCXX, don't hardcode CC.
................
  r2444 | garyo | 2007-09-18 08:17:03 -0500 (Tue, 18 Sep 2007) | 1 line

  Avoid running MinGW tests on IRIX; they're irrelevant there and they fail anyway (they seem to pass on Linux, so left them in there.)
................
  r2445 | garyo | 2007-09-18 08:20:52 -0500 (Tue, 18 Sep 2007) | 1 line

  Fixed wrong return type in test code; caused warnings on IRIX which made test fail.
................
  r2446 | stevenknight | 2007-09-18 11:21:53 -0500 (Tue, 18 Sep 2007) | 2 lines

  Record Gary's change to the sgic++ tool.
................
  r2451 | stevenknight | 2007-09-19 00:01:46 -0500 (Wed, 19 Sep 2007) | 2 lines

  Windows portability fix (when checking for path names in output).
................
  r2452 | stevenknight | 2007-09-19 00:08:23 -0500 (Wed, 19 Sep 2007) | 2 lines

  Handle the ImportError if there's no threading module on Windows.
................

git-svn-id: http://scons.tigris.org/svn/scons/trunk@2454 fdb21ef1-2011-0410-befe-b5e4ea1792b1
182 files changed:
.svnt/conf
QMTest/TestCmd.py
QMTest/TestCommon.py
QMTest/TestSCons.py
SConstruct
bench/dependency-func.py [new file with mode: 0644]
doc/man/scons.1
doc/man/sconsign.1
runtest.py
src/CHANGES.txt
src/RELEASE.txt
src/engine/MANIFEST.in
src/engine/SCons/Action.py
src/engine/SCons/Action.xml
src/engine/SCons/Builder.py
src/engine/SCons/CacheDir.py
src/engine/SCons/CacheDirTests.py
src/engine/SCons/Debug.py
src/engine/SCons/Defaults.py
src/engine/SCons/Environment.py
src/engine/SCons/EnvironmentTests.py
src/engine/SCons/Executor.py
src/engine/SCons/ExecutorTests.py
src/engine/SCons/JobTests.py
src/engine/SCons/Node/Alias.py
src/engine/SCons/Node/FS.py
src/engine/SCons/Node/FSTests.py
src/engine/SCons/Node/NodeTests.py
src/engine/SCons/Node/Python.py
src/engine/SCons/Node/PythonTests.py
src/engine/SCons/Node/__init__.py
src/engine/SCons/Options/__init__.py
src/engine/SCons/SConf.py
src/engine/SCons/SConfTests.py
src/engine/SCons/SConsign.py
src/engine/SCons/SConsignTests.py
src/engine/SCons/Scanner/ScannerTests.py
src/engine/SCons/Scanner/__init__.py
src/engine/SCons/Script/Main.py
src/engine/SCons/Script/SConscript.py
src/engine/SCons/Script/__init__.py
src/engine/SCons/Sig.py [new file with mode: 0644]
src/engine/SCons/Sig/.aeignore [deleted file]
src/engine/SCons/Sig/.cvsignore [deleted file]
src/engine/SCons/Sig/MD5.py [deleted file]
src/engine/SCons/Sig/MD5Tests.py [deleted file]
src/engine/SCons/Sig/TimeStampTests.py [deleted file]
src/engine/SCons/Taskmaster.py
src/engine/SCons/TaskmasterTests.py
src/engine/SCons/Tool/JavaCommon.py
src/engine/SCons/Tool/JavaCommonTests.py
src/engine/SCons/Tool/__init__.py
src/engine/SCons/Tool/install.py
src/engine/SCons/Tool/intelc.py
src/engine/SCons/Tool/javac.py
src/engine/SCons/Tool/javac.xml
src/engine/SCons/Tool/midl.py
src/engine/SCons/Tool/msvs.py
src/engine/SCons/Tool/msvsTests.py
src/engine/SCons/Tool/packaging/__init__.py
src/engine/SCons/Tool/packaging/ipk.py
src/engine/SCons/Tool/packaging/msi.py
src/engine/SCons/Tool/packaging/packager.py [deleted file]
src/engine/SCons/Tool/packaging/rpm.py
src/engine/SCons/Tool/packaging/src_tarbz2.py
src/engine/SCons/Tool/packaging/src_targz.py
src/engine/SCons/Tool/packaging/src_zip.py
src/engine/SCons/Tool/packaging/tarbz2.py
src/engine/SCons/Tool/packaging/targz.py
src/engine/SCons/Tool/packaging/zip.py
src/engine/SCons/Tool/rpm.py
src/engine/SCons/Tool/sgic++.py
src/engine/SCons/Tool/tex.py
src/engine/SCons/Tool/wix.py
src/engine/SCons/Util.py
src/engine/SCons/UtilTests.py
src/engine/SCons/compat/__init__.py
src/engine/SCons/compat/_scons_hashlib.py [new file with mode: 0644]
src/engine/SCons/compat/_scons_subprocess.py
src/script/sconsign.py
src/setup.py
test/Actions/addpost-link.py
test/Actions/exitstatfunc.py [moved from src/engine/SCons/Sig/TimeStamp.py with 50% similarity]
test/Actions/timestamp.py [new file with mode: 0644]
test/AddMethod.py
test/Alias/Depends.py [new file with mode: 0644]
test/BuildDir/errors.py
test/Builder/ensure_suffix.py [new file with mode: 0644]
test/CacheDir/multiple-targets.py [new file with mode: 0644]
test/CacheDir/scanner-target.py [new file with mode: 0644]
test/CacheDir/timestamp.py [moved from src/engine/SCons/Sig/SigTests.py with 69% similarity]
test/Configure/clean.py [new file with mode: 0644]
test/Configure/help.py [new file with mode: 0644]
test/Copy.py
test/Decider/Environment.py [new file with mode: 0644]
test/Decider/MD5-timestamp.py [new file with mode: 0644]
test/Decider/Node.py [new file with mode: 0644]
test/Decider/default.py [new file with mode: 0644]
test/Decider/mixed.py [new file with mode: 0644]
test/Decider/timestamp.py [new file with mode: 0644]
test/Decider/unknown.py [new file with mode: 0644]
test/Delete.py
test/Depends.py
test/Dir/source.py
test/Errors/preparation.py
test/Install/Install.py
test/Install/tool.py [moved from src/engine/SCons/Sig/__init__.py with 67% similarity]
test/Java/JAVABOOTCLASSPATH.py [new file with mode: 0644]
test/Java/multi-step.py
test/Java/swig-dependencies.py
test/LIBS.py
test/MinGW/RCCOM.py
test/MinGW/RCCOMSTR.py
test/NodeOps.py
test/Parallel/duplicate-target.py [new file with mode: 0644]
test/Progress/TARGET.py [new file with mode: 0644]
test/Progress/dots.py [new file with mode: 0644]
test/Progress/file.py [new file with mode: 0644]
test/Progress/function.py [new file with mode: 0644]
test/Progress/interval.py [new file with mode: 0644]
test/Progress/object.py [new file with mode: 0644]
test/Progress/spinner.py [new file with mode: 0644]
test/QT/installed.py
test/QT/moc-from-header.py
test/SConscript/Return.py [new file with mode: 0644]
test/SWIG/build-dir.py
test/Scanner/generated.py
test/Sig.py [new file with mode: 0644]
test/SourceCode.py
test/SourceSignatures.py [deleted file]
test/SourceSignatures/basic.py [new file with mode: 0644]
test/SourceSignatures/env.py [new file with mode: 0644]
test/SourceSignatures/implicit-cache.py [new file with mode: 0644]
test/SourceSignatures/no-csigs.py [new file with mode: 0644]
test/SourceSignatures/overrides.py [new file with mode: 0644]
test/SourceSignatures/switch-rebuild.py [new file with mode: 0644]
test/TEX/auxiliaries.py
test/TEX/clean.py [new file with mode: 0644]
test/TargetSignatures/build-content.py [moved from test/TargetSignatures.py with 56% similarity]
test/TargetSignatures/content.py [new file with mode: 0644]
test/TargetSignatures/overrides.py [new file with mode: 0644]
test/Value.py
test/bad-drive.py
test/chained-build.py
test/exceptions.py
test/explain/get_csig.py [new file with mode: 0644]
test/implicit-cache/basic.py
test/implicit/IMPLICIT_COMMAND_DEPENDENCIES.py [new file with mode: 0644]
test/implicit/asynchronous-modification.py [new file with mode: 0644]
test/implicit/changed-node.py [moved from test/changed-node.py with 100% similarity]
test/option-u.py
test/option/debug-memoizer.py
test/option/debug-stree.py
test/option/debug-time.py
test/option/debug-tree.py
test/option/taskmastertrace.py
test/option/tree-all.py
test/option/tree-lib.py [new file with mode: 0644]
test/packaging/convenience-functions.py [new file with mode: 0644]
test/packaging/msi/explicit-target.py [new file with mode: 0644]
test/packaging/multiple-packages-at-once.py [new file with mode: 0644]
test/packaging/multiple-subdirs.py [new file with mode: 0644]
test/packaging/option--package-type.py
test/packaging/place-files-in-subdirectory.py
test/packaging/rpm/cleanup.py
test/packaging/rpm/explicit-target.py [new file with mode: 0644]
test/packaging/rpm/internationalization.py
test/packaging/rpm/multipackage.py [new file with mode: 0644]
test/packaging/strip-install-dir.py
test/question/Configure.py [moved from test/option-q.py with 53% similarity]
test/question/basic.py [new file with mode: 0644]
test/question/no-builder.py [new file with mode: 0644]
test/runtest/fallback.py
test/runtest/noqmtest.py
test/runtest/python.py
test/sconsign/script/Configure.py [new file with mode: 0644]
test/sconsign/script/SConsignFile.py
test/sconsign/script/Signatures.py
test/sconsign/script/dblite.py
test/sconsign/script/no-SConsignFile.py
test/timestamp-fallback.py
test/up-to-date.py