Add case_name as constructor arg
[functest.git] / functest / opnfv_tests / features / copper.py
old mode 100755 (executable)
new mode 100644 (file)
index d003779..6ed5e0c
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-import argparse
-import sys
-import time
+import functest.core.feature 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.Feature):
+    def __init__(self):
+        super(Copper, self).__init__(project='copper',
+                                     case_name='copper-notification',
+                                     repo='dir_repo_copper')
+        self.cmd = 'cd %s/tests && bash run.sh && cd -' % self.repo