diff options
| author | user <user@clank> | 2026-08-13 22:29:03 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-13 22:29:03 +0200 |
| commit | ed40b1656a38f7277d79eadd8aa0f4fb8d6c5dab (patch) | |
| tree | 8c8be95ff27e693007eb813c33fc72aaf1676842 | |
| parent | sl0p: keep a templated tab's purpose, so runtime tabs get a status bar (diff) | |
| download | sl0ppi-ed40b1656a38f7277d79eadd8aa0f4fb8d6c5dab.tar.gz sl0ppi-ed40b1656a38f7277d79eadd8aa0f4fb8d6c5dab.tar.xz sl0ppi-ed40b1656a38f7277d79eadd8aa0f4fb8d6c5dab.zip | |
checks: kill sessions with the form that actually kills them
`sl0ppij -s NAME kill-session` parses, exits 0, and leaves the session running;
the top-level `sl0ppij kill-session NAME` is the one that works. The checks used
the first form, so cleanup was resting entirely on the delete-session that
follows it -- which is how a test session was still listed and its server still
running right after a check "cleaned up" on the test box.
| -rwxr-xr-x | packaging/checks/plugin-permissions-live.py | 9 | ||||
| -rwxr-xr-x | packaging/checks/sl0ppi-up-live.py | 6 | ||||
| -rwxr-xr-x | packaging/checks/split-button-live.py | 9 | ||||
| -rwxr-xr-x | packaging/checks/status-bar-live.py | 6 |
4 files changed, 18 insertions, 12 deletions
diff --git a/packaging/checks/plugin-permissions-live.py b/packaging/checks/plugin-permissions-live.py index 3768ac6..5d44ab2 100755 --- a/packaging/checks/plugin-permissions-live.py +++ b/packaging/checks/plugin-permissions-live.py @@ -168,11 +168,12 @@ def main(): return failures finally: subprocess.run( - [BIN, "-s", SESSION, "kill-session"], env=env, capture_output=True, text=True + [BIN, "kill-session", SESSION], env=env, capture_output=True, text=True ) - # and delete it: a killed session stays in `list-sessions` as - # "EXITED - attach to resurrect", so a day of check runs silently fills - # the user's session picker with test sessions + # `kill-session NAME`, not `-s NAME kill-session`: the latter parses + # but leaves the session running. Then DELETE it -- a killed session + # stays in `list-sessions` as "EXITED - attach to resurrect", so a day + # of check runs silently fills the user's session picker. subprocess.run([BIN, "delete-session", SESSION], env=env, capture_output=True, text=True) try: os.close(fd) diff --git a/packaging/checks/sl0ppi-up-live.py b/packaging/checks/sl0ppi-up-live.py index f3739ad..dda0acc 100755 --- a/packaging/checks/sl0ppi-up-live.py +++ b/packaging/checks/sl0ppi-up-live.py @@ -245,8 +245,10 @@ def main(): return failures finally: - subprocess.run([BIN, "-s", SESSION, "kill-session"], env=env, capture_output=True) - # delete too: killed sessions linger in `list-sessions` as resurrectable + subprocess.run([BIN, "kill-session", SESSION], env=env, capture_output=True) + # `kill-session NAME`, not `-s NAME kill-session`: the latter parses but + # leaves the session running. Delete too: killed sessions linger in + # `list-sessions` as resurrectable. subprocess.run([BIN, "delete-session", SESSION], env=env, capture_output=True) ps = subprocess.run(["ps", "-eo", "pid,comm,args"], capture_output=True, text=True).stdout for line in ps.splitlines(): diff --git a/packaging/checks/split-button-live.py b/packaging/checks/split-button-live.py index b22d372..5926918 100755 --- a/packaging/checks/split-button-live.py +++ b/packaging/checks/split-button-live.py @@ -429,11 +429,12 @@ def main(): return failures finally: subprocess.run( - [BIN, "-s", SESSION, "kill-session"], env=env, capture_output=True, text=True + [BIN, "kill-session", SESSION], env=env, capture_output=True, text=True ) - # and delete it: a killed session stays in `list-sessions` as - # "EXITED - attach to resurrect", so a day of check runs silently fills - # the user's session picker with test sessions + # `kill-session NAME`, not `-s NAME kill-session`: the latter parses + # but leaves the session running. Then DELETE it -- a killed session + # stays in `list-sessions` as "EXITED - attach to resurrect", so a day + # of check runs silently fills the user's session picker. subprocess.run([BIN, "delete-session", SESSION], env=env, capture_output=True, text=True) # kill-session does not always take the server with it, and a leftover # test session is how a "MY FOCUS" bug report gets filed against nobody. diff --git a/packaging/checks/status-bar-live.py b/packaging/checks/status-bar-live.py index e1ef226..655ffcd 100755 --- a/packaging/checks/status-bar-live.py +++ b/packaging/checks/status-bar-live.py @@ -340,8 +340,10 @@ def main(): COLS = wide return failures finally: - subprocess.run([BIN, "-s", SESSION, "kill-session"], env=env, capture_output=True) - # delete too: killed sessions linger in `list-sessions` as resurrectable + subprocess.run([BIN, "kill-session", SESSION], env=env, capture_output=True) + # `kill-session NAME`, not `-s NAME kill-session`: the latter parses but + # leaves the session running. Delete too: killed sessions linger in + # `list-sessions` as resurrectable. subprocess.run([BIN, "delete-session", SESSION], env=env, capture_output=True) try: os.close(fd) |
