summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
Commit message (Collapse)AuthorAgeFilesLines
* Change test for str(node1) is str(node2) to use ==. Expecting that the ↵William Deegan2018-11-121-1/+4
| | | | strings would have the same id() is not reasonable. Expecting their values are equal is.
* Resolve comments from @GaryO to clarify new code.William Deegan2018-11-121-2/+13
|
* Clarify and simplify logic in Node.get_binfo()William Deegan2018-11-121-4/+8
|
* Fix typosWilliam Deegan2018-11-121-1/+1
|
* Fix docstring on FileBuildInfo per comment from @dirkbaechleWilliam Deegan2018-11-121-3/+11
|
* fix whitespace issuesWilliam Deegan2018-11-121-3/+0
|
* switch from izip to zip. no izip in py3William Deegan2018-11-122-3/+3
|
* Revisit caching of filename -> csig map and invalidate when reasonableWilliam Deegan2018-11-122-38/+29
|
* Add docstringWilliam Deegan2018-11-121-0/+8
|
* Change logic to ensure we only build the dependency map once per target file.William Deegan2018-11-121-3/+14
|
* Moved logic to handle Timestamp-MD5 decider issues into File() node. One ↵William Deegan2018-11-122-152/+145
| | | | minor change in Node.Changed() it now has to handle the decider called indirectly throwing DeciderNeedsNode exception which has a property of decider it should call. Also had to update the explain logic to handle this exception.
* Check in before migrating logic from Node() -> File(). Since the ↵William Deegan2018-11-121-3/+17
| | | | | | Timestamp-MD5 decider issue we're trying to resolve only affects File() nodes. Additionally creating the map of file names -> csigs for info loaded from SConsign would only be used when using Timestamp-MD5
* move comment to docstring for LinkFunc()William Deegan2018-11-121-5/+7
|
* clarify docstring on decider functionWilliam Deegan2018-11-121-2/+2
|
* pull changes for this issue from WIP branch on mongo treeWilliam Deegan2018-11-121-23/+60
|
* Clear up some comments and convert comment to docstring where it makes senseWilliam Deegan2018-11-121-16/+24
|
* change exists_file() method to skip adding files AND sigs for files in the ↵William Deegan2018-11-121-33/+50
| | | | ignore set. previously was only skipping signitures which left the sconsign in an inconsistant state. (More file names than sigs)
* add method find_repo_file() which finds the file in it's known repositories. ↵William Deegan2018-11-121-3/+28
| | | | Minor reformat in rfile().
* Create test to verify fix for issue #2980William Deegan2018-11-122-4/+140
| | | | | | There are still possible errors due to timestamp-MD5 + cachedir + changed implicit or regular dependencies (but the same # of such as the previous build). These are not yet handled as the fix being used for changed number of such breaks a number of tests. This fix doe reduce the number of possible issues.
* Fix comment spellingWilliam Deegan2018-11-121-1/+1
|
* Switch to use unittest.main() instead of building up a TestSuite which is ↵William Deegan2018-11-121-0/+1
| | | | never used
* remove unittest.TestSuite() no longer needed as unittest.main() is available ↵William Deegan2018-11-121-32/+1
| | | | now. (And seems actually a little faster)
* rename variable then to previous_children to make the code a bit easier to ↵William Deegan2018-11-121-5/+7
| | | | understand.
* Added docstring to File.changed_timestamp_then_content()include a note and ↵William Deegan2018-11-121-3/+16
| | | | reference to issue #2980
* Modified fix for issue #2980 where the more complicated logic is only ↵William Deegan2018-11-121-6/+6
| | | | applied when the number of children in the current build doesn't match the number in the previous build as retrieved from the sconsign file.
* Apply patch from wblevins for issue #2980 This fixes that issue, but as ↵William Deegan2018-11-121-8/+72
| | | | discussion indicates breaks other tests. WIP
* Fix some bad code formatting.William Deegan2018-11-121-8/+20
|
* fix Value node tests to expect a string and not bytesWilliam Deegan2018-10-111-3/+3
|
* Fix Bug #3212. Using CacheDir with Configure TryCompile with Python 3 was ↵William Deegan2018-10-102-2/+16
| | | | failing because it was yielding a mixture of bytes and strings when generating cachedir signature use to determine file and directory in cachedir to use
* A few syntax cleanupsMats Wichmann2018-10-032-7/+7
| | | | | | | | | | | | | | | | | | | | | Suggested by PyCharm. Includes three "real" changes: 1. src/engine/SCons/Node/__init__.py has a print statement in a function which references 'self', but there is no 'self' defined (it is not a method in a class). Guessing it should have been 'node'. 2. src/engine/SCons/Environment.py makes a call using 'kwbd' which is not defined, looks like a copy-paste error and should be 'bd'. 3. src/engine/SCons/Tool/JavaCommon.py splits 'file', which is not defined, was evidently supposed to be 'fn'. These should be double-checked. The rest are purely syntax: whitespace, dropping trailing semicolons, using "is" to test for None, simplifying comparisons, normalizing docstring commenting ("always triple double quotes"), unneeded backslashes. Signed-off-by: Mats Wichmann <mats@linux.com>
* Switched test to use assertFalse because of deprication warning in 3.7Daniel Moody2018-08-101-1/+1
|
* Updated FS to handle removal of splitunc function from python 3.7Daniel Moody2018-08-102-2/+10
|
* Replace usage of unittest.TestSuite with unittest.main()Hao Wu2018-07-123-35/+3
|
* Fix problem with Install and multiple dirs outside src tree.Gary Oberbrunner2018-01-051-1/+6
| | | | | | | | | | | | In some cases it's possible to get a case where the target path already does exist, but the dir node for it hasn't been updated yet. This fix prevents MkdirFunc from trying to create it when it already exists. Added a testcase which failed before the fix and works after it. Also fixes a problem running tests on Windows, using standard python 3 which is installed in "C:/Program Files/Python36". The python path name has to be escaped in that case. See runtest.py.
* Fix many epydoc warningsWilliam Deegan2017-09-011-18/+12
|
* PY2/3 get_contents() was returning empty string instead of empty bytes when ↵William Deegan2017-08-241-1/+1
| | | | file doesn't exist. get_text_contents() was then trying to call decode on a string object... Fixed. get_contents() now returns empty byte string
* Updates to get_text_content() logic and testsWilliam Deegan2017-08-242-5/+8
|
* Handle decode errors by backslashing character. Should only throw exception ↵William Deegan2017-08-231-2/+2
| | | | if content is not a byte type now
* Fix issue for PY3 where file content has not BOM and isn't ascii by ↵William Deegan2017-08-232-1/+9
| | | | decodeing to utf-8
* Added support for a PyPackageDir functiongrbd2017-08-031-0/+29
|
* Performance: rewrite some central Node code based on hints on fastest ↵William Deegan2017-06-061-29/+13
| | | | uniquifiers for python from: https://www.peterbe.com/plog/uniqifiers-benchmark. In my tests yields about 15% speedup on Null Incremental build. Shows about the same on ElectricCloud scons benchmark
* Remove ancient Aegis revision control system filesJane Doe2017-05-301-5/+0
|
* PY2/3 disable symlink and links for win32 in FSTests.pyWilliam Deegan2017-05-171-0/+8
|
* PY2/3 For the time being disable using soft or hard links in duplicating ↵William Deegan2017-05-161-2/+7
| | | | files on win32. It's supported under PY3, but SCons will need more work to make sure it's used in a consistant way and if user permissions are needed if they user has them
* more removal of sccs and rcs builder logicWilliam Deegan2017-04-182-109/+2
|
* Try to fix some more py2/3 tests becuase of str vs bytearrayGaurav Juvekar2017-04-161-1/+7
|
* Fix broken testsGaurav Juvekar2017-04-101-3/+3
|
* py2/3 fix for test/Value.pyGaurav Juvekar2017-04-101-5/+6
|
* py2/3 Need to add __hash__ function to EntryProxy as with py3 __hash__ ↵William Deegan2017-04-061-0/+6
| | | | function is removed when a class provides __eq__
* py2/3 os.symlink is now defined for win32, but unless user has privs it will ↵William Deegan2017-04-041-6/+4
| | | | always fail. For not skipping symlink tests