aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorPablo Saavedra <[email protected]>2020-05-05 15:08:04 +0200
committerMarge Bot <[email protected]>2020-05-18 17:27:42 +0000
commit37621da7b144a6021a8e3962352ad3561e82f560 (patch)
treec478ae9b830339b0da201d9ba595246be0b7763c /.gitlab-ci
parenteb1f22fb014384bec96fa2c2b08e09a2cb29cddd (diff)
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 <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/tracie/tracie.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/.gitlab-ci/tracie/tracie.py b/.gitlab-ci/tracie/tracie.py
index d1a1c563021..d2c0d7355d9 100644
--- a/.gitlab-ci/tracie/tracie.py
+++ b/.gitlab-ci/tracie/tracie.py
@@ -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")
-
- args = parser.parse_args()
+def run(filename, device_name):
- 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)