gh-109295: Skip test_generated_cases if different mount drives (#109308)

On Windows, skip the test if the current working directory and the
Python source code directory have different mount drives. It happens
if the temporary directory is on a different mount drive than the
Python source code.
This commit is contained in:
Victor Stinner 2023-09-12 04:30:07 +02:00 committed by GitHub
parent f2a55fecd0
commit 9363769161
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,11 +1,31 @@
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