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