Skip to content

Lab: timing wrapper passes switches as bound; file times read the running log - #59

Merged
GrischaE1 merged 1 commit into
mainfrom
lab-timing-wrapper
Oct 20, 2026
Merged

GrischaE1 merged 1 commit into
mainfrom
lab-timing-wrapper

Conversation

@GrischaE1

Copy link
Copy Markdown
Owner

Two bugs from #57 that stop lab runs on main. Found while looking into C-UPD-10, which failed on the PR #58 checks.

Timing wrapper (RHLAB_TIMING): the wrapper around the slow helpers called them with & $orig @args. That drops the colon in -Optional:$false, so the switch comes through as set and $false binds to the next free parameter by position. Every test file's Ui wrapper passes -Optional:$Optional (18 files), so each non-optional step failed with "person server in False's session failed" (run 20261020-185549, C-UPD-10 at the double-click on 'Device'). The wrapper now has the helper's own parameter block (ProxyCommand.GetParamBlock) and forwards @PSBoundParameters. The closure's variables were renamed so the helpers' -Name doesn't hide them: the totals were counted under the VM's name.

Get-LabFileTimes: it read every run's console.log with ReadAllText, including the current run's. The queue's *> holds that file open for writing, so the read failed with a sharing violation. The run ended with exit 1 and only its header in the log, because the error couldn't be written to that file either (runs 20261020-185111 and -185422 from Start-LabRun.ps1). Logs are now read with FileShare.ReadWrite, and a log that can't be read is skipped.

The flyout in the C-UPD-10 failures. The two failed runs (20261020-171045, -175912) came from the pre-#57 lab in another checkout. Their screenshots show the rail's flyout open over the connection list. The flyout opens only on hover or keyboard focus, and it opened before the update bar appeared. I added probes for one run (cursor position, the item's rectangle, screenshots before and after the double-click). On main, the cursor never got near the rail and the flyout didn't appear, so I found no app bug to fix. If it comes back, the case's screenshot will show it.

Test

  • C-UPD-10 on Console-26H2 (+ Server-2025 as the device): Start-LabRun.ps1 -Tag C-UPD-10, run 20261020-190953 – passed. That run still had the temporary probes in the test, which are taken out again; the test file is unchanged from main.
  • Windows PowerShell 5.1, by hand: with RHLAB_TIMING=1, Invoke-LabUi -Optional:$false and -Optional:$true both run in Console's session, positional calls (Invoke-LabGuest vm {...}) bind, and the totals are keyed by helper name. A child process that writes its own log with *> and calls Get-LabFileTimes now exits 0 and reads the earlier runs (it exited 1 before).
  • The module parses and is ASCII-only.

@github-actions
github-actions Bot marked this pull request as draft October 20, 2026 17:17
@github-actions

Copy link
Copy Markdown

Pull requests start as drafts here. Mark this one Ready for review when it's done and all checks have passed.

@GrischaE1
GrischaE1 marked this pull request as ready for review October 20, 2026 17:46
…ning log

Two bugs from #57 that stop lab runs on main:

- The timing wrapper around the slow helpers called them with "& $orig @Args".
  That loses the colon of "-Optional:$false": the switch arrives as set and the
  value binds to the next free parameter by position. Every test file's Ui
  wrapper passes -Optional:$Optional, so its steps ran in "False's session"
  (lab run 20261020-185549, C-UPD-10). The wrapper now has the helper's own
  parameter block and forwards @PSBoundParameters.
- Get-LabFileTimes read each run's console.log with ReadAllText, including the
  current run's, which the queue's "*>" holds open for writing. The sharing
  violation ended the run with exit 1 and nothing in its log (runs
  20261020-185111 and -185422). Logs are now read with FileShare.ReadWrite and
  one that can't be read is skipped.
@GrischaE1
GrischaE1 enabled auto-merge (squash) October 20, 2026 17:49
@GrischaE1
GrischaE1 merged commit 3023028 into main Oct 20, 2026
8 checks passed
@GrischaE1
GrischaE1 deleted the lab-timing-wrapper branch October 20, 2026 18:02
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant