Commit 0347c71c authored by Georg Brandl's avatar Georg Brandl

Merged revisions 83385-83389,83391 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83385 | georg.brandl | 2010-08-01 08:42:45 +0200 (So, 01 Aug 2010) | 1 line

  #8773: mailbox.py does not need to be executable.
........
  r83386 | georg.brandl | 2010-08-01 08:44:46 +0200 (So, 01 Aug 2010) | 1 line

  #8768: name test method properly so that it gets executed.
........
  r83387 | georg.brandl | 2010-08-01 08:53:28 +0200 (So, 01 Aug 2010) | 1 line

  #8735: better explain semantics of *values* argument for parse().
........
  r83388 | georg.brandl | 2010-08-01 09:48:43 +0200 (So, 01 Aug 2010) | 1 line

  #7395: fix traceback in do_add() when no stats are loaded.  Apply same fix for do_sort() and do_reverse().
........
  r83389 | georg.brandl | 2010-08-01 09:57:47 +0200 (So, 01 Aug 2010) | 1 line

  Small improvements to pstats browser: do not crash on reading invalid file, and actually do a reload when executing "read" as intended.
........
  r83391 | georg.brandl | 2010-08-01 10:10:08 +0200 (So, 01 Aug 2010) | 1 line

  Add another news entry.
........
parent 78e6957c
...@@ -1238,8 +1238,9 @@ where the input parameters are ...@@ -1238,8 +1238,9 @@ where the input parameters are
the list of arguments to process (default: ``sys.argv[1:]``) the list of arguments to process (default: ``sys.argv[1:]``)
``values`` ``values``
object to store option arguments in (default: a new instance of a :class:`optparse.Values` object to store option arguments in (default: a
:class:`optparse.Values`) new instance of :class:`Values`) -- if you give an existing object, the
option defaults will not be initialized on it
and the return values are and the return values are
......
File mode changed from 100755 to 100644
...@@ -588,7 +588,10 @@ if __name__ == '__main__': ...@@ -588,7 +588,10 @@ if __name__ == '__main__':
print >> self.stream, " that match it are printed." print >> self.stream, " that match it are printed."
def do_add(self, line): def do_add(self, line):
self.stats.add(line) if self.stats:
self.stats.add(line)
else:
print >> self.stream, "No statistics object is loaded."
return 0 return 0
def help_add(self): def help_add(self):
print >> self.stream, "Add profile info from given file to current statistics object." print >> self.stream, "Add profile info from given file to current statistics object."
...@@ -623,22 +626,33 @@ if __name__ == '__main__': ...@@ -623,22 +626,33 @@ if __name__ == '__main__':
except IOError, args: except IOError, args:
print >> self.stream, args[1] print >> self.stream, args[1]
return return
except Exception as err:
print >> self.stream, err.__class__.__name__ + ':', err
return
self.prompt = line + "% " self.prompt = line + "% "
elif len(self.prompt) > 2: elif len(self.prompt) > 2:
line = self.prompt[-2:] line = self.prompt[:-2]
self.do_read(line)
else: else:
print >> self.stream, "No statistics object is current -- cannot reload." print >> self.stream, "No statistics object is current -- cannot reload."
return 0 return 0
def help_read(self): def help_read(self):
print >> self.stream, "Read in profile data from a specified file." print >> self.stream, "Read in profile data from a specified file."
print >> self.stream, "Without argument, reload the current file."
def do_reverse(self, line): def do_reverse(self, line):
self.stats.reverse_order() if self.stats:
self.stats.reverse_order()
else:
print >> self.stream, "No statistics object is loaded."
return 0 return 0
def help_reverse(self): def help_reverse(self):
print >> self.stream, "Reverse the sort order of the profiling report." print >> self.stream, "Reverse the sort order of the profiling report."
def do_sort(self, line): def do_sort(self, line):
if not self.stats:
print >> self.stream, "No statistics object is loaded."
return
abbrevs = self.stats.get_sort_arg_defs() abbrevs = self.stats.get_sort_arg_defs()
if line and all((x in abbrevs) for x in line.split()): if line and all((x in abbrevs) for x in line.split()):
self.stats.sort_stats(*line.split()) self.stats.sort_stats(*line.split())
...@@ -660,11 +674,16 @@ if __name__ == '__main__': ...@@ -660,11 +674,16 @@ if __name__ == '__main__':
self.generic_help() self.generic_help()
def do_strip(self, line): def do_strip(self, line):
self.stats.strip_dirs() if self.stats:
return 0 self.stats.strip_dirs()
else:
print >> self.stream, "No statistics object is loaded."
def help_strip(self): def help_strip(self):
print >> self.stream, "Strip leading path information from filenames in the report." print >> self.stream, "Strip leading path information from filenames in the report."
def help_help(self):
print >> self.stream, "Show help for a given command."
def postcmd(self, stop, line): def postcmd(self, stop, line):
if stop: if stop:
return stop return stop
......
...@@ -750,7 +750,7 @@ class TestBasicOps(unittest.TestCase): ...@@ -750,7 +750,7 @@ class TestBasicOps(unittest.TestCase):
result = self.set ^ self.set result = self.set ^ self.set
self.assertEqual(result, empty_set) self.assertEqual(result, empty_set)
def checkempty_symmetric_difference(self): def test_empty_symmetric_difference(self):
result = self.set ^ empty_set result = self.set ^ empty_set
self.assertEqual(result, self.set) self.assertEqual(result, self.set)
......
...@@ -27,6 +27,10 @@ Library ...@@ -27,6 +27,10 @@ Library
- Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when - Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
re-initializing a buffered IO object by calling its ``__init__`` method. re-initializing a buffered IO object by calling its ``__init__`` method.
- Issue #7395: Fix tracebacks in pstats interactive browser.
- Issue #8230: Fix Lib/test/sortperf.py.
- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links - Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
across devices. across devices.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment