From 7bbff61d9486eeb6b7cd0b6cfb619a9b6e08967b Mon Sep 17 00:00:00 2001 From: philwo Date: Mon, 9 Aug 2021 00:48:15 -0700 Subject: [PATCH] Fix test_source_file_does_not_override_standard_library to work with Python 3.9. Overloading the "re" module causes weird errors on our new Windows VM image, probably because Python itself uses it for some purpose now. I noticed this in our Bazel CI testing area, so the new image is not yet live. Let's try to use a module that's less core to Python, but still in the standard library - I picked "mailbox" after looking at the list of standard library modules. Here's an example log from the failing test on the new image: ``` ** test_source_file_does_not_override_standard_library ************************* [...] Error processing line 1 of C:\Python3\lib\site-packages\protobuf-3.17.3-py3.9-nspkg.pth: Fatal Python error: init_import_site: Failed to import the site module Python runtime state: initialized Traceback (most recent call last): File "C:\Python3\lib\site.py", line 169, in addpackage exec(line) File "", line 1, in File "C:\Python3\lib\importlib\util.py", line 2, in from . import abc File "C:\Python3\lib\importlib\abc.py", line 17, in from typing import Protocol, runtime_checkable File "C:\Python3\lib\typing.py", line 2203, in Pattern = _alias(stdlib_re.Pattern, 1) AttributeError: module 're' has no attribute 'Pattern' ``` PiperOrigin-RevId: 389572773 --- src/test/shell/bazel/python_version_test.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/shell/bazel/python_version_test.sh b/src/test/shell/bazel/python_version_test.sh index 523534c2944b03..260b2ebd13d2d7 100755 --- a/src/test/shell/bazel/python_version_test.sh +++ b/src/test/shell/bazel/python_version_test.sh @@ -531,13 +531,13 @@ py_library( # (i.e., those implemented in C) use a different loader than # Python-implemented ones, even though they're both part of the standard # distribution of the interpreter. - srcs = ["re.py"], + srcs = ["mailbox.py"], ) EOF cat > test/main.py << EOF -import re +import mailbox EOF - cat > test/re.py << EOF + cat > test/mailbox.py << EOF print("I am lib!") EOF