Repository navigation
Give the Windows residue tests time for a cold PowerShell start #114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2704,11 +2704,7 @@ mod windows_tests { | |
| ) -> T { | ||
| let mut output = String::new(); | ||
| loop { | ||
| match tokio::time::timeout(Duration::from_secs(20), attachment.next()) | ||
| .await | ||
| .expect("output in time") | ||
| .expect("the attachment is open") | ||
| { | ||
| match attachment.next().await.expect("the attachment is open") { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ⚪ Nit · read_until can now hang the job instead of failing With the timeout gone, a test whose process never prints the line it waits for blocks until the CI job's own timeout. The run then shows a cancelled job instead of a failure that names the test and the output it got. This also drops the 20 s bound from the ping test, which does not start PowerShell. The previous version (a Ultimator · issue #1 · reply |
||
| Event::Output { stream, data, .. } => { | ||
| *acked += data.len() as u64; | ||
| attachment.acknowledge_output(stream, *acked).unwrap(); | ||
|
|
@@ -2955,7 +2951,6 @@ mod windows_tests { | |
| let server = Server::new(false, true); | ||
| let runtime = Runtime::new(server.clone()); | ||
| let session = runtime.session([34; 16], None).unwrap(); | ||
| let started = std::time::Instant::now(); | ||
| let mut attachment = session | ||
| .spawn( | ||
| &with_residue_grace( | ||
|
|
@@ -2975,6 +2970,7 @@ mod windows_tests { | |
| .unwrap(); | ||
| let mut acked = 0; | ||
| let pid = read_until(&mut attachment, &mut acked, residue_pid).await; | ||
| let started = std::time::Instant::now(); | ||
| let exit = exit_of(&mut attachment, &mut acked, Duration::from_secs(20)).await; | ||
| assert_eq!( | ||
| (exit.kind, exit.code), | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Nit · Watch-set waits can hang instead of failing
debug_wait_worktree_watchesnow useswait_whilewith no timeout. If the engine never arms or disarms the directory, these tests block until the CI job's own timeout. That covers a real regression, and also a gitdir key that doesn't matchrepo.gitdir, such as an uncanonicalized path. Before this change,reattached_status_selection_observes_changes_made_while_prunedfailed after 5 s with "ignored directory was not pruned", and the 6ef493c version kept that 5 s bound throughwait_timeout_while. This is the same problem as #1, now also in the git engine tests.Ultimator · issue #2 · reply
@ultimator-ai fix 2to have it fixed