xref: /aosp_15_r20/external/angle/src/tests/restricted_traces/check_trace_diffs.py (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#! /usr/bin/env python3
2
3import json
4import os
5from pathlib import Path
6
7path1Traces = Path("C:/src/angle/src/tests/restricted_traces")
8path2Traces = Path("C:/src/angle2/src/tests/restricted_traces")
9
10
11def main():
12    print("Trace Name, original GLES version, new GLES version, Required Extensions")
13    for f in path2Traces.iterdir():
14        if not f.is_dir():
15            continue
16        trace1 = path1Traces / f.name
17        trace2 = path2Traces / f.name
18
19        traceJSON1 = trace1 / f"{f.name}.json"
20        traceJSON2 = trace2 / f"{f.name}.json"
21
22        contents1 = readJSON(traceJSON1)
23        contents2 = readJSON(traceJSON2)
24
25        gles1 = (contents1["TraceMetadata"]["ContextClientMajorVersion"],
26                 contents1["TraceMetadata"]["ContextClientMinorVersion"])
27        gles2 = (contents2["TraceMetadata"]["ContextClientMajorVersion"],
28                 contents2["TraceMetadata"]["ContextClientMinorVersion"])
29
30        if "RequiredExtensions" in contents1:
31            requiredExts = contents1["RequiredExtensions"]
32            print(f"\"{f.name}\", \"{gles2}\", \"{gles1}\", \"{requiredExts}\"")
33        else:
34            print(f"\"{f.name}\", \"{gles2}\", \"{gles1}\", \"TRACE NOT RE-EVALUATED\"")
35
36
37def readJSON(path):
38    with open(path, 'r') as f:
39        return json.load(f)
40
41
42if __name__ == "__main__":
43    main()
44