test(cmux-next): a closed sidebar row may park hidden in the list (base red)

Merged
TE
22d ago
+8-4

SidebarInsertWhileDisplayAsleepTests (from #20663) fails on base on display hosts, at lines 103 and 163: leaving.allSatisfy { $0.superview == nil }.

Lawrence's 5763d7372701 ("a row view that scrolls away parks hidden in the list") changed SidebarListView.recycle. A recycled row now stays in the list with isHidden = true, and only a row in another superview or one the pool evicts leaves. A completed close therefore no longer means superview == nil. The two checks now accept either outcome of recycle: out of the list, or hidden in it. What the test guards is unchanged: a row that is still closing when the display sleeps has its completion run.

Testing

  • Red: both tests fail identically on base, at a test-only commit on aws-m4pro-9 (fleet step d5ec16f4a388, found while working on cx-y2uf5).
  • Green: fleet suites at this head on a display host (--label steps-only).

Changelog

none

šŸ¤– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes SidebarInsertWhileDisplayAsleepTests for SidebarListView.recycle now parking a closed row hidden in the list instead of removing it (5763d7372701), so a completed close no longer means superview == nil.

  • A new recycled helper passes when a row is removed or hidden, and both completion checks use it.
  • The leaving setup now skips rows already recycled, so the setup no longer passes for a close that skipped its motion.