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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
A discovery wait now says what the process was doing.launch_and_discover
samples the launched process while its window is awaited -- alive, CPU seconds,
and every top-level window it owns, hidden ones included -- every 5s
(wait_for_new(..., watch_pid=, sample_every=)). The samples go to the session
journal as discovery_wait events and end the timeout message. A process that
exits before its window appears ends the wait at once with its exit code
instead of after the whole timeout. When the wait gives up, Windows itself is
asked what it knows (one PowerShell call): the process's threads and what they
wait on, whether the PowerShell engine in it reached "Available" (event 400),
Defender scan events, CAPI2 revocation-check records when that log is on,
FontCache service starts, Application Hang reports -- and the answer ends the
message. SessionConfig(etw_trace=True) records a wpr GeneralProfile trace
for the session and keeps etw_trace.etl when it closes on an exception, for
WPA's wait analysis. wintegrate.procwatch is the instrument.
Measured on a hosted arm64 runner: a WPF fixture showed nothing after 90s on
one launch and came up in 18s on the next, and nothing recorded said whether
the process had been working, idle, or gone -- this would have. The two WPF
fixtures in the test suite now launch through it, and wpf_grid_app.ps1
stamps its phases to stderr.
Changed
The report says what happened, not where the code was. In the pytest-html
row: the frame per step is taken at the end of the step (its result, or the
moment it failed) rather than its start; the error line is the exception's
message, not file:line: Type; a failed step shows the message too (the
journal's step_failed now carries detail); the steps table has a header,
fixed columns, a video-time column, and events summarised as sentences with
the raw lines on demand; frames are decoded at 720 px and enlarge in place on
click (the previous <a href="data:..."> zoom opened nothing: Chromium refuses
top-frame navigation to data: URLs); rows carrying sessions are marked and
listed in the summary; the artifact line names the folder in the uploaded
artifacts instead of a runner-local path.
GitHub Step Summary reads like the run. Steps are listed in run order with
their nesting (they were ordered by completion, child before parent); the
failure callout is one line and names the step; the error is no longer printed
twice; the file list is gone; the window-leak warning ignores message-only,
IME, tooltip and shell windows, which made every passing test look leaky. wintegrate.evidence holds the shared shaping so the report and the summary
cannot disagree.