From: Michael R. Crusoe <crusoe@debian.org>
Subject: skip some tests if dependencies are missing (pyedflib or probeinterface)

These Python packages are yet to be included in Debian.
--- neo.orig/neo/test/iotest/test_edfio.py
+++ neo/neo/test/iotest/test_edfio.py
@@ -7,11 +7,13 @@
 import quantities as pq
 
 from neo.io.edfio import EDFIO
+from neo.rawio.edfrawio import HAS_PYEDF
 from neo.test.iotest.common_io_test import BaseTestIO
 from neo.io.proxyobjects import AnalogSignalProxy
 from neo import AnalogSignal
 
 
+@unittest.skipUnless(HAS_PYEDF, "requires pyedflib")
 class TestEDFIO(
     BaseTestIO,
     unittest.TestCase,
--- neo.orig/neo/test/rawiotest/test_edfrawio.py
+++ neo/neo/test/rawiotest/test_edfrawio.py
@@ -4,10 +4,11 @@
 
 import unittest
 
-from neo.rawio.edfrawio import EDFRawIO
+from neo.rawio.edfrawio import EDFRawIO, HAS_PYEDF
 from neo.test.rawiotest.common_rawio_test import BaseTestRawIO
 
 
+@unittest.skipUnless(HAS_PYEDF, "requires pyedflib")
 class TestExampleRawIO(
     BaseTestRawIO,
     unittest.TestCase,
--- neo.orig/neo/test/rawiotest/test_spikeglxrawio.py
+++ neo/neo/test/rawiotest/test_spikeglxrawio.py
@@ -10,6 +10,13 @@
 from neo.test.rawiotest.common_rawio_test import BaseTestRawIO
 import numpy as np
 
+try:
+    import probeinterface
+except ImportError:
+    HAVE_PROBEINTERFACE = False
+else:
+    HAVE_PROBEINTERFACE = True
+
 
 class TestSpikeGLXRawIO(BaseTestRawIO, unittest.TestCase):
     rawioclass = SpikeGLXRawIO
@@ -65,6 +72,7 @@
             actual_stream_names == expected_stream_names
         ), f"Expected {expected_stream_names}, but got {actual_stream_names}"
 
+    @unittest.skipUnless(HAVE_PROBEINTERFACE, "requires probeinterface")
     def test_with_location(self):
         rawio = SpikeGLXRawIO(self.get_local_path("spikeglx/Noise4Sam_g0"), load_channel_location=True)
         rawio.parse_header()
