import contextlib
+import os
+import sys
import tempfile
import unittest
-import os
from test import support
from test import test_tools
+
+def skip_if_different_mount_drives():
+ if sys.platform != 'win32':
+ return
+ ROOT = os.path.dirname(os.path.dirname(__file__))
+ root_drive = os.path.splitroot(ROOT)[0]
+ cwd_drive = os.path.splitroot(os.getcwd())[0]
+ if root_drive != cwd_drive:
+ # generate_cases.py uses relpath() which raises ValueError if ROOT
+ # and the current working different have different mount drives
+ # (on Windows).
+ raise unittest.SkipTest(
+ f"the current working directory and the Python source code "
+ f"directory have different mount drives "
+ f"({cwd_drive} and {root_drive})"
+ )
+skip_if_different_mount_drives()
+
+
test_tools.skip_if_missing('cases_generator')
with test_tools.imports_under_tool('cases_generator'):
import generate_cases