| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| |
| | |
On my windows system, my python is in c:\apps\32\python. Theres a lot of places
where that \32 gets turned into an ascii character and the unit tests don't run.
|
| | |
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
(found by disabling the __getattr__ in Node/FS.py)
|
| | |
|
| |
| |
| |
| | |
Now tests against current interpreter vs default path option.
|
| | |
|
|\ \
| |/ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
* Allow multiple options to be specified with --debug=a,b,c
* Add support for a readonly cache (--cache-readonly)
* Always print stats if requested
* Generally try harder to print out a message on build errors
|
| | | |
|
| |/ |
|
| | |
|
|/ |
|
|
|
|
| |
Fixes #2873.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
keyword parameter.
Several existing tests were still using BuildDir() or build_dir; they were
converted to use VariantDir() and variant_dir.
New tests were added to validate that the --warn=deprecated-build-dir option
and the SetOption method did the right thing. This led to the discovery that
a commonly-used test pattern provided by the infrastructure gobbled up too
much, causing tests to succeed when they should have failed. Fixing the
pattern led to other tests needing to be fixed.
In the process, it was discovered that the SCONSFLAG environment variable was
not getting correctly reset to its original value. Fixing this also caused
additional tests to misbehave, requiring them to be updated.
And test/Sig.py, which tests the deprecated SCons.Sig module, was moved to
the test/Deprecated directory.
All in all, quite a lot of action for what was supposed to be a simple change.
|
| |
|
|
|
|
| |
to enforce that all strings passed to the .write() method are unicode.
|
|
|
|
| |
Apply all the remaining changes from the fixers.
|
| |
|
|
|
|
|
|
|
| |
Comb out all code that supported earlier versions of Python. Most such
code is in snippets of only a few lines and can be identified by having
a Python version string in it. Such snippets add up; this combing pass
probably got rid of over 500 lines of code.
|
| |
|
| |
|
|
|
|
|
|
| |
Apply the first part of the 'raise' fixer (the three-argument cases are not
converted and will need to wait until native support of with_traceback() is
available).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'buffer' fixer simply replaces 'buffer( ... )' with 'memoryview( ... )',
which is incorrect for our cases, so these changes had to be done by hand and
a forward-compatibility class added.
The 'xrange' fixer was applied. Manual changes were minimal: a few case in
test strings and one use of 'range' as an identifer in the same scope as
where 'xrange' was converted to 'range'.
The "sets15" compat function, which provided backward compatibility for Python
versions prior to 2.2, was removed as no longer needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Applied a number of idiomatic changes.
Uses of the 'sort()' method were converted into calls of 'sorted()' when
possible and the sorted() expression was inserted into a subsequent statement
whenever that made sense.
The statement 'while 1:' was changed to 'while True:'.
Names from the 'types' module (e.g., 'types.FooType') were converted to the
equivalent build-in type (e.g., 'foo').
Comparisons between types were changed to use 'isinstance()'.
|
|
|
|
|
| |
development. Note that this set of changes is NOT backward-compatible;
the trunk no longer works with Python 1.5.2, 2.0, or 2.1.
|
| |
|
| |
|
|
|
|
| |
deprecation errors aren't output when --debug=memoizer is on command line, but are when it's passed via SCONSFLAGS.
|
|
|
|
| |
(hopefully this doesn't break other versions)
|
| |
|
| |
|
|
|
|
| |
that don't support metaclasses.
|
| |
|
|
|
|
|
|
|
|
| |
test.must_contain_all_lines()
test.must_contain_any_line()
test.must_not_contain_any_line()
Update tests to use them. Remove "import string" lines where the
change made them unnecessary.
|
| |
|
|
|
|
| |
(Jason Kenny)
|
|
|
|
| |
Refactor messages in the Taskmaster class to use new, common methods.
|
|
|
|
| |
env.SharedLibrary() to not build an import library.
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetBuildFailures(). New function convert_to_buildError, and use it in
several places so all build failures now go through it and are
returned as BuildError exceptions. Had a small effect on output
formatting in many tests but no significant change to behavior. I
reworked the patch a little to keep SCons exit status values the same
as before; this patch could make it simpler to change them in some
cases, e.g. exit with the errno of the failed action if desired. One
nice side effect of this patch is that more scons errors print the
node that caused the error now.
|
|
|
|
| |
a library as an argument.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://scons.tigris.org/svn/scons/branches/core
........
r2903 | stevenknight | 2008-04-22 08:23:52 -0700 (Tue, 22 Apr 2008) | 3 lines
Issue 2019: don't blow up when a "dictionary" source_scanner doesn't
have a more-specific scanner entry for a specified source file's suffix.
........
r2904 | stevenknight | 2008-04-23 11:13:19 -0700 (Wed, 23 Apr 2008) | 3 lines
Fix regression in use of $CXXFLAGS by the default $SHCXXFLAGS setting.
(Greg Noel)
........
r2905 | stevenknight | 2008-04-23 11:23:12 -0700 (Wed, 23 Apr 2008) | 3 lines
Update the test/CXX/SHCXXFLAGS.py with some more modern idioms copied
from test/CXX/CXXFLAGS.py.
........
r2921 | belley | 2008-04-28 08:52:13 -0700 (Mon, 28 Apr 2008) | 98 lines
Candidate list must be flushed when stopping the taskmaster.
============================================================
The taskmaster's candidate list must be flushed when the taskmaster is stopped,
either because of a build error or a keyboard interrupt. This involves failing
each candidates along with their waiting parents. This is necessary because the
waiting parents might be in the pending_children set() that is used by the
taskmaster to determine if cycles exist in the dependency graph. Failure to do
so leads to confusing error messages such as:
scons: *** Found dependency cycle(s):
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/DynamicProperty.h
(<SCons.Node.FS.File instance at 0x95d230c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/NotSupported.h
(<SCons.Node.FS.File instance at 0x960634c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidRequest.h
(<SCons.Node.FS.File instance at 0x95d2bac>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/RequestCanceled.h
(<SCons.Node.FS.File instance at 0x960648c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidType.h
(<SCons.Node.FS.File instance at 0x95d2cec>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Core/InvalidProperty.h
(<SCons.Node.FS.File instance at 0x9606d2c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/SecurityError.h
(<SCons.Node.FS.File instance at 0x96065cc>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Core/PropertyCollector.h
(<SCons.Node.FS.File instance at 0x9606e6c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidArgument.h
(<SCons.Node.FS.File instance at 0x95d2a6c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/DynamicData.h
(<SCons.Node.FS.File instance at 0x95d21cc>)
Changes made:
Job.py:
------
o Implemented an InterruptState object that allows the sharing of the
interrupt state between the Jobs, the Serial/Parallel and the Worker
thread object. This allows for somewhat faster interruption when
Ctrl-C is pressed because the Worker thread will not start any new
task, i.e. the ones siting in the request queue.
Taskmaster.py:
--------------
o Moved the code contained the function Task.fail_continue() to the
function Taskmaster.will_not_build(). This function perform the
clean-up for nodes that will never be built. This includes failing
these nodes along with their waiting parents and removing them from
the list of pending children.
o Improved the taskmaster tracing so that the pending children ref
counts of nodes is also printed.
o When stopping the taskmaster, no_next_candidate() now calls
will_not_build() repetitively to make sure that all candidate nodes
that will never be build are properly cleaned-up.
test/Parallel/multiple-parents.py
---------------------------------
Improved the test to also exercise the following functionality:
o Nodes with multiple targets (not just aliases as it was before).
o SideEffect()
o Interrupting the build.
Submitted against changeset 2920.
All tests pass with both Python 2.5.1 and 1.5.2
Benoit
........
r2922 | stevenknight | 2008-04-28 11:50:10 -0700 (Mon, 28 Apr 2008) | 26 lines
Issue 2024: http://scons.tigris.org/issues/show_bug.cgi?id=2024
Some public packages were importing specific SCons.Options.*Option
submodules directly, instead of using the SCons.Options package
itself (which actually exposed all the SCons.Options.*Option variable
names directly, but what they hey). Our scripts didn't test for
direct importing of the submodules, so this broke when I implemented
backwards comptability with a SCons/Options.py module, instead of a full
SCons/Options/*.py package.
This restores the SCons/Options/*.py package files with stub modules that
provide backwards compatibility (by referring to the new SCons.Variables
functions and classes) and allow for importing all of
The test/Deprecated/Options/*Option.py scripts have had specific submodule
imports added. To make sure this corresponding "feature" continues to
work in the future, I'll be following this with another checkin that
adds submodule imports for the SCons.Variables.*Variable modules.
I ran this with the SCons/Options.py file in place, and also with
a compiled SCons/Options.pyc file in place, to try to make sure it
works regardless. We've seen issues on Debian where their packaging
doesn't clean up old *.pyc files when a Python *.py module is removed.
It looks like this should work regardless of whether the Options.pyc
file is there or not.
........
r2923 | stevenknight | 2008-04-28 11:52:52 -0700 (Mon, 28 Apr 2008) | 3 lines
Update the test/Variables/*Variable.py scripts to verify that importing
SCons.Variables.*Variable submodules continues to work in the future.
........
r2924 | belley | 2008-04-28 14:06:54 -0700 (Mon, 28 Apr 2008) | 6 lines
Fixed a test that my morning change broke. The taskmaster tracing now
includes the pending children ref count.
Benoit
........
r2925 | stevenknight | 2008-04-28 18:00:25 -0700 (Mon, 28 Apr 2008) | 4 lines
Issue 2028: Make sure already-existing Entry Nodes that we find
are converted to Dir Nodes when searching a *PATH list for implicit
dependencies.
........
r2926 | stevenknight | 2008-04-29 08:11:40 -0700 (Tue, 29 Apr 2008) | 3 lines
Issue 2034: Fix $FORTRANMODDIR values like ${TARGET.dir} in the
default $_FORTANMODFLAG expansion. (Stefano)
........
r2927 | stevenknight | 2008-04-29 11:34:02 -0700 (Tue, 29 Apr 2008) | 3 lines
Restore the SCons.Options package (maintains backwards compatibility of
importing submodules) to setup.py.
........
|