LAVA: Re-write logics for better re-use

Some logics in LAVA related scripts need to be re-used.
Re-write these logics for future convenience.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I969cd21ab2c9e118ccb8cc3331f27e49add44427
diff --git a/lava_helper/lava_submit_jobs.py b/lava_helper/lava_submit_jobs.py
index 2e0ab2f..3c91318 100755
--- a/lava_helper/lava_submit_jobs.py
+++ b/lava_helper/lava_submit_jobs.py
@@ -8,7 +8,7 @@
 
 __copyright__ = """
 /*
- * Copyright (c) 2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -75,20 +75,25 @@
         sys.exit(1)
     return lava
 
-def list_files_from_dir(user_args):
+def list_files_from_dir(user_args, job_dir=""):
+    if job_dir == "":
+        job_dir = user_args.job_dir
     file_list = []
-    for filename in glob.iglob(user_args.job_dir + '**/*.yaml', recursive=True):
+    for filename in glob.iglob(job_dir + '**/*.yaml', recursive=True):
         file_list.append(filename)
         print("Found job {}".format(filename))
     return file_list
 
-def lava_dispatch(user_args):
+def lava_dispatch(user_args, job_dir=""):
     """ Submit a job to LAVA backend, block untill it is completed, and
     fetch the results files if successful. If not, calls sys exit with 1
     return code """
 
+    if job_dir == "":
+        job_dir = user_args.job_dir
+
     lava = test_lava_dispatch_credentials(user_args)
-    file_list = list_files_from_dir(user_args)
+    file_list = list_files_from_dir(user_args, job_dir)
     job_id_list = []
     for job_file in file_list:
         job_id, job_url = lava.submit_job(job_file)
@@ -100,10 +105,11 @@
             print("Job submitted at: " + job_url)
             job_id_list.append(job_id)
 
-    print("JOBS: {}".format(",".join(str(x) for x in job_id_list)))
+    return job_id_list
 
 def main(user_args):
-    lava_dispatch(user_args)
+    job_id_list = lava_dispatch(user_args)
+    print("JOBS: {}".format(",".join(str(x) for x in job_id_list)))
 
 
 def get_cmd_args():
diff --git a/lava_helper/lava_wait_jobs.py b/lava_helper/lava_wait_jobs.py
index 332e20c..a91fcfb 100755
--- a/lava_helper/lava_wait_jobs.py
+++ b/lava_helper/lava_wait_jobs.py
@@ -4,7 +4,7 @@
 
 __copyright__ = """
 /*
- * Copyright (c) 2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -60,6 +60,15 @@
     job_list = user_args.job_ids.split(",")
     job_list = [int(x) for x in job_list if x != '']
     lava = test_lava_dispatch_credentials(user_args)
+    finished_jobs = get_finished_jobs(job_list, user_args, lava)
+    print_lava_urls(finished_jobs, user_args)
+    job_links(finished_jobs, user_args)
+    boot_report(finished_jobs, user_args)
+    test_report(finished_jobs, user_args, lava)
+    failure_report(finished_jobs, user_args)
+    csv_report(finished_jobs)
+
+def get_finished_jobs(job_list, user_args, lava):
     finished_jobs = lava.block_wait_for_jobs(job_list, user_args.dispatch_timeout, 0.5)
     unfinished_jobs = [item for item in job_list if item not in finished_jobs]
     for job in unfinished_jobs:
@@ -70,12 +79,7 @@
             info['job_dir'] = os.path.join(user_args.artifacts_path, "{}_{}".format(str(job), info['description']))
             finished_jobs[job] = info
     finished_jobs = fetch_artifacts(finished_jobs, user_args, lava)
-    print_lava_urls(finished_jobs, user_args)
-    job_links(finished_jobs, user_args)
-    boot_report(finished_jobs, user_args)
-    test_report(finished_jobs, user_args, lava)
-    failure_report(finished_jobs, user_args)
-    csv_report(finished_jobs)
+    return finished_jobs
 
 def fetch_artifacts(jobs, user_args, lava):
     if not user_args.artifacts_path:
@@ -254,10 +258,10 @@
         "--job-ids", dest="job_ids", action="store", required=True, help="Comma separated list of job IDS"
     )
     cmdargs.add_argument(
-        "--lava-token", dest="token_secret", action="store", help="LAVA auth token"
+        "--lava-token", dest="lava_token", action="store", help="LAVA auth token"
     )
     cmdargs.add_argument(
-        "--lava-user", dest="token_usr", action="store", help="LAVA username"
+        "--lava-user", dest="lava_user", action="store", help="LAVA username"
     )
     cmdargs.add_argument(
         "--use-env", dest="token_from_env", action="store_true", default=False, help="Use LAVA auth info from environment"