34 lines
1.9 KiB
Python
34 lines
1.9 KiB
Python
# probe_attach_detail.py - targeted runs to distinguish crash-in-attach vs
|
|
# teardown for gui_probe. Prints FULL stdout + real returncode.
|
|
import subprocess, sys, time, os
|
|
|
|
sys.stdout.reconfigure(encoding="utf-8", errors="replace")
|
|
PROBE = r"C:\Users\locpham\SonicForgeStudio\native_bridge\build\Release\gui_probe.exe"
|
|
|
|
CASES = [
|
|
# (label, plugin, variant, secs)
|
|
("nexus_bridge_two", r"C:\Program Files\Common Files\VST3\Nexus.vst3", "bridge_two", 8),
|
|
("nexus_bridge_two_25s",r"C:\Program Files\Common Files\VST3\Nexus.vst3", "bridge_two", 25),
|
|
("nexus_same_thread", r"C:\Program Files\Common Files\VST3\Nexus.vst3", "same_thread", 8),
|
|
("nexus_main_own", r"C:\Program Files\Common Files\VST3\Nexus.vst3", "main_own", 8),
|
|
("scaler2_bridge_two", r"C:\Program Files\Common Files\VST3\Scaler2.vst3", "bridge_two", 8),
|
|
("ezkeys_bridge_two", r"C:\Program Files\Common Files\VST3\Toontrack\EZkeys 2.vst3", "bridge_two", 8),
|
|
("kontakt_bridge_two", r"C:\Program Files\Common Files\VST3\Kontakt.vst3", "bridge_two", 8),
|
|
("kontakt_main_own", r"C:\Program Files\Common Files\VST3\Kontakt.vst3", "main_own", 8),
|
|
("nexus_two_workers_close", r"C:\Program Files\Common Files\VST3\Nexus.vst3", "two_workers_close", 8),
|
|
]
|
|
|
|
for label, plugin, variant, secs in CASES:
|
|
t0 = time.time()
|
|
print(f"\n===== {label} ({variant}, {secs}s) =====", flush=True)
|
|
try:
|
|
r = subprocess.run([PROBE, plugin, variant, str(secs)],
|
|
capture_output=True, text=True, timeout=secs + 25,
|
|
creationflags=subprocess.CREATE_NO_WINDOW)
|
|
out = (r.stdout or "") + (r.stderr or "")
|
|
print(f"returncode={r.returncode} ({r.returncode & 0xFFFFFFFF:08X}) secs={time.time()-t0:.1f}")
|
|
print(out)
|
|
except subprocess.TimeoutExpired:
|
|
print(f"HARD-TIMEOUT after {time.time()-t0:.1f}s")
|
|
print("-----", flush=True)
|