Merged revisions 63066-63076,63079,63081-63085,63087-63097,63099,63101-63104 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r63066 | georg.brandl | 2008-05-11 10:56:04 -0400 (Sun, 11 May 2008) | 2 lines
#2709 followup: better description of Tk's pros and cons.
........
r63067 | georg.brandl | 2008-05-11 11:05:13 -0400 (Sun, 11 May 2008) | 2 lines
#1326: document and test zipimporter.archive and zipimporter.prefix.
........
r63068 | georg.brandl | 2008-05-11 11:07:39 -0400 (Sun, 11 May 2008) | 2 lines
#2816: clarify error messages for EOF while scanning strings.
........
r63069 | georg.brandl | 2008-05-11 11:17:41 -0400 (Sun, 11 May 2008) | 3 lines
#2787: Flush stdout after writing test name, helpful when running
hanging or long-running tests. Patch by Adam Olsen.
........
r63070 | georg.brandl | 2008-05-11 11:20:16 -0400 (Sun, 11 May 2008) | 3 lines
#2803: fix wrong invocation of heappush in seldom-reached code.
Thanks to Matt Harden.
........
r63073 | benjamin.peterson | 2008-05-11 12:38:07 -0400 (Sun, 11 May 2008) | 2 lines
broaden .bzrignore
........
r63076 | andrew.kuchling | 2008-05-11 15:15:52 -0400 (Sun, 11 May 2008) | 1 line
Add message to test assertion
........
r63083 | andrew.kuchling | 2008-05-11 16:08:33 -0400 (Sun, 11 May 2008) | 1 line
Try setting HOME env.var to fix test on Win32
........
r63092 | georg.brandl | 2008-05-11 16:53:55 -0400 (Sun, 11 May 2008) | 2 lines
#2809 followup: even better split docstring.
........
r63094 | georg.brandl | 2008-05-11 17:03:42 -0400 (Sun, 11 May 2008) | 4 lines
- #2250: Exceptions raised during evaluation of names in rlcompleter's
``Completer.complete()`` method are now caught and ignored.
........
r63095 | georg.brandl | 2008-05-11 17:16:37 -0400 (Sun, 11 May 2008) | 2 lines
Clarify os.strerror()s exception behavior.
........
r63097 | georg.brandl | 2008-05-11 17:34:10 -0400 (Sun, 11 May 2008) | 2 lines
#2535: remove duplicated method.
........
r63104 | alexandre.vassalotti | 2008-05-11 19:04:27 -0400 (Sun, 11 May 2008) | 2 lines
Moved the Queue module stub in lib-old.
........
diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py
index 81459ac..dd07735 100644
--- a/Lib/distutils/tests/test_dist.py
+++ b/Lib/distutils/tests/test_dist.py
@@ -213,9 +213,10 @@
# win32-style
if sys.platform == 'win32':
# home drive should be found
- os.environ['HOMEPATH'] = curdir
+ os.environ['HOME'] = curdir
files = dist.find_config_files()
- self.assert_(user_filename in files)
+ self.assert_(user_filename in files,
+ '%r not found in %r' % (user_filename, files))
finally:
for key, value in old.items():
if value is None:
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index 23ebe54..d600f29 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -589,9 +589,6 @@
status = self.tk.call('grab', 'status', self._w)
if status == 'none': status = None
return status
- def lower(self, belowThis=None):
- """Lower this widget in the stacking order."""
- self.tk.call('lower', self._w, belowThis)
def option_add(self, pattern, value, priority = None):
"""Set a VALUE (second parameter) for an option
PATTERN (first parameter).
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
index c605c7d..10a53dc 100644
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -121,7 +121,10 @@
if not m:
return []
expr, attr = m.group(1, 3)
- object = eval(expr, self.namespace)
+ try:
+ object = eval(expr, self.namespace)
+ except Exception:
+ return []
words = dir(object)
if hasattr(object,'__class__'):
words.append('__class__')
diff --git a/Lib/sched.py b/Lib/sched.py
index 1c7bfea..aecdb2a 100644
--- a/Lib/sched.py
+++ b/Lib/sched.py
@@ -117,7 +117,7 @@
action(*argument)
delayfunc(0) # Let other threads run
else:
- heapq.heappush(event)
+ heapq.heappush(q, event)
@property
def queue(self):
diff --git a/Lib/test/test_eof.py b/Lib/test/test_eof.py
index 4284d11..91fd845 100644
--- a/Lib/test/test_eof.py
+++ b/Lib/test/test_eof.py
@@ -6,7 +6,7 @@
class EOFTestCase(unittest.TestCase):
def test_EOFC(self):
- expect = "EOL while scanning single-quoted string (<string>, line 1)"
+ expect = "EOL while scanning string literal (<string>, line 1)"
try:
eval("""'this is a test\
""")
@@ -16,7 +16,8 @@
raise test_support.TestFailed
def test_EOFS(self):
- expect = "EOF while scanning triple-quoted string (<string>, line 1)"
+ expect = ("EOF while scanning triple-quoted string literal "
+ "(<string>, line 1)")
try:
eval("""'''this is a test""")
except SyntaxError as msg:
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index d2758b4..c7da859 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -209,6 +209,7 @@
z.close()
zi = zipimport.zipimporter(TEMP_ZIP)
+ self.assertEquals(zi.archive, TEMP_ZIP)
self.assertEquals(zi.is_package(TESTPACK), True)
zi.load_module(TESTPACK)
@@ -229,6 +230,37 @@
z.close()
os.remove(TEMP_ZIP)
+ def testZipImporterMethodsInSubDirectory(self):
+ packdir = TESTPACK + os.sep
+ packdir2 = packdir + TESTPACK2 + os.sep
+ files = {packdir2 + "__init__" + pyc_ext: (NOW, test_pyc),
+ packdir2 + TESTMOD + pyc_ext: (NOW, test_pyc)}
+
+ z = ZipFile(TEMP_ZIP, "w")
+ try:
+ for name, (mtime, data) in files.items():
+ zinfo = ZipInfo(name, time.localtime(mtime))
+ zinfo.compress_type = self.compression
+ z.writestr(zinfo, data)
+ z.close()
+
+ zi = zipimport.zipimporter(TEMP_ZIP + os.sep + packdir)
+ self.assertEquals(zi.archive, TEMP_ZIP)
+ self.assertEquals(zi.prefix, packdir)
+ self.assertEquals(zi.is_package(TESTPACK2), True)
+ zi.load_module(TESTPACK2)
+
+ self.assertEquals(zi.is_package(TESTPACK2 + os.sep + '__init__'), False)
+ self.assertEquals(zi.is_package(TESTPACK2 + os.sep + TESTMOD), False)
+
+ mod_name = TESTPACK2 + os.sep + TESTMOD
+ mod = __import__(module_path_to_dotted_name(mod_name))
+ self.assertEquals(zi.get_source(TESTPACK2), None)
+ self.assertEquals(zi.get_source(mod_name), None)
+ finally:
+ z.close()
+ os.remove(TEMP_ZIP)
+
def testGetData(self):
z = ZipFile(TEMP_ZIP, "w")
z.compression = self.compression
diff --git a/Lib/unittest.py b/Lib/unittest.py
index 742871b..5beeb05 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -679,6 +679,7 @@
if self.showAll:
self.stream.write(self.getDescription(test))
self.stream.write(" ... ")
+ self.stream.flush()
def addSuccess(self, test):
TestResult.addSuccess(self, test)
@@ -686,6 +687,7 @@
self.stream.writeln("ok")
elif self.dots:
self.stream.write('.')
+ self.stream.flush()
def addError(self, test, err):
TestResult.addError(self, test, err)
@@ -693,6 +695,7 @@
self.stream.writeln("ERROR")
elif self.dots:
self.stream.write('E')
+ self.stream.flush()
def addFailure(self, test, err):
TestResult.addFailure(self, test, err)
@@ -700,6 +703,7 @@
self.stream.writeln("FAIL")
elif self.dots:
self.stream.write('F')
+ self.stream.flush()
def printErrors(self):
if self.dots or self.showAll: