Merged revisions 74075,74187,74197,74201,74216,74225 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74075 | georg.brandl | 2009-07-18 05:06:31 -0400 (Sat, 18 Jul 2009) | 1 line

  #6505: fix typos.
........
  r74187 | benjamin.peterson | 2009-07-23 10:19:08 -0400 (Thu, 23 Jul 2009) | 1 line

  use bools for autoraise
........
  r74197 | benjamin.peterson | 2009-07-24 22:03:48 -0400 (Fri, 24 Jul 2009) | 1 line

  clarify
........
  r74201 | amaury.forgeotdarc | 2009-07-25 12:22:06 -0400 (Sat, 25 Jul 2009) | 2 lines

  Better name a variable: 'buf' seems to imply a mutable buffer.
........
  r74216 | michael.foord | 2009-07-26 17:12:14 -0400 (Sun, 26 Jul 2009) | 1 line

  Issue 6581. Michael Foord
........
  r74225 | kurt.kaiser | 2009-07-27 12:09:28 -0400 (Mon, 27 Jul 2009) | 5 lines

  1. Clean workspace more thoughly before build.
  2. Add url of branch we are building to 'results' webpage.
     (url is now available in $repo_path, could be added to failure email.)
  3. Adjust permissions to improve upload reliability.
........
This commit is contained in:
Alexandre Vassalotti 2009-07-29 20:12:15 +00:00
parent e9ce1fb543
commit e223eb8477
6 changed files with 45 additions and 30 deletions

View File

@ -152,9 +152,9 @@ Positional and keyword arguments can be arbitrarily combined::
other='Georg'))
The story of Bill, Manfred, and Georg.
An optional ``':'`` and format specifier can follow the field name. This also
An optional ``':'`` and format specifier can follow the field name. This allows
greater control over how the value is formatted. The following example
truncates the Pi to three places after the decimal.
truncates Pi to three places after the decimal.
>>> import math
>>> print('The value of PI is approximately {0:.3f}.'.format(math.pi))
@ -208,8 +208,8 @@ operation. For example::
The value of PI is approximately 3.142.
Since :meth:`str.format` is quite new, a lot of Python code still uses the ``%``
operator. However, because this old style of formatting will eventually removed
from the language :meth:`str.format` should generally be used.
operator. However, because this old style of formatting will eventually be
removed from the language, :meth:`str.format` should generally be used.
More information can be found in the :ref:`old-string-formatting` section.

View File

@ -994,7 +994,10 @@ def getinnerframes(tb, context=1):
tb = tb.tb_next
return framelist
if hasattr(sys, '_getframe'):
currentframe = sys._getframe
else:
currentframe = lambda _=None: None
def stack(context=1):
"""Return a list of records for the stack above the caller's frame."""

View File

@ -56,7 +56,7 @@ def get(using=None):
# It is recommended one does "import webbrowser" and uses webbrowser.open(url)
# instead of "from webbrowser import *".
def open(url, new=0, autoraise=1):
def open(url, new=0, autoraise=True):
for name in _tryorder:
browser = get(name)
if browser.open(url, new, autoraise):
@ -145,7 +145,7 @@ class BaseBrowser(object):
self.name = name
self.basename = name
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
raise NotImplementedError
def open_new(self, url):
@ -169,7 +169,7 @@ class GenericBrowser(BaseBrowser):
self.args = name[1:]
self.basename = os.path.basename(self.name)
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args]
try:
@ -186,7 +186,7 @@ class BackgroundBrowser(GenericBrowser):
"""Class for all browsers which are to be started in the
background."""
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args]
try:
@ -217,7 +217,7 @@ class UnixBrowser(BaseBrowser):
raise_opt = []
if remote and self.raise_opts:
# use autoraise argument only for remote invocation
autoraise = int(bool(autoraise))
autoraise = int(autoraise)
opt = self.raise_opts[autoraise]
if opt: raise_opt = [opt]
@ -257,7 +257,7 @@ class UnixBrowser(BaseBrowser):
else:
return not p.wait()
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
if new == 0:
action = self.remote_action
elif new == 1:
@ -341,7 +341,7 @@ class Konqueror(BaseBrowser):
for more information on the Konqueror remote-control interface.
"""
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
# XXX Currently I know no way to prevent KFM from opening a new win.
if new == 2:
action = "newTab"
@ -429,7 +429,7 @@ class Grail(BaseBrowser):
s.close()
return 1
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
if new:
ok = self._remote("LOADNEW " + url)
else:
@ -512,7 +512,7 @@ if os.environ.get("TERM"):
if sys.platform[:3] == "win":
class WindowsDefault(BaseBrowser):
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
try:
os.startfile(url)
except WindowsError:
@ -546,7 +546,7 @@ except ImportError:
pass
else:
class InternetConfig(BaseBrowser):
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
ic.launchurl(url)
return True # Any way to get status?
@ -567,7 +567,7 @@ if sys.platform == 'darwin':
def __init__(self, name):
self.name = name
def open(self, url, new=0, autoraise=1):
def open(self, url, new=0, autoraise=True):
assert "'" not in url
# hack for local urls
if not ':' in url:

View File

@ -4,9 +4,11 @@
## does this:
## svn up ; ./configure ; make ; make test ; make install ; cd Doc ; make
##
## Logs are kept and rsync'ed to the host. If there are test failure(s),
## Logs are kept and rsync'ed to the webhost. If there are test failure(s),
## information about the failure(s) is mailed.
##
## The user must be a member of the webmaster group locally and on webhost.
##
## This script is run on the PSF's machine as user neal via crontab.
##
## Yes, this script would probably be easier in python, but then
@ -76,7 +78,8 @@ ALWAYS_SKIP="-x $_ALWAYS_SKIP"
# Skip these tests altogether when looking for leaks. These tests
# do not need to be stored above in LEAKY_TESTS too.
# test_logging causes hangs, skip it.
LEAKY_SKIPS="-x test_logging $_ALWAYS_SKIP"
# KBK 21Apr09: test_httpservers causes hangs, skip for now.
LEAKY_SKIPS="-x test_compiler test_logging test_httpservers"
# Change this flag to "yes" for old releases to only update/build the docs.
BUILD_DISABLED="no"
@ -133,9 +136,14 @@ mail_on_failure() {
## setup
cd $DIR
make clobber /dev/null 2>&1
cp -p Modules/Setup.dist Modules/Setup
# But maybe there was no Makefile - we are only building docs. Clear build:
rm -rf build/
mkdir -p build
rm -f $RESULT_FILE build/*.out
rm -rf $INSTALL_DIR
## get the path we are building
repo_path=$(grep "url=" .svn/entries | sed -e s/\\W*url=// -e s/\"//g)
## create results file
TITLE="Automated Python Build Results"
@ -153,6 +161,8 @@ echo " </tr><tr>" >> $RESULT_FILE
echo " <td>Hostname:</td><td>`uname -n`</td>" >> $RESULT_FILE
echo " </tr><tr>" >> $RESULT_FILE
echo " <td>Platform:</td><td>`uname -srmpo`</td>" >> $RESULT_FILE
echo " </tr><tr>" >> $RESULT_FILE
echo " <td>URL:</td><td>$repo_path</td>" >> $RESULT_FILE
echo " </tr>" >> $RESULT_FILE
echo "</table>" >> $RESULT_FILE
echo "<ul>" >> $RESULT_FILE
@ -223,7 +233,7 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then
start=`current_time`
## ensure that the reflog exists so the grep doesn't fail
touch $REFLOG
$PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network,urlfetch $LEAKY_SKIPS >& build/$F
$PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F
LEAK_PAT="($LEAKY_TESTS|sum=0)"
NUM_FAILURES=`egrep -vc "$LEAK_PAT" $REFLOG`
place_summary_first build/$F
@ -259,13 +269,13 @@ start=`current_time`
# which will definitely fail with a conflict.
#CONFLICTED_FILE=commontex/boilerplate.tex
#conflict_count=`grep -c "<<<" $CONFLICTED_FILE`
make clean
conflict_count=0
if [ $conflict_count != 0 ]; then
echo "Conflict detected in $CONFLICTED_FILE. Doc build skipped." > ../build/$F
err=1
else
make checkout update html >& ../build/$F
make clean > ../build/$F 2>&1
make checkout update html >> ../build/$F 2>&1
err=$?
fi
update_status "Making doc" "$F" $start
@ -279,6 +289,8 @@ echo "</body>" >> $RESULT_FILE
echo "</html>" >> $RESULT_FILE
## copy results
chgrp -R webmaster build/html
chmod -R g+w build/html
rsync $RSYNC_OPTS build/html/* $REMOTE_SYSTEM:$REMOTE_DIR
cd ../build
rsync $RSYNC_OPTS index.html *.out $REMOTE_SYSTEM:$REMOTE_DIR/results/

View File

@ -718,7 +718,7 @@ PyDict_GetItem(PyObject *op, PyObject *key)
running "python -Wi" for an example related to string interning.
Let's just hope that no exception occurs then... This must be
_PyThreadState_Current and not PyThreadState_GET() because in debug
mode, it complains if tstate is NULL. */
mode, the latter complains if tstate is NULL. */
tstate = _PyThreadState_Current;
if (tstate != NULL && tstate->curexc_type != NULL) {
/* preserve the existing exception */

View File

@ -1783,7 +1783,7 @@ static int init_builtin(char *); /* Forward */
its module object WITH INCREMENTED REFERENCE COUNT */
static PyObject *
load_module(char *name, FILE *fp, char *buf, int type, PyObject *loader)
load_module(char *name, FILE *fp, char *pathname, int type, PyObject *loader)
{
PyObject *modules;
PyObject *m;
@ -1804,27 +1804,27 @@ load_module(char *name, FILE *fp, char *buf, int type, PyObject *loader)
switch (type) {
case PY_SOURCE:
m = load_source_module(name, buf, fp);
m = load_source_module(name, pathname, fp);
break;
case PY_COMPILED:
m = load_compiled_module(name, buf, fp);
m = load_compiled_module(name, pathname, fp);
break;
#ifdef HAVE_DYNAMIC_LOADING
case C_EXTENSION:
m = _PyImport_LoadDynamicModule(name, buf, fp);
m = _PyImport_LoadDynamicModule(name, pathname, fp);
break;
#endif
case PKG_DIRECTORY:
m = load_package(name, buf);
m = load_package(name, pathname);
break;
case C_BUILTIN:
case PY_FROZEN:
if (buf != NULL && buf[0] != '\0')
name = buf;
if (pathname != NULL && pathname[0] != '\0')
name = pathname;
if (type == C_BUILTIN)
err = init_builtin(name);
else