diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2021-01-29 13:26:10 +0300 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2021-01-29 13:26:10 +0300 |
| commit | 44979522af5fb9dfa64afd0310c4eb6b62ae477f (patch) | |
| tree | b10aa614b0d5677f79a0d233488ae88429a0d728 | |
| parent | 4705f07c516e02a3c73095db74a6331ee6639119 (diff) | |
| download | eventlet-683-open-kwargs.tar.gz | |
patcher: built-in open() did not accept kwargs683-open-kwargs
https://github.com/eventlet/eventlet/issues/683
| -rw-r--r-- | eventlet/green/builtin.py | 4 | ||||
| -rw-r--r-- | tests/isolated/patcher_open_kwargs.py | 10 | ||||
| -rw-r--r-- | tests/patcher_test.py | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/eventlet/green/builtin.py b/eventlet/green/builtin.py index 71de1dc..8d0603a 100644 --- a/eventlet/green/builtin.py +++ b/eventlet/green/builtin.py @@ -38,9 +38,9 @@ __original_open = open __opening = False -def open(*args): +def open(*args, **kwargs): global __opening - result = __original_open(*args) + result = __original_open(*args, **kwargs) if not __opening: # This is incredibly ugly. 'open' is used under the hood by # the import process. So, ensure we don't wind up in an diff --git a/tests/isolated/patcher_open_kwargs.py b/tests/isolated/patcher_open_kwargs.py new file mode 100644 index 0000000..be88ef9 --- /dev/null +++ b/tests/isolated/patcher_open_kwargs.py @@ -0,0 +1,10 @@ +__test__ = False + +if __name__ == "__main__": + import eventlet + eventlet.monkey_patch(builtins=True, os=True) + + with open(__file__, mode="rt", buffering=16): + pass + + print("pass") diff --git a/tests/patcher_test.py b/tests/patcher_test.py index 6ff6e5a..dbf6e1c 100644 --- a/tests/patcher_test.py +++ b/tests/patcher_test.py @@ -523,3 +523,7 @@ def test_fork_after_monkey_patch(): def test_builtin(): tests.run_isolated('patcher_builtin.py') + + +def test_open_kwargs(): + tests.run_isolated("patcher_open_kwargs.py") |
