aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-13 22:29:03 +0200
committeruser <user@clank>2026-08-13 22:29:03 +0200
commited40b1656a38f7277d79eadd8aa0f4fb8d6c5dab (patch)
tree8c8be95ff27e693007eb813c33fc72aaf1676842
parentsl0p: keep a templated tab's purpose, so runtime tabs get a status bar (diff)
downloadsl0ppi-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-xpackaging/checks/plugin-permissions-live.py9
-rwxr-xr-xpackaging/checks/sl0ppi-up-live.py6
-rwxr-xr-xpackaging/checks/split-button-live.py9
-rwxr-xr-xpackaging/checks/status-bar-live.py6
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)