Adapt Copper to Abstraction framework 07/24907/4
authorMorgan Richomme <morgan.richomme@orange.com>
Fri, 25 Nov 2016 17:15:50 +0000 (18:15 +0100)
committerMorgan Richomme <morgan.richomme@orange.com>
Wed, 14 Dec 2016 08:09:30 +0000 (09:09 +0100)
JIRA: FUNCTEST-546

Change-Id: I775a7274883127cc627197fda37ae8e9043b59e2
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
functest/ci/testcases.yaml
functest/opnfv_tests/features/copper.py

index f193e17..29bc25a 100755 (executable)
@@ -222,6 +222,10 @@ tiers:
                 dependencies:
                     installer: '(apex)|(joid)'
                     scenario: '^((?!fdio|lxd).)*$'
+                run:
+                    module: 'functest.opnfv_tests.feature.copper'
+                    class: 'Copper'
+
             -
                 name: moon
                 criteria: 'status == "PASS"'
index d003779..8d5393c 100755 (executable)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-import argparse
-import sys
-import time
+import functest.core.feature_base as base
 
-import functest.utils.functest_logger as ft_logger
-import functest.utils.functest_utils as functest_utils
-import functest.utils.functest_constants as ft_constants
 
-parser = argparse.ArgumentParser()
-parser.add_argument("-r", "--report",
-                    help="Create json result file",
-                    action="store_true")
-args = parser.parse_args()
-
-COPPER_REPO_DIR = ft_constants.COPPER_REPO_DIR
-RESULTS_DIR = ft_constants.FUNCTEST_RESULTS_DIR
-
-logger = ft_logger.Logger("copper").getLogger()
-
-
-def main():
-    cmd = "%s/tests/run.sh %s/tests" % (COPPER_REPO_DIR, COPPER_REPO_DIR)
-
-    start_time = time.time()
-
-    log_file = RESULTS_DIR + "/copper.log"
-    ret_val = functest_utils.execute_command(cmd,
-                                             output_file=log_file)
-
-    stop_time = time.time()
-    duration = round(stop_time - start_time, 1)
-    if ret_val == 0:
-        logger.info("COPPER PASSED")
-        test_status = 'PASS'
-    else:
-        logger.info("COPPER FAILED")
-        test_status = 'FAIL'
-
-    details = {
-        'timestart': start_time,
-        'duration': duration,
-        'status': test_status,
-    }
-    functest_utils.logger_test_results("Copper",
-                                       "copper-notification",
-                                       details['status'], details)
-    try:
-        if args.report:
-            functest_utils.push_results_to_db("copper",
-                                              "copper-notification",
-                                              start_time,
-                                              stop_time,
-                                              details['status'],
-                                              details)
-            logger.info("COPPER results pushed to DB")
-    except:
-        logger.error("Error pushing results into Database '%s'"
-                     % sys.exc_info()[0])
-
-    if ret_val != 0:
-        sys.exit(-1)
-
-    sys.exit(0)
-
-
-if __name__ == '__main__':
-    main()
+class Copper(base.FeatureBase):
+    def __init__(self):
+        super(Copper, self).__init__(project='copper',
+                                     case='copper-notification',
+                                     repo='dir_repo_copper')
+        self.cmd = "%s/tests/run.sh %s/tests" % (self.repo, self.repo)