Skip to content

Commit

Permalink
Fix test_source_file_does_not_override_standard_library to work with …
Browse files Browse the repository at this point in the history
…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 "<string>", line 1, in <module>
  File "C:\Python3\lib\importlib\util.py", line 2, in <module>
    from . import abc
  File "C:\Python3\lib\importlib\abc.py", line 17, in <module>
    from typing import Protocol, runtime_checkable
  File "C:\Python3\lib\typing.py", line 2203, in <module>
    Pattern = _alias(stdlib_re.Pattern, 1)
AttributeError: module 're' has no attribute 'Pattern'
```
PiperOrigin-RevId: 389572773
  • Loading branch information
philwo authored and meteorcloudy committed Aug 13, 2021
1 parent 9f7e57a commit 7bbff61
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/test/shell/bazel/python_version_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 7bbff61

Please sign in to comment.