Browse Source

resulttool/merge: Enable control TESTSERIES and extra configurations

Current QA team need to merge test result files from multiple sources.
Adding TESTSERIES configuration too early will have negative
implication to report and regression. Enable control to add TESTSERIES
when needed. Also enable adding EXECUTED_BY configuration when
needed.

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yeoh Ee Peng 5 years ago
parent
commit
651d8d371e
1 changed files with 15 additions and 5 deletions
  1. 15 5
      scripts/lib/resulttool/merge.py

+ 15 - 5
scripts/lib/resulttool/merge.py

@@ -11,16 +11,23 @@ import json
 import resulttool.resultutils as resultutils
 
 def merge(args, logger):
+    configvars = {}
+    if not args.not_add_testseries:
+        configvars = resultutils.extra_configvars.copy()
+    if args.executed_by:
+        configvars['EXECUTED_BY'] = args.executed_by
     if resultutils.is_url(args.target_results) or os.path.isdir(args.target_results):
-        results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map)
-        resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map)
+        results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map, configvars=configvars)
+        resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map, configvars=configvars)
         resultutils.save_resultsdata(results, args.target_results)
     else:
-        results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map)
+        results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map, configvars=configvars)
         if os.path.exists(args.target_results):
-            resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map)
+            resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map, configvars=configvars)
         resultutils.save_resultsdata(results, os.path.dirname(args.target_results), fn=os.path.basename(args.target_results))
 
+    logger.info('Merged results to %s' % os.path.dirname(args.target_results))
+
     return 0
 
 def register_commands(subparsers):
@@ -33,4 +40,7 @@ def register_commands(subparsers):
                               help='the results file/directory/URL to import')
     parser_build.add_argument('target_results',
                               help='the target file or directory to merge the base_results with')
-
+    parser_build.add_argument('-t', '--not-add-testseries', action='store_true',
+                              help='do not add testseries configuration to results')
+    parser_build.add_argument('-x', '--executed-by', default='',
+                              help='add executed-by configuration to each result file')