diff options
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/ACKS | 6 | ||||
-rw-r--r-- | Misc/README.coverity | 22 | ||||
-rw-r--r-- | Misc/README.klocwork | 26 | ||||
-rw-r--r-- | Misc/RPM/python-2.5.spec | 2 | ||||
-rw-r--r-- | Misc/Vim/python.vim | 2 | ||||
-rwxr-xr-x | Misc/build.sh | 28 | ||||
-rw-r--r-- | Misc/cheatsheet | 1 | ||||
-rw-r--r-- | Misc/python-config.in | 7 | ||||
-rw-r--r-- | Misc/valgrind-python.supp | 9 |
9 files changed, 91 insertions, 12 deletions
@@ -24,6 +24,7 @@ Ross Andrus Jason Asbahr David Ascher Peter Åstrand +Chris AtLee John Aycock Donovan Baarda Attila Babo @@ -202,8 +203,10 @@ Vincent Fiack Russell Finn Nils Fischbeck Frederik Fix +Matt Fleming Hernán Martínez Foffani Doug Fort +John Fouhy Martin Franklin Robin Friedrich Ivan Frohne @@ -432,6 +435,7 @@ Michael Muller Takahiro Nakayama Travers Naran Fredrik Nehr +Tony Nelson Chad Netzer Max Neunhöffer George Neville-Neil @@ -527,6 +531,7 @@ Hugo van Rossum Saskia van Rossum Donald Wallace Rouse II Liam Routt +Sam Ruby Paul Rubin Audun S. Runde Jeff Rush @@ -620,6 +625,7 @@ Laurence Tratt John Tromp Jason Trowbridge Anthony Tuininga +Christopher Tur Lesniewski-Laas Stephen Turner Bill Tutt Doobee R. Tzeck diff --git a/Misc/README.coverity b/Misc/README.coverity new file mode 100644 index 0000000..f5e1bf6 --- /dev/null +++ b/Misc/README.coverity @@ -0,0 +1,22 @@ + +Coverity has a static analysis tool (Prevent) which is similar to Klocwork. +They run their tool on the Python source code (SVN head) on a daily basis. +The results are available at: + + http://scan.coverity.com/ + +About 20 people have access to the analysis reports. Other +people can be added by request. + +Prevent was first run on the Python 2.5 source code in March 2006. +There were originally about 100 defects reported. Some of these +were false positives. Over 70 issues were uncovered. + +Each warning has a unique id and comments that can be made on it. +When checking in changes due to a warning, the unique id +as reported by the tool was added to the SVN commit message. + +False positives were annotated so that the comments can +be reviewed and reversed if the analysis was incorrect. + +Contact python-dev@python.org for more information. diff --git a/Misc/README.klocwork b/Misc/README.klocwork new file mode 100644 index 0000000..a22715e --- /dev/null +++ b/Misc/README.klocwork @@ -0,0 +1,26 @@ + +Klocwork has a static analysis tool (K7) which is similar to Coverity. +They will run their tool on the Python source code on demand. +The results are available at: + + https://opensource.klocwork.com/ + +Currently, only Neal Norwitz has access to the analysis reports. Other +people can be added by request. + +K7 was first run on the Python 2.5 source code in mid-July 2006. +This is after Coverity had been making their results available. +There were originally 175 defects reported. Most of these +were false positives. However, there were numerous real issues +also uncovered. + +Each warning has a unique id and comments that can be made on it. +When checking in changes due to a K7 report, the unique id +as reported by the tool was added to the SVN commit message. +A comment was added to the K7 warning indicating the SVN revision +in addition to any analysis. + +False positives were also annotated so that the comments can +be reviewed and reversed if the analysis was incorrect. + +Contact python-dev@python.org for more information. diff --git a/Misc/RPM/python-2.5.spec b/Misc/RPM/python-2.5.spec index e050454..afbb09e 100644 --- a/Misc/RPM/python-2.5.spec +++ b/Misc/RPM/python-2.5.spec @@ -33,7 +33,7 @@ ################################# %define name python -%define version 2.5a2 +%define version 2.5b3 %define libvers 2.5 %define release 1pydotorg %define __prefix /usr diff --git a/Misc/Vim/python.vim b/Misc/Vim/python.vim index 9711076..d83572a 100644 --- a/Misc/Vim/python.vim +++ b/Misc/Vim/python.vim @@ -85,7 +85,7 @@ if exists("python_highlight_exceptions") syn keyword pythonException LookupError OSError DeprecationWarning syn keyword pythonException UnicodeError UnicodeEncodeError syn keyword pythonException FloatingPointError ReferenceError NameError - syn keyword pythonException OverflowWarning IOError SyntaxError + syn keyword pythonException IOError SyntaxError syn keyword pythonException FutureWarning ImportWarning SystemExit syn keyword pythonException Exception EOFError StandardError ValueError syn keyword pythonException TabError KeyError ZeroDivisionError SystemError diff --git a/Misc/build.sh b/Misc/build.sh index de51539..ff46bba 100755 --- a/Misc/build.sh +++ b/Misc/build.sh @@ -54,13 +54,19 @@ RESULT_FILE="$DIR/build/index.html" INSTALL_DIR="/tmp/python-test/local" RSYNC_OPTS="-aC -e ssh" +# Always run the installed version of Python. +PYTHON=$INSTALL_DIR/bin/python + +# Python options and regression test program that should always be run. +REGRTEST_ARGS="-E -tt $INSTALL_DIR/lib/python2.5/test/regrtest.py" + REFLOG="build/reflog.txt.out" # These tests are not stable and falsely report leaks sometimes. # The entire leak report will be mailed if any test not in this list leaks. # Note: test_XXX (none currently) really leak, but are disabled # so we don't send spam. Any test which really leaks should only # be listed here if there are also test cases under Lib/test/leakers. -LEAKY_TESTS="test_(ctypes|filecmp|socket|threadedtempfile|threading|urllib2)" +LEAKY_TESTS="test_(XXX)" # Currently no tests should report spurious leaks. # Skip these tests altogether when looking for leaks. These tests # do not need to be stored above in LEAKY_TESTS too. @@ -155,21 +161,31 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then make install >& build/$F update_status "Installing" "$F" $start + if [ ! -x $PYTHON ]; then + ln -s ${PYTHON}2.* $PYTHON + fi + ## make and run basic tests F=make-test.out start=`current_time` - make test >& build/$F + $PYTHON $REGRTEST_ARGS >& build/$F NUM_FAILURES=`grep -ic " failed:" build/$F` update_status "Testing basics ($NUM_FAILURES failures)" "$F" $start - ## FIXME: should mail since -uall below should find same problems mail_on_failure "basics" build/$F + F=make-test-opt.out + start=`current_time` + $PYTHON -O $REGRTEST_ARGS >& build/$F + NUM_FAILURES=`grep -ic " failed:" build/$F` + update_status "Testing opt ($NUM_FAILURES failures)" "$F" $start + mail_on_failure "opt" build/$F + ## run the tests looking for leaks F=make-test-refleak.out start=`current_time` ## ensure that the reflog exists so the grep doesn't fail touch $REFLOG - ./python ./Lib/test/regrtest.py -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F + $PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F NUM_FAILURES=`egrep -vc "$LEAKY_TESTS" $REFLOG` update_status "Testing refleaks ($NUM_FAILURES failures)" "$F" $start mail_on_failure "refleak" $REFLOG @@ -179,7 +195,7 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then start=`current_time` ## skip curses when running from cron since there's no terminal ## skip sound since it's not setup on the PSF box (/dev/dsp) - ./python -E -tt ./Lib/test/regrtest.py -uall -x test_curses test_linuxaudiodev test_ossaudiodev >& build/$F + $PYTHON $REGRTEST_ARGS -uall -x test_curses test_linuxaudiodev test_ossaudiodev >& build/$F NUM_FAILURES=`grep -ic " failed:" build/$F` update_status "Testing all except curses and sound ($NUM_FAILURES failures)" "$F" $start mail_on_failure "all" build/$F @@ -189,7 +205,7 @@ fi ## make doc -cd Doc +cd $DIR/Doc F="make-doc.out" start=`current_time` make >& ../build/$F diff --git a/Misc/cheatsheet b/Misc/cheatsheet index 024545d..b0e1cce 100644 --- a/Misc/cheatsheet +++ b/Misc/cheatsheet @@ -1125,7 +1125,6 @@ Exception> DeprecationWarning PendingDeprecationWarning SyntaxWarning - OverflowWarning RuntimeWarning FutureWarning diff --git a/Misc/python-config.in b/Misc/python-config.in index 24e699e..e0215a2 100644 --- a/Misc/python-config.in +++ b/Misc/python-config.in @@ -1,4 +1,4 @@ -#!@BINDIR@/python +#!@EXENAME@ import sys import os @@ -36,13 +36,14 @@ elif opt == '--exec-prefix': print sysconfig.EXEC_PREFIX elif opt in ('--includes', '--cflags'): - flags = ['-I'+dir for dir in getvar('INCLDIRSTOMAKE').split()] + flags = ['-I' + sysconfig.get_python_inc(), + '-I' + sysconfig.get_python_inc(plat_specific=True)] if opt == '--cflags': flags.extend(getvar('CFLAGS').split()) print ' '.join(flags) elif opt in ('--libs', '--ldflags'): - libs = sysconfig.get_config_var('LIBS').split() + libs = getvar('LIBS').split() + getvar('SYSLIBS').split() libs.append('-lpython'+pyver) if opt == '--ldflags': libs.insert(0, '-L' + getvar('LIBPL')) diff --git a/Misc/valgrind-python.supp b/Misc/valgrind-python.supp index 2688f79..4a6710e 100644 --- a/Misc/valgrind-python.supp +++ b/Misc/valgrind-python.supp @@ -134,6 +134,15 @@ ### { + Generic gentoo ld problems + Memcheck:Cond + obj:/lib/ld-2.3.4.so + obj:/lib/ld-2.3.4.so + obj:/lib/ld-2.3.4.so + obj:/lib/ld-2.3.4.so +} + +{ DBM problems, see test_dbm Memcheck:Param write(buf) |