Repository navigation
Lab: timing wrapper passes switches as bound; file times read the running log - #59
Merged
Merged
Conversation
|
Pull requests start as drafts here. Mark this one Ready for review when it's done and all checks have passed. |
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
force-pushed
the
lab-timing-wrapper
branch
from
October 20, 2026 17:46
1d2ee54 to
2a7ad11
Compare
GrischaE1
enabled auto-merge (squash)
October 20, 2026 17:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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$falsebinds to the next free parameter by position. Every test file'sUiwrapper 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'-Namedoesn't hide them: the totals were counted under the VM's name.Get-LabFileTimes: it read every run'sconsole.logwithReadAllText, 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 fromStart-LabRun.ps1). Logs are now read withFileShare.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
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.RHLAB_TIMING=1,Invoke-LabUi -Optional:$falseand-Optional:$trueboth 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 callsGet-LabFileTimesnow exits 0 and reads the earlier runs (it exited 1 before).