tests: enforce meaningful version checks (#15635)

Follow up to #15430 — would've made
https://github.com/python/mypy/pull/15566#issuecomment-1616170947
unnecessary.
diff --git a/mypy/test/data.py b/mypy/test/data.py
index f9bb951..47c96ce 100644
--- a/mypy/test/data.py
+++ b/mypy/test/data.py
@@ -167,13 +167,17 @@
                         version = tuple(int(x) for x in version_str.split("."))
                     except ValueError:
                         _item_fail(f"{version_str!r} is not a valid python version")
-                    if version < defaults.PYTHON3_VERSION:
-                        _item_fail(
-                            f"Version check against {version}; must be >= {defaults.PYTHON3_VERSION}"
-                        )
                     if compare_op == ">=":
+                        if version <= defaults.PYTHON3_VERSION:
+                            _item_fail(
+                                f"{arg} always true since minimum runtime version is {defaults.PYTHON3_VERSION}"
+                            )
                         version_check = sys.version_info >= version
                     elif compare_op == "==":
+                        if version < defaults.PYTHON3_VERSION:
+                            _item_fail(
+                                f"{arg} always false since minimum runtime version is {defaults.PYTHON3_VERSION}"
+                            )
                         if not 1 < len(version) < 4:
                             _item_fail(
                                 f'Only minor or patch version checks are currently supported with "==": {version_str!r}'
diff --git a/mypy/test/meta/test_parse_data.py b/mypy/test/meta/test_parse_data.py
index cc1b4ff..6593dbc 100644
--- a/mypy/test/meta/test_parse_data.py
+++ b/mypy/test/meta/test_parse_data.py
@@ -67,3 +67,37 @@
             f".test:{expected_lineno}: Invalid section header [unknownsection] in case 'abc'"
         )
         assert expected in actual
+
+    def test_bad_ge_version_check(self) -> None:
+        # Arrange
+        data = self._dedent(
+            """
+            [case abc]
+            s: str
+            [out version>=3.8]
+            abc
+            """
+        )
+
+        # Act
+        actual = self._run_pytest(data)
+
+        # Assert
+        assert "version>=3.8 always true since minimum runtime version is (3, 8)" in actual
+
+    def test_bad_eq_version_check(self) -> None:
+        # Arrange
+        data = self._dedent(
+            """
+            [case abc]
+            s: str
+            [out version==3.7]
+            abc
+            """
+        )
+
+        # Act
+        actual = self._run_pytest(data)
+
+        # Assert
+        assert "version==3.7 always false since minimum runtime version is (3, 8)" in actual