You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci(e2e-cloud-test): purge stale e2e-test-box rows + use signal timeout
Two suite-quality fixes that surfaced in the last Tokyo run:
(1) The 'Run E2E suite' step's first failure was a hard-coded 409
'Box with name e2e-test-box already exists' on test_create_named_box.
test_create_named_box uses a stable fixture name ('e2e-test-box') and
only deletes the row in its `finally` block. Any prior run that died
mid-flight (e.g. before the libboxlite image-pull fix landed) left the
row behind, and the next run 409s at [1%]. Add a surgical pre-pytest
DELETE on box rows with that exact name + admin-default-org id —
preserves all other in-flight state and short-circuits the leftover.
(2) pytest-timeout's thread method dumps a stack and then
`os._exit(99)`s when a test hangs. test_exec_timeout_kills_long_command
tripped that and killed pytest itself at [43%], so the FAILURES section
was never printed and the back half of the suite never ran. Switch to
`--timeout-method=signal` (SIGALRM, GHA runners are Linux) so the
timed-out test fails in place and the suite continues, giving us one
shot at the full failure picture instead of needing to iterate per
hanging test.
if [ "$TD" = "$PRIMARY_TD" ]; then echo "$arn"; break; fi
272
+
done)
273
+
[ -n "$TASK" ] || { echo "::error::No Api task on PRIMARY deployment"; exit 1; }
274
+
SQL='DELETE FROM "box" WHERE "name" = '\''e2e-test-box'\'' AND "organizationId" = (SELECT "organizationId" FROM "organization_user" WHERE "userId" = '\''boxlite-admin'\'' AND "isDefaultForUser" = true LIMIT 1); SELECT count(*) FROM "box" WHERE "name" = '\''e2e-test-box'\'' AND "organizationId" = (SELECT "organizationId" FROM "organization_user" WHERE "userId" = '\''boxlite-admin'\'' AND "isDefaultForUser" = true LIMIT 1);'
0 commit comments