aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/gdb_script.py
diff options
context:
space:
mode:
authorJ08nY2025-10-02 15:59:47 +0200
committerJ08nY2025-10-02 15:59:47 +0200
commit90c8e0297c82ea06112eda58fe72d11528f03d50 (patch)
tree934a2d382b977f236bbb13e514aa8692b64b9837 /test/gdb_script.py
parente8020654729c15ba1b695a8fc9dfbb02ccbbf90f (diff)
downloadpyecsca-codegen-90c8e0297c82ea06112eda58fe72d11528f03d50.tar.gz
pyecsca-codegen-90c8e0297c82ea06112eda58fe72d11528f03d50.tar.zst
pyecsca-codegen-90c8e0297c82ea06112eda58fe72d11528f03d50.zip
Make equivalence test less flaky.
Diffstat (limited to 'test/gdb_script.py')
-rw-r--r--test/gdb_script.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/test/gdb_script.py b/test/gdb_script.py
index c231a3c..93d4472 100644
--- a/test/gdb_script.py
+++ b/test/gdb_script.py
@@ -1,8 +1,10 @@
-import sys
+import os
import json
import gdb
+trace_file = open(os.environ["TRACE_FILE"], "w")
+
def extract_bn(bn):
data_ptr = bn["dp"]
@@ -32,7 +34,7 @@ class TraceFunction(gdb.Breakpoint):
set_bp.enabled = True
frame = gdb.newest_frame()
block = frame.block()
- print(frame.name(), file=sys.stderr)
+ print(frame.name(), flush=True, file=trace_file)
out = []
for sym in block:
if sym.is_argument:
@@ -47,11 +49,11 @@ class TraceFunction(gdb.Breakpoint):
out.append(deref)
else:
pt = extract_point(deref)
- print(f"{name}: {json.dumps(pt)}", file=sys.stderr)
+ print(f"{name}: {json.dumps(pt)}", flush=True, file=trace_file)
bp = TraceExit(frame)
bp.silent = True
bp.target = out
- except RuntimeError as e:
+ except RuntimeError:
pass
return False # Continue execution
@@ -60,7 +62,7 @@ class TraceExit(gdb.FinishBreakpoint):
def stop(self):
set_bp.enabled = False
for i, point in enumerate(self.target):
- print(f"out_{i}: {json.dumps(extract_point(point))}", file=sys.stderr)
+ print(f"out_{i}: {json.dumps(extract_point(point))}", flush=True, file=trace_file)
return False # Continue execution
@@ -84,4 +86,4 @@ set_bp = register_bp("point_set")
set_bp.enabled = False
gdb.execute("run")
-# print("\x04", file=sys.stderr)
+trace_file.close()