diff --git a/zephyr/lib/zephyr_tests.py b/zephyr/lib/zephyr_tests.py
index b4134ee..08b7a40 100755
--- a/zephyr/lib/zephyr_tests.py
+++ b/zephyr/lib/zephyr_tests.py
@@ -15,6 +15,7 @@ import struct
 import ctypes
 import ctypes.util
 import time
+import sys
 from ctypes import c_int, c_uint, c_ushort, c_char, c_ubyte
 from ctypes import c_uint16, c_uint32
 from ctypes import POINTER, c_void_p, c_char_p
@@ -508,11 +509,16 @@ def py_make_zcode(input):
 class ZephyrTestSuite(TestSuite):
     """Tests for libzephyr"""
     def setup(self):
+        # figure out the right suffix
+        if sys.platform == 'darwin':
+            suffix = 'dylib'
+        else:
+            suffix = 'so'
         # find the library
-        libzephyr_path = os.path.join(self.builddir, "libzephyr.so.4.0.0")
+        libzephyr_path = os.path.join(self.builddir, "libzephyr.%s" % suffix)
         # check for libtool...
         if not os.path.exists(libzephyr_path):
-            libzephyr_path = os.path.join(self.builddir, ".libs", "libzephyr.so.4.0.0")
+            libzephyr_path = os.path.join(self.builddir, ".libs", "libzephyr.%s" % suffix)
         self._libzephyr = libZephyr(libzephyr_path)
 
     def cleanup(self):
