| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
normal upload script
|
|
|
|
|
|
|
|
|
|
| |
get importlib magic number from util
sider complaints about unicode usage
sider complaint about subprocess return value unused
sider complaint about shutil import unused (it is used, but
inside a big string that is written to a file to be executed)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* context managers on file r/w + use shutil.copy where it makes sense.
* lxml wants (demands?) that xml files be processed as bytes
* for the phase where we gen the entity files, read as text anyway
* Need to solve a problem where the generated xml is putting the \n in
literally, not evaluating it.
* Fix some examples broken for py3
* Fix more octal constant instances
* Cleanups suggested by PyCharm: staticmethods, two blanks
before class definition, others.
This addresses issues called out in #3300, but is not a complete
solution because the actual doc build step still fails with the
epydoc failures (which aren't directly because of Py3; epydoc
build doesn't work any better on my system with Py3, even with
the forked version with patches).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|\
| |
| | |
Update bench and timings dirs for Py3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Minor changes for compatibility.
Cannot currently run these tests effectively:
1. One of the bench runs doesn't work on Py3 yet. is_types.py fails
with:
```
Traceback (most recent call last):
File "bench.py", line 91, in <module>
exec(open(args[0], 'r').read())
File "<string>", line 16, in <module>
AttributeError: module 'types' has no attribute 'InstanceType'
```
The test fundamentally depends on checking if a type is an instance
as part of what's being timed; the problem is types.InstanceType
was only meaningful for old-style classes where all instances have
the same type. Since that can't happen in Python 3 with new-style
classes only, types.InstanceType has been removed entirely. Is
it worth trying to figure out how to rejigger the test?
2. The calibrarions on the timings configs are horribly wrong for the
local machine (10x too small), but not sure what to calibrate them for.
3. The calibration algorithm sometimes goes off base. The objective
is to converge on something just under 10 seconds, and hit it three
times in a row. In this snippet #25 got close, then we keep iterating
and get further away in #27, #29, #31, #33 (this particular calibration
eventually hit it's three with runs #55-57.
```
run 25: 9.207: TARGET_COUNT=1019
run 26: 11.026: TARGET_COUNT=1106
run 27: 8.630: TARGET_COUNT=1003
run 28: 12.046: TARGET_COUNT=1162
run 29: 8.240: TARGET_COUNT=964
run 30: 12.062: TARGET_COUNT=1169
run 31: 8.232: TARGET_COUNT=969
run 32: 12.470: TARGET_COUNT=1177
run 33: 8.185: TARGET_COUNT=943
```
4. Running any of the timings fails with stdout mismatch, as there is
(unexpected?) timing output. Example CPPPATH - see the second line
of the captured output for the extra data. Is this new data emitted
by debug=time that the timings code is not expecting?
```
/home/mats/.pyenv/versions/python-3.7.3/bin/python /home/mats/github/scons/src/script/scons.py DIR_COUNT=813 --debug=memory,time .
STDOUT =========================================================================
1,6c1,14
< scons:\ Reading\ SConscript\ files\ \.\.\.\
< scons:\ done\ reading\ SConscript\ files\.\
< scons:\ Building\ targets\ \.\.\.\
< scons:\ `\.'\ is\ up\ to\ date\.\
< scons:\ done\ building\ targets\.\
< .*
---
> scons: Reading SConscript files ...
> SConscript:/tmp/testcmd.256448.xbxk_gj1/SConstruct took 107.051 ms
> scons: done reading SConscript files.
> scons: Building targets ...
> scons: `.' is up to date.
> scons: done building targets.
> Memory before reading SConscript files: 139239424
> Memory after reading SConscript files: 145399808
> Memory before building targets: 145399808
> Memory after building targets: 148684800
> Total build time: 0.311640 seconds
> Total SConscript file execution time: 0.107460 seconds
> Total SCons execution time: 0.204180 seconds
> Total command execution time: 0.000000 seconds
FAILED test of /home/mats/github/scons/src/script/scons.py
...
from line 53 of timings/CPPPATH/TimeSCons-run.py
```
5. CPPPATH timing config runs into a command-line length problem if
calibrating. Might be a testcase for using a file for long command
lines even in the gcc case?
```
run 1: 0.490: DIR_COUNT=813
1/1 (100.00%) /home/mats/.pyenv/versions/python-3.7.3/bin/python timings/CPPPATH/TimeSCons-run.py
/home/mats/github/scons/src/script/scons.py returned 2
STDOUT =========================================================================
scons: Reading SConscript files ...
SConscript:/tmp/testcmd.253125.kkqcvz12/SConstruct took 1186.979 ms
scons: done reading SConscript files.
scons: Building targets ...
gcc -o foo.o -c -Iinc_0000 -Iinc_0001 -Iinc_0002
... incredibly long line chopped ...
Iinc_16574 -Iinc_16575 -Iinc_16576 -Iinc_16577 -Iinc_16578 -Iinclude foo.c
scons: building terminated because of errors.
Memory before reading SConscript files: 139243520
Memory after reading SConscript files: 233705472
Memory before building targets: 233705472
Memory after building targets: 255672320
Total build time: 5.079720 seconds
Total SConscript file execution time: 1.189501 seconds
Total SCons execution time: 3.890219 seconds
Total command execution time: 0.000000 seconds
FAILED test of /home/mats/github/scons/src/script/scons.py
...
from line 53 of timings/CPPPATH/TimeSCons-run.py
STDERR =========================================================================
scons: *** [foo.o] sh: Argument list too long
Traceback (most recent call last):
File "bin/calibrate.py", line 88, in <module>
sys.exit(main())
File "bin/calibrate.py", line 69, in main
elapsed = float(em.group(1))
AttributeError: 'NoneType' object has no attribute 'group'
```
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Closes #3003: those examples which wanted to generate a phony
address for a Python object were doing so incorrectly, causing
output to end up with &gt; instead of >.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| | |
by debian scons packager
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Regexes that contained unescaped backslashes and were not listed
in raw string form caused one more test failure when Python 3.8
was experimentally turned on in the Travis CI build.
Also one utility script had the same, not affecting tests - found through
inspection.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
On a linux host (missing some things that may be on the Travis CI
setup), Py3.8a3 now shows 19 fails, 1048 pass, with 84 Warning: messages.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
| |
One was "real": had failed to indent a with: block
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several locations with simple usage of deprecated "imp" module
changed to use "importlib". These match with work in #3159,
but this is not a complete implementation of #3159.
More regex patterns are changed to be raw strings.
Some strings which did not seem appropriate to change to raw
strings (e.g. contain embedded tabs, which Python should honor)
had backslashes escaped to avoid accidental Python interpretation.
Example:
'\t<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.targets" />\n'
Python 3.8 was Warning \M was an unknown escape.
More open().write(), open().read() style usage changed to use
context managers so the file is closed.
WIP part: even with Python 3.7, the tests which call sconsign.py
fail; oddly they do not fail without the patch to compat.py.
sconsign.py does an import using imp module (which is what
generates the errors) so needs to be updated anyway. It does not
quite fit the "simple usage" pattern - can't do a simple relative
import since sconsign is normally located elsewhere in the tree than
the main scons code body.
With this version of the patch, 700 tests now pass with 3.8, and
Warning messages reduced to 2800 (current master has 200 pass,
9000 warns)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most recent Python (3.8 alpha) spews warnings aplenty about two
subjects: unclosed files and strings which look like they have embedded
escapes that Python does not recognize. The latter are usually
regexes, and it provides a reminder that regular expressions should
normally be specified as raw strings, so Python does not attempt to
interpret them. Irritating is that even docstrings are flagged, it's
not obvious what the right answer is for a docstring which contains,
say, a Windows-style path with backslashes.
This converts a bunch of opens that are not closed into context
manager usage and regex patterns into raw strings.
This eliminate about 4000 warnings spewed by Py3.8 (9200 remain).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A few tweaks to scons_dev_master.py which needed to have xz added anyway:
changed mercurial to git in initial setup, install different java,
more pythons. Note about adding ipkg-build.
Docs updated slightly for wording in addition to adding the
new tar packager.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
when SCons used aegis for revision control
|
|
|
|
| |
quite some time
|
|
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
| |
files for document examples so the example code can be rerun manually to debug any issues found when running
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Remove 'U' flag to open()
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |\ |
|
| |/ |
|
| |\ |
|
| |/ |
|
| | |
|
| |
| |
| |
| | |
docs-update-generated is being run by.
|
| | |
|
| | |
|