From da1d6e28bdfbd66d6108fa3f588a77831809c896 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Wed, 31 Dec 2025 12:54:56 -0300 Subject: [PATCH] refactor(simulator): --log output path respects --segregate --- unix/README.md | 2 +- unix/simulator.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/unix/README.md b/unix/README.md index c44b244f..03e79d71 100644 --- a/unix/README.md +++ b/unix/README.md @@ -63,7 +63,7 @@ wallet (on testnet, always with the same seed). But there are other options: - `--segregate` => scroll down to `Running simulators in parallel` section - `--bricked` => simulate a system w/ bricked SE1: no more pin tries, etc. - `--fails N` => simulate N wrong PIN attempts before login, where (1 <= N <= 13) -- `--log` => enable logging to `/tmp/cc-simulators//cc_simulator.log` +- `--log` => enable logging to `/tmp/cc_simulator.log`, or to `/tmp/cc-simulators//cc_simulator.log` when used with `--segregate` See `variant/sim_settings.py` for the details of settings-related options. diff --git a/unix/simulator.py b/unix/simulator.py index e0e82198..624d1e1a 100755 --- a/unix/simulator.py +++ b/unix/simulator.py @@ -863,12 +863,15 @@ Q1 specials: cc_mpy = os.path.join(cwd, "coldcard-mpy") sim_boot = os.path.join(cwd, "sim_boot.py") + log_base_dir = "/tmp" + if segregate: os.makedirs("/tmp/cc-simulators", exist_ok=True) os.chdir("/tmp/cc-simulators") # our new work /tmp/cc-simulators/ os.mkdir(str(pid)) os.chdir(str(pid)) + log_base_dir = os.getcwd() os.mkdir("MicroSD") os.mkdir("settings") os.mkdir("VirtDisk") @@ -907,11 +910,7 @@ Q1 specials: log = ("--log" in sys.argv) if log: - logfile = '/tmp/cc-simulators/%d/cc_simulator.log' % pid - - # create dir for the file in /tmp - os.makedirs(os.path.dirname(logfile), exist_ok=True) - + logfile = os.path.join(log_base_dir, 'cc_simulator.log') # create or truncate logfile and set correct permissions before starting xterm file_desc = os.open(logfile, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o644) os.close(file_desc)