Switch from /home/opnfv/functest to /var/lib/xtesting 53/52853/2
authorCédric Ollivier <cedric.ollivier@orange.com>
Wed, 28 Feb 2018 17:46:13 +0000 (18:46 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Wed, 28 Feb 2018 18:13:53 +0000 (19:13 +0100)
Functest containers will have to create symlinks to allow publishing
artifacts.

All classes create the mandatory dirs.

Change-Id: Ia1f215005d553dd6d64685e4d8a3f5c843c5db7a
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
docker/Dockerfile
xtesting/ci/logging.ini
xtesting/ci/run_tests.py
xtesting/ci/testcases.yaml
xtesting/core/feature.py
xtesting/core/robotframework.py
xtesting/tests/unit/core/test_feature.py
xtesting/tests/unit/core/test_robotframework.py
xtesting/utils/constants.py

index 857ae6c..4d0fe00 100644 (file)
@@ -10,6 +10,5 @@ RUN apk --no-cache add --update python py-pip bash git && \
         -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
         -chttps://git.opnfv.org/functest-xtesting/plain/upper-constraints.txt?h=$BRANCH \
         /src/functest-xtesting && \
-    rm -r /src/functest-xtesting && \
-    bash -c "mkdir -p /home/opnfv/xtesting/results/robot"
+    rm -r /src/functest-xtesting
 CMD ["run_tests", "-t", "all"]
index b1365f1..fc011ad 100644 (file)
@@ -58,7 +58,7 @@ args=(sys.stdout,)
 class=FileHandler
 level=DEBUG
 formatter=standard
-args=("/home/opnfv/xtesting/results/xtesting.log",)
+args=("/var/lib/xtesting/results/xtesting.log",)
 
 [formatter_standard]
 format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
index 5c9143a..8c32ee1 100644 (file)
@@ -14,6 +14,7 @@
 """
 
 import argparse
+import errno
 import importlib
 import logging
 import logging.config
@@ -25,6 +26,7 @@ import pkg_resources
 
 import enum
 import prettytable
+import six
 import yaml
 
 from xtesting.ci import tier_builder
@@ -293,6 +295,12 @@ class Runner(object):
 
 def main():
     """Entry point"""
+    try:
+        os.makedirs('/var/lib/xtesting/results/')
+    except OSError as ex:
+        if ex.errno != errno.EEXIST:
+            six.print_("Cannot create /var/lib/xtesting/results/")
+            return testcase.TestCase.EX_RUN_ERROR
     logging.config.fileConfig(pkg_resources.resource_filename(
         'xtesting', 'ci/logging.ini'))
     logging.captureWarnings(True)
index 9c1cb50..42e7193 100644 (file)
@@ -69,6 +69,7 @@ tiers:
             -
                 case_name: fifth
                 project_name: xtesting
+                enabled: false
                 criteria: 100
                 blocking: false
                 description: ''
index d3f86c0..8474b8a 100644 (file)
@@ -27,7 +27,7 @@ class Feature(testcase.TestCase):
     """Base model for single feature."""
 
     __logger = logging.getLogger(__name__)
-    dir_results = "/home/opnfv/xtesting/results"
+    dir_results = "/var/lib/xtesting/results"
 
     def __init__(self, **kwargs):
         super(Feature, self).__init__(**kwargs)
index 4d3746a..cc6020a 100644 (file)
@@ -53,7 +53,7 @@ class RobotFramework(testcase.TestCase):
     """RobotFramework runner."""
 
     __logger = logging.getLogger(__name__)
-    dir_results = "/home/opnfv/xtesting/results"
+    dir_results = "/var/lib/xtesting/results"
 
     def __init__(self, **kwargs):
         self.res_dir = os.path.join(self.dir_results, 'robot')
index 9bbe533..3d3b66d 100644 (file)
@@ -24,7 +24,7 @@ class FeatureTestingBase(unittest.TestCase):
     _project_name = "bar"
     _repo = "dir_repo_bar"
     _cmd = "run_bar_tests.py"
-    _output_file = '/home/opnfv/xtesting/results/foo.log'
+    _output_file = '/var/lib/xtesting/results/foo.log'
     feature = None
 
     @mock.patch('time.time', side_effect=[1, 2])
index 7131b7e..93111f3 100644 (file)
@@ -169,6 +169,7 @@ class RunTesting(unittest.TestCase):
         self._test_makedirs()
         args[0].assert_called_once_with(self.test.res_dir)
 
+    @mock.patch('os.makedirs')
     @mock.patch('robot.run')
     def _test_parse_results(self, status, *args):
         self.assertEqual(
@@ -180,6 +181,7 @@ class RunTesting(unittest.TestCase):
             *self.suites, log='NONE', output=self.test.xml_file,
             report='NONE', stdout=mock.ANY, variable=self.variable,
             variablefile=self.variablefile)
+        args[1].assert_called_once_with(self.test.res_dir)
 
     def test_parse_results_exc(self):
         with mock.patch.object(self.test, 'parse_results',
index dae08ca..18e03f6 100644 (file)
@@ -2,4 +2,4 @@
 
 # pylint: disable=missing-docstring
 
-ENV_FILE = '/home/opnfv/xtesting/conf/env_file'
+ENV_FILE = '/var/lib/xtesting/conf/env_file'