summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/cloud_tests/bddeb.py2
-rw-r--r--tests/cloud_tests/platforms/platforms.py14
-rw-r--r--tests/cloud_tests/util.py6
3 files changed, 18 insertions, 4 deletions
diff --git a/tests/cloud_tests/bddeb.py b/tests/cloud_tests/bddeb.py
index a6d5069f..b9cfcfa6 100644
--- a/tests/cloud_tests/bddeb.py
+++ b/tests/cloud_tests/bddeb.py
@@ -16,7 +16,7 @@ pre_reqs = ['devscripts', 'equivs', 'git', 'tar']
def _out(cmd_res):
"""Get clean output from cmd result."""
- return cmd_res[0].strip()
+ return cmd_res[0].decode("utf-8").strip()
def build_deb(args, instance):
diff --git a/tests/cloud_tests/platforms/platforms.py b/tests/cloud_tests/platforms/platforms.py
index 1542b3be..abbfebba 100644
--- a/tests/cloud_tests/platforms/platforms.py
+++ b/tests/cloud_tests/platforms/platforms.py
@@ -2,12 +2,15 @@
"""Base platform class."""
import os
+import shutil
from simplestreams import filters, mirrors
from simplestreams import util as s_util
from cloudinit import util as c_util
+from tests.cloud_tests import util
+
class Platform(object):
"""Base class for platforms."""
@@ -17,7 +20,14 @@ class Platform(object):
def __init__(self, config):
"""Set up platform."""
self.config = config
- self._generate_ssh_keys(config['data_dir'])
+ self.tmpdir = util.mkdtemp()
+ if 'data_dir' in config:
+ self.data_dir = config['data_dir']
+ else:
+ self.data_dir = os.path.join(self.tmpdir, "data_dir")
+ os.mkdir(self.data_dir)
+
+ self._generate_ssh_keys(self.data_dir)
def get_image(self, img_conf):
"""Get image using specified image configuration.
@@ -29,7 +39,7 @@ class Platform(object):
def destroy(self):
"""Clean up platform data."""
- pass
+ shutil.rmtree(self.tmpdir)
def _generate_ssh_keys(self, data_dir):
"""Generate SSH keys to be used with image."""
diff --git a/tests/cloud_tests/util.py b/tests/cloud_tests/util.py
index 6ff285e7..3dd4996d 100644
--- a/tests/cloud_tests/util.py
+++ b/tests/cloud_tests/util.py
@@ -460,6 +460,10 @@ class PlatformError(IOError):
IOError.__init__(self, message)
+def mkdtemp(prefix='cloud_test_data'):
+ return tempfile.mkdtemp(prefix=prefix)
+
+
class TempDir(object):
"""Configurable temporary directory like tempfile.TemporaryDirectory."""
@@ -480,7 +484,7 @@ class TempDir(object):
@return_value: tempdir path
"""
if not self.tmpdir:
- self.tmpdir = tempfile.mkdtemp(prefix=self.prefix)
+ self.tmpdir = mkdtemp(prefix=self.prefix)
LOG.debug('using tmpdir: %s', self.tmpdir)
return self.tmpdir