Change in vdsm[master]: commands: import StringIO only on Python 2

danken at redhat.com danken at redhat.com
Tue Mar 29 07:50:44 UTC 2016


Dan Kenigsberg has uploaded a new change for review.

Change subject: commands: import StringIO only on Python 2
......................................................................

commands: import StringIO only on Python 2

This patch makes it possible to import vdsm.commands on Python 3.
However, it does not make the module py3-compatible - any usage of
AsyncProc under Python 3 would fail in runtime.

The motivation of this patch is to allow adding more modules to the
test_modules_py3 list, while causing no runtime harm to Python 3.

Change-Id: I3610865945aeee3b13b8e195c749023a524ebe97
Signed-off-by: Dan Kenigsberg <danken at redhat.com>
---
M lib/vdsm/commands.py
M tests/Makefile.am
2 files changed, 23 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/80/55380/1

diff --git a/lib/vdsm/commands.py b/lib/vdsm/commands.py
index 5e86262..66b563a 100644
--- a/lib/vdsm/commands.py
+++ b/lib/vdsm/commands.py
@@ -19,8 +19,6 @@
 #
 from __future__ import absolute_import
 
-from StringIO import StringIO
-
 from weakref import proxy
 import errno
 import io
@@ -28,6 +26,7 @@
 import os
 import select
 import signal
+import sys
 import threading
 import time
 from . import cmdutils
@@ -36,6 +35,11 @@
 from .utils import NoIntrPoll, stripNewLines
 from vdsm import constants
 
+# this is an ugly hack to let this module load on Python 3, and fail later when
+# AsyncProc is used.
+if sys.version_info[0] == 2:
+    from StringIO import StringIO
+
 # Buffsize is 1K because I tested it on some use cases and 1K was fastest. If
 # you find this number to be a bottleneck in any way you are welcome to change
 # it
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3feb093..9d914e6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -31,18 +31,33 @@
 
 test_modules_py3 = \
 	apiData.py \
-	virt_api_test.py \
 	cmdutilsTests.py \
+	concurrentTests.py \
+	cpuinfo_test.py \
 	cpuProfileTests.py \
-	sslTests.py \
 	domainDescriptorTests.py \
+	exception_test.py \
 	executorTests.py \
+	gluster_exception_test.py \
+	glusterTestData.py \
+	hookValidation.py \
+	jobsTests.py \
+	libvirtconnectionTests.py \
+	modprobe.py \
+	monkeypatch.py \
+	network/ipwrapper_test.py \
 	passwordsTests.py \
 	permutationTests.py \
 	pthreadTests.py \
 	responseTests.py \
 	scheduleTests.py \
+	sslTests.py \
+	testlib.py \
+	testrunner.py \
+	testValidation.py \
+	virt_api_test.py \
 	vmStatsTests.py \
+	vmTestsData.py \
 	$(NULL)
 
 common_modules = common/*_test.py


-- 
To view, visit https://gerrit.ovirt.org/55380
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3610865945aeee3b13b8e195c749023a524ebe97
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dan Kenigsberg <danken at redhat.com>


More information about the vdsm-patches mailing list