]> granicus.if.org Git - python/commitdiff
Merged revisions 83079 via svnmerge from
authorRonald Oussoren <ronaldoussoren@mac.com>
Fri, 23 Jul 2010 12:32:07 +0000 (12:32 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Fri, 23 Jul 2010 12:32:07 +0000 (12:32 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint

................
  r83079 | ronald.oussoren | 2010-07-23 13:26:30 +0100 (Fri, 23 Jul 2010) | 15 lines

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

Lib/test/test_subprocess.py

index e8f39b1ecaa0c68045b5fbaff6e5da8ab471d8fc..87af4ad6c82e491fa76bbe54461dfeec3911afd2 100644 (file)
@@ -521,6 +521,20 @@ class ProcessTestCase(unittest.TestCase):
             """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"
+                    sys.stdout.flush()
+
             try:
                 import resource
                 old_limit = resource.getrlimit(resource.RLIMIT_CORE)