Author: Armin Rigo <[email protected]>
Branch:
Changeset: r85749:640aead9d130
Date: 2016-07-18 11:07 +0200
http://bitbucket.org/pypy/pypy/changeset/640aead9d130/
Log: Fix for test_os.py on Windows
diff --git a/pypy/module/posix/interp_posix.py
b/pypy/module/posix/interp_posix.py
--- a/pypy/module/posix/interp_posix.py
+++ b/pypy/module/posix/interp_posix.py
@@ -544,6 +544,14 @@
raise oefmt(space.w_ValueError,
"the environment variable is longer than %d bytes",
_MAX_ENV)
+ if _WIN32 and not objectmodel.we_are_translated() and value == '':
+ # special case: on Windows, _putenv("NAME=") really means that
+ # we want to delete NAME. So that's what the os.environ[name]=''
+ # below will do after translation. But before translation, it
+ # will cache the environment value '' instead of <missing> and
+ # then return that. We need to avoid that.
+ del os.environ[name]
+ return
try:
os.environ[name] = value
except OSError as e:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit