Skip to content

Commit 9c82623

Browse files
saltboCopilot
andcommitted
fix(scripts): update smoke test session cleanup check for retained closed sessions
Since a62d739, cleanup_done transitions to 'closed' (not terminal/deleted) so sessions are retained on disk for history lookup. Update wait_session_cleanup to accept 'closed' status as cleaned up, and add timeout wait for cancel test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent bfe0930 commit 9c82623

1 file changed

Lines changed: 19 additions & 8 deletions

File tree

scripts/daemon-smoke-test.sh

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,28 @@ task_status() {
5151
ak describe task "$1" 2>/dev/null | sed -n 's/^Status: *//p'
5252
}
5353

54-
task_session_exists() {
54+
task_session_file() {
5555
local task_id="$1"
5656
ls ~/.local/state/agent-kanban/sessions/*.json 2>/dev/null \
5757
| xargs grep -l "\"taskId\": *\"$task_id\"" 2>/dev/null | head -1
5858
}
5959

60+
task_session_status() {
61+
local task_id="$1"
62+
local file
63+
file="$(task_session_file "$task_id")"
64+
[ -n "$file" ] && python3 -c "import json,sys; print(json.load(open('$file')).get('status',''))" 2>/dev/null || echo ""
65+
}
66+
67+
# Sessions are retained as "closed" after cleanup (for history lookup).
68+
# "cleaned up" means: session reached "closed" state (or file is gone).
6069
wait_session_cleanup() {
6170
local task_id="$1" timeout_secs="${2:-120}"
6271
local elapsed=0
6372
while [ "$elapsed" -lt "$timeout_secs" ]; do
64-
if [ -z "$(task_session_exists "$task_id")" ]; then
73+
local status
74+
status="$(task_session_status "$task_id")"
75+
if [ -z "$status" ] || [ "$status" = "closed" ]; then
6576
return 0
6677
fi
6778
sleep 2
@@ -173,13 +184,13 @@ else
173184
fail "expected cancelled, got: $STATUS_AFTER_CANCEL"
174185
fi
175186

176-
# Check the cancelled task's session file is gone (not global count — other tests may have sessions)
177-
T4_SESSION=$(ls ~/.local/state/agent-kanban/sessions/*.json 2>/dev/null \
178-
| xargs grep -l "\"taskId\": *\"$T4\"" 2>/dev/null || true)
179-
if [ -z "$T4_SESSION" ]; then
180-
pass "cancelled task session cleaned up"
187+
# Wait for cancelled task's session to reach "closed" state
188+
if wait_session_cleanup "$T4" 60; then
189+
T4_STATUS="$(task_session_status "$T4")"
190+
pass "cancelled task session cleaned up (status=${T4_STATUS:-gone})"
181191
else
182-
fail "cancelled task session still exists: $T4_SESSION"
192+
T4_STATUS="$(task_session_status "$T4")"
193+
fail "cancelled task session not cleaned up after 60s (status=$T4_STATUS)"
183194
fi
184195
echo ""
185196

0 commit comments

Comments
 (0)