Merged revisions 83067 via svnmerge from

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

........
  r83067 | ronald.oussoren | 2010-07-23 10:50:05 +0100 (Fri, 23 Jul 2010) | 8 lines

  Workaround for issue 4047: in some configurations of
  the Crash Reporter on OSX test_subprocess will trigger
  the reporter.

  This patch prints a warning when the Crash Reporter will
  get triggered intentionally, which should avoid confusing
  people.
........
This commit is contained in:
Ronald Oussoren 2010-07-23 10:35:20 +00:00
parent 284beddb21
commit d7eb3a8d73

View file

@ -568,6 +568,21 @@ class ProcessTestCase(unittest.TestCase):
"""Try to prevent core files from being created. """Try to prevent core files from being created.
Returns previous ulimit if successful, else None. Returns previous ulimit if successful, else None.
""" """
if sys.platform == 'darwin':
# Check if the 'Crash Reporter' on OSX was configured
# in 'Developer' mode and warn that it will get triggered
# when it is.
#
# This assumes that this context manager is used in tests
# that might trigger the next manager.
value = subprocess.Popen(['/usr/bin/defaults', 'read',
'com.apple.CrashReporter', 'DialogType'],
stdout=subprocess.PIPE).communicate()[0]
if value.strip() == b'developer':
print("this tests triggers the Crash Reporter, "
"that is intentional", end='')
sys.stdout.flush()
try: try:
import resource import resource
old_limit = resource.getrlimit(resource.RLIMIT_CORE) old_limit = resource.getrlimit(resource.RLIMIT_CORE)
@ -576,6 +591,8 @@ class ProcessTestCase(unittest.TestCase):
except (ImportError, ValueError, resource.error): except (ImportError, ValueError, resource.error):
return None return None
def _unsuppress_core_files(self, old_limit): def _unsuppress_core_files(self, old_limit):
"""Return core file behavior to default.""" """Return core file behavior to default."""
if old_limit is None: if old_limit is None: