]> www.average.org Git - loctrkd.git/blobdiff - test/test_mypy.py
Update changelog for 2.00 release
[loctrkd.git] / test / test_mypy.py
index 3b8eaaf2368476e432f506988a5e7380bba60c58..e4bf8c62625fcc3114002570e94b310b487fb790 100644 (file)
@@ -1,15 +1,29 @@
-from subprocess import run
+from pkg_resources import get_distribution, DistributionNotFound
+from subprocess import call
 from shutil import which
-from unittest import TestCase
+from unittest import main, skipUnless, TestCase
+
+mypy_version = 0.0
+try:
+    mypy_version = float(get_distribution("mypy").version)
+except DistributionNotFound:
+    pass
 
 
 class TypeCheck(TestCase):
-    def test_mypy(self):
+    @skipUnless(mypy_version >= 0.942, "Do not trust earlier mypy versions")
+    def test_mypy(self) -> None:
         if not which("mypy"):
-            self.fail(f"mypy not installed.")
-        cmd = ["mypy", "--strict", "--ignore-missing-imports", "gps303"]
-        output = run(cmd, capture_output=True)
-        if output.returncode != 0:
-            self.fail(
-                f"mypy exited with code {output.returncode}:\n{output.stderr.decode()}"
-            )
+            self.fail("mypy not installed.")
+        cmd = [
+            "mypy",
+            "--strict",
+            "--ignore-missing-imports",
+            "loctrkd",
+            "test",
+        ]
+        self.assertEqual(call(cmd), 0, "mypy typecheck")
+
+
+if __name__ == "__main__":
+    main()