ci: ArgumentParser receives the args from the main parameters

Change the main function to receive the args parameter from
sys.argv[1:]. The args parameter will be passed to the
ArgumentParser.parse_args() function as argument.

This change provides an easier  main() function signature to use
with pythonic testsuites.

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
This commit is contained in:
Pablo Saavedra
2020-05-05 15:08:04 +02:00
committed by Marge Bot
parent eb1f22fb01
commit 37621da7b1

View File

@@ -137,16 +137,9 @@ def gitlab_check_trace(project_url, repo_commit, device_name, trace, expectation
return ok, result
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--file', required=True,
help='the name of the traces.yml file listing traces and their checksums for each device')
parser.add_argument('--device-name', required=True,
help="the name of the graphics device used to replay traces")
def run(filename, device_name):
args = parser.parse_args()
with open(args.file, 'r') as f:
with open(filename, 'r') as f:
y = yaml.safe_load(f)
if "traces-db" in y:
@@ -161,8 +154,10 @@ def main():
results = {}
for trace in traces:
for expectation in trace['expectations']:
if expectation['device'] == args.device_name:
ok, result = gitlab_check_trace(project_url, commit_id, args.device_name, trace, expectation)
if expectation['device'] == device_name:
ok, result = gitlab_check_trace(project_url, commit_id,
device_name, trace,
expectation)
all_ok = all_ok and ok
results.update(result)
@@ -170,8 +165,18 @@ def main():
with open(os.path.join(RESULTS_PATH, 'results.yml'), 'w') as f:
yaml.safe_dump(results, f, default_flow_style=False)
return all_ok
sys.exit(0 if all_ok else 1)
def main(args):
parser = argparse.ArgumentParser()
parser.add_argument('--file', required=True,
help='the name of the traces.yml file listing traces and their checksums for each device')
parser.add_argument('--device-name', required=True,
help="the name of the graphics device used to replay traces")
args = parser.parse_args(args)
return run(args.file, args.device_name)
if __name__ == "__main__":
main()
all_ok = main(sys.argv[1:])
sys.exit(0 if all_ok else 1)