Print json result file of Promise testcase 53/8153/4
authorjose.lausuch <jose.lausuch@ericsson.com>
Wed, 27 Jan 2016 14:20:49 +0000 (15:20 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Wed, 27 Jan 2016 17:54:56 +0000 (18:54 +0100)
JIRA: FUNCTEST-68

Change-Id: Ib89e84b7f4d6f3cfe990655c941705af1da24bfb
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
testcases/features/promise.py

index cc7cf0a..f361d8b 100644 (file)
 import argparse
 import logging
 import os
-import time
+import subprocess
 import sys
+import time
 import yaml
+
 import keystoneclient.v2_0.client as ksclient
 import glanceclient.client as glclient
 import novaclient.client as nvclient
@@ -179,20 +181,30 @@ def main():
     os.environ["OS_TEST_IMAGE"] = image_id
     os.environ["OS_TEST_FLAVOR"] = flavor_id
 
-    cmd = 'DEBUG=1 npm run -s test'
+    results_file=open('promise-results.json','w+')
+    cmd = 'DEBUG=1 npm run -s test -- --reporter json'
     start_time_ts = time.time()
 
     logger.info("Running command: %s" % cmd)
     os.chdir(PROMISE_REPO)
-    ret = functest_utils.execute_command(cmd, exit_on_error=False)
+    ret = subprocess.call(cmd, shell=True, stdout=results_file, \
+                    stderr=subprocess.STDOUT)
 
     end_time_ts = time.time()
     duration = round(end_time_ts - start_time_ts, 1)
-    test_status = 'Failed'
-    if ret:
+
+    if ret == 0:
+        logger.info("The test succeeded.")
         test_status = 'OK'
+    else:
+        logger.info("The command '%s' failed." % cmd)
+        test_status = "Failed"
+
+    # Print output of file
+    print results_file.read()
+    results_file.close()
+
 
-    logger.info("Test status: %s" % test_status)
     details = {
         'timestart': start_time_ts,
         'duration': duration,