src/eric7/Testing/Interfaces/UnittestRunner.py

branch
eric7
changeset 10425
0badf8f80d7c
parent 10405
df7e1694d0eb
child 10439
21c28b0f9e41
diff -r 1a64ad8acf9d -r 0badf8f80d7c src/eric7/Testing/Interfaces/UnittestRunner.py
--- a/src/eric7/Testing/Interfaces/UnittestRunner.py	Wed Dec 20 10:02:19 2023 +0100
+++ b/src/eric7/Testing/Interfaces/UnittestRunner.py	Wed Dec 20 10:47:17 2023 +0100
@@ -8,6 +8,7 @@
 """
 
 import importlib
+import importlib.util
 import json
 import os
 import sys
@@ -369,12 +370,15 @@
                 )
             ),
         )
-        from coverage import Coverage  # __IGNORE_WARNING_I10__
+        try:
+            from coverage import Coverage  # __IGNORE_WARNING_I10__
 
-        cover = Coverage(data_file=covDataFile)
-        if coverageErase:
-            cover.erase()
-        cover.start()
+            cover = Coverage(data_file=covDataFile)
+            if coverageErase:
+                cover.erase()
+            cover.start()
+        except ImportError:
+            cover = None
     else:
         cover = None
 
@@ -466,6 +470,14 @@
             print(json.dumps(versions))
             sys.exit(0)
 
+        elif command == "has_coverage":
+            if importlib.util.find_spec("coverage") is None:
+                # not available
+                sys.exit(1)
+            else:
+                # available
+                sys.exit(0)
+
         elif command == "runtest":
             runtest(sys.argv[2:])
             sys.exit(0)

eric ide

mercurial