From 9ef498797245cc60d7c998315c327ab65ae2b580 Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Sat, 30 Sep 2017 21:19:14 +0200
Subject: [PATCH] Try to include also Macs in coverage .so file search.

---
 Cython/Coverage.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/Cython/Coverage.py b/Cython/Coverage.py
index 4b8c44efb..07c66db2e 100644
--- a/Cython/Coverage.py
+++ b/Cython/Coverage.py
@@ -106,8 +106,14 @@ class Plugin(CoveragePlugin):
         ext = ext.lower()
         if ext in ('.py', '.pyx', '.pxd', '.c', '.cpp'):
             pass
-        elif ext in ('.so', '.pyd'):
-            platform_suffix = re.search(r'[.]cp(?:ython-[0-9]+[a-z]*|[0-9]+-win[_a-z0-9]*)$', basename, re.I)
+        elif ext == '.pyd':
+            # Windows extension module
+            platform_suffix = re.search(r'[.]cp[0-9]+-win[_a-z0-9]*$', basename, re.I)
+            if platform_suffix:
+                basename = basename[:platform_suffix.start()]
+        elif ext == '.so':
+            # Linux/Unix/Mac extension module
+            platform_suffix = re.search(r'[.]cpython-[0-9]+[a-z]*(?:-[a-z0-9]+)?$', basename, re.I)
             if platform_suffix:
                 basename = basename[:platform_suffix.start()]
         elif ext == '.pxi':
-- 
2.30.9