Change in vdsm[master]: utils: Move namedTemporaryDir here from testlib

osvoboda at redhat.com osvoboda at redhat.com
Tue Sep 23 03:23:51 UTC 2014


Ondřej Svoboda has uploaded a new change for review.

Change subject: utils: Move namedTemporaryDir here from testlib
......................................................................

utils: Move namedTemporaryDir here from testlib

To be used in subsequent work.

Change-Id: Idd2ac16a8215ef99e94874163ef4a245482d19c0
Signed-off-by: Ondřej Svoboda <osvoboda at redhat.com>
---
M lib/vdsm/utils.py
M tests/functional/networkTests.py
M tests/functional/sosPluginTests.py
M tests/hooksTests.py
M tests/miscTests.py
M tests/mountTests.py
M tests/netinfoTests.py
M tests/testlib.py
M tests/vmfakelib.py
9 files changed, 25 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/26/33226/1

diff --git a/lib/vdsm/utils.py b/lib/vdsm/utils.py
index 23c63e8..b73bb58 100644
--- a/lib/vdsm/utils.py
+++ b/lib/vdsm/utils.py
@@ -46,6 +46,7 @@
 import shutil
 import signal
 import stat
+import tempfile
 import threading
 import time
 import zombiereaper
@@ -59,6 +60,11 @@
 BUFFSIZE = 1024
 
 SUDO_NON_INTERACTIVE_FLAG = "-n"
+
+# /tmp may use tempfs filesystem, not suitable for some of the test assuming a
+# filesystem with direct io support.
+TEMPDIR = '/var/tmp'
+# TODO: make the tests state they need physical storage (taken from testlib.py)
 
 _THP_STATE_PATH = '/sys/kernel/mm/transparent_hugepage/enabled'
 if not os.path.exists(_THP_STATE_PATH):
@@ -143,6 +149,15 @@
             raise
 
 
+ at contextmanager
+def namedTemporaryDir(dir=TEMPDIR):
+    tmpDir = tempfile.mkdtemp(dir=dir)
+    try:
+        yield tmpDir
+    finally:
+        shutil.rmtree(tmpDir)
+
+
 def _parseMemInfo(lines):
     """
     Parse the content of ``/proc/meminfo`` as list of strings
diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index 9a49238..f862d31 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -23,8 +23,8 @@
 import signal
 
 from hookValidation import ValidatesHook
-from testlib import (VdsmTestCase as TestCaseBase, namedTemporaryDir,
-                     expandPermutations, permutations)
+from testlib import (VdsmTestCase as TestCaseBase, expandPermutations,
+                     permutations)
 from testValidation import (brokentest, slowtest, RequireDummyMod,
                             RequireVethMod, ValidateRunningAsRoot)
 
@@ -45,7 +45,7 @@
 from vdsm.netinfo import (bridges, operstate, prefix2netmask, getRouteDeviceTo,
                           getDhclientIfaces)
 from vdsm import ipwrapper
-from vdsm.utils import pgrep
+from vdsm.utils import namedTemporaryDir, pgrep
 
 import caps
 from network import errors
diff --git a/tests/functional/sosPluginTests.py b/tests/functional/sosPluginTests.py
index 3660c58..710ae15 100644
--- a/tests/functional/sosPluginTests.py
+++ b/tests/functional/sosPluginTests.py
@@ -20,7 +20,7 @@
 
 import subprocess
 from testlib import VdsmTestCase as TestCaseBase
-from testlib import namedTemporaryDir
+from vdsm.utils import namedTemporaryDir
 import testValidation
 
 ARCHIVE_NAME = "sosplugintest"
diff --git a/tests/hooksTests.py b/tests/hooksTests.py
index b27b02c..c4b5483 100644
--- a/tests/hooksTests.py
+++ b/tests/hooksTests.py
@@ -26,7 +26,7 @@
 import os.path
 from contextlib import contextmanager
 from testlib import VdsmTestCase as TestCaseBase
-from testlib import namedTemporaryDir
+from vdsm.utils import namedTemporaryDir
 
 import hooks
 
diff --git a/tests/miscTests.py b/tests/miscTests.py
index a40afb0..bc2cccc 100644
--- a/tests/miscTests.py
+++ b/tests/miscTests.py
@@ -29,11 +29,11 @@
 from testlib import AssertingLock
 from testlib import VdsmTestCase as TestCaseBase
 from testlib import temporaryPath
-from testlib import namedTemporaryDir
 from testlib import TEMPDIR
 import inspect
 from multiprocessing import Process
 from vdsm import utils
+from vdsm.utils import namedTemporaryDir
 
 import storage.outOfProcess as oop
 import storage.misc as misc
diff --git a/tests/mountTests.py b/tests/mountTests.py
index 0b55a21..d6f3555 100644
--- a/tests/mountTests.py
+++ b/tests/mountTests.py
@@ -27,8 +27,8 @@
 
 from nose.plugins.skip import SkipTest
 
+from vdsm.utils import namedTemporaryDir
 from testlib import VdsmTestCase as TestCaseBase
-from testlib import namedTemporaryDir
 from storage.misc import execCmd
 import storage.mount as mount
 from testValidation import checkSudo
diff --git a/tests/netinfoTests.py b/tests/netinfoTests.py
index 42d8b08..72faa24 100644
--- a/tests/netinfoTests.py
+++ b/tests/netinfoTests.py
@@ -29,11 +29,12 @@
 from vdsm.netinfo import (getBootProtocol, getDhclientIfaces, BONDING_MASTERS,
                           BONDING_OPT, _randomIfaceName, _getBondingOptions)
 from vdsm.netlink import addr as nl_addr
+from vdsm.utils import namedTemporaryDir
 
 from functional import dummy, veth
 from ipwrapperTests import _fakeTypeDetection
 from monkeypatch import MonkeyPatch, MonkeyPatchScope
-from testlib import VdsmTestCase as TestCaseBase, namedTemporaryDir
+from testlib import VdsmTestCase as TestCaseBase
 from testValidation import ValidateRunningAsRoot, RequireBondingMod
 
 # speeds defined in ethtool
diff --git a/tests/testlib.py b/tests/testlib.py
index 6fffb3c..cde46c8 100644
--- a/tests/testlib.py
+++ b/tests/testlib.py
@@ -134,15 +134,6 @@
         os.unlink(src)
 
 
- at contextmanager
-def namedTemporaryDir(dir=TEMPDIR):
-    tmpDir = tempfile.mkdtemp(dir=dir)
-    try:
-        yield tmpDir
-    finally:
-        shutil.rmtree(tmpDir)
-
-
 class VdsmTestCase(unittest.TestCase):
     def __init__(self, *args, **kwargs):
         unittest.TestCase.__init__(self, *args, **kwargs)
diff --git a/tests/vmfakelib.py b/tests/vmfakelib.py
index d027de7..88cc207 100644
--- a/tests/vmfakelib.py
+++ b/tests/vmfakelib.py
@@ -25,11 +25,11 @@
 
 from vdsm import constants
 from vdsm import libvirtconnection
+from vdsm.utils import namedTemporaryDir
 
 import caps
 from virt import vm
 
-from testlib import namedTemporaryDir
 from monkeypatch import MonkeyPatchScope
 
 


-- 
To view, visit http://gerrit.ovirt.org/33226
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd2ac16a8215ef99e94874163ef4a245482d19c0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Ondřej Svoboda <osvoboda at redhat.com>


More information about the vdsm-patches mailing list