From: Ronald Oussoren <ronaldoussoren@mac.com>
Date: Fri, 23 Jul 2010 09:50:05 +0000 (+0000)
Subject: Workaround for issue 4047: in some configurations of
X-Git-Tag: v3.2a1~143
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=102d11a6d6f972c5d9071f0c9a13204040ec39c8;p=python

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

diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 0f7d26c5d2..e6ba8cb1ea 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -559,6 +559,21 @@ class _SuppressCoreFiles(object):
         except (ImportError, ValueError, resource.error):
             pass
 
+        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()
+
     def __exit__(self, *args):
         """Return core file behavior to default."""
         if self.old_limit is None: