[ovs-dev] [PATCH v3] python-windows: Update python3 environment variables on Windows

Alin Gabriel Serdean aserdean at ovn.org
Mon Apr 16 19:42:09 UTC 2018


Starting from Python 3.6 two new environment variables have been introduced
on Windows:
PYTHONLEGACYWINDOWSFSENCODING
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONLEGACYWINDOWSFSENCODING
PYTHONLEGACYWINDOWSSTDIO
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONLEGACYWINDOWSSTDIO

To keep backwards compatibility when running tests under Windows we define and
set the two variables thus ensuring default filesystem encoding (mbcs).

Fixes tests on Python version >=3.6:
2030: simple idl, writing via IDL with unicode - Python3
2032: simple idl, writing via IDL with unicode - Python3 - register_columns
2034: simple idl, writing via IDL with unicode - Python3 - tcp

Signed-off-by: Alin Gabriel Serdean <aserdean at ovn.org>
Co-authored-by: Alin Balutoiu <abalutoiu at cloudbasesolutions.com>
Signed-off-by: Alin Balutoiu <abalutoiu at cloudbasesolutions.com>
---
 tests/atlocal.in | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/atlocal.in b/tests/atlocal.in
index bf15a1913..6af420c47 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -106,6 +106,15 @@ FreeBSD|NetBSD)
     ;;
 esac
 
+if test x"$PYTHON3" != x && test "$IS_WIN32" = yes; then
+    # enables legacy windows unicode printing needed for Python3 compatibility
+    # with the Python2 tests
+    PYTHONLEGACYWINDOWSFSENCODING=true
+    export PYTHONLEGACYWINDOWSFSENCODING
+    PYTHONLEGACYWINDOWSSTDIO=true
+    export PYTHONLEGACYWINDOWSSTDIO
+fi
+
 # Check whether to run IPv6 tests.
 if $PYTHON -c '
 import socket
-- 
2.16.1.windows.1



More information about the dev mailing list