[Python-checkins] r83069 - in python/branches/release31-maint: Lib/test/test_subprocess.py

ronald.oussoren python-checkins at python.org
Fri Jul 23 12:35:20 CEST 2010


Author: ronald.oussoren
Date: Fri Jul 23 12:35:20 2010
New Revision: 83069

Log:
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.
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Lib/test/test_subprocess.py

Modified: python/branches/release31-maint/Lib/test/test_subprocess.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test_subprocess.py	(original)
+++ python/branches/release31-maint/Lib/test/test_subprocess.py	Fri Jul 23 12:35:20 2010
@@ -568,6 +568,21 @@
             """Try to prevent core files from being created.
             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:
                 import resource
                 old_limit = resource.getrlimit(resource.RLIMIT_CORE)
@@ -576,6 +591,8 @@
             except (ImportError, ValueError, resource.error):
                 return None
 
+
+
         def _unsuppress_core_files(self, old_limit):
             """Return core file behavior to default."""
             if old_limit is None:


More information about the Python-checkins mailing list