mirror of
https://github.com/denoland/deno.git
synced 2025-02-18 19:33:00 -05:00
fix(cli): limit test parallelism on Windows to avoid pipe error (#22776)
One last attempt to fix the parallelism issue on Windows.
This commit is contained in:
parent
77dee10f3a
commit
8fda1b8a9c
2 changed files with 18 additions and 1 deletions
|
@ -245,6 +245,13 @@ impl TestRun {
|
||||||
unreachable!("Should always be Test subcommand.");
|
unreachable!("Should always be Test subcommand.");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO(mmastrac): Temporarily limit concurrency in windows testing to avoid named pipe issue:
|
||||||
|
// *** Unexpected server pipe failure '"\\\\.\\pipe\\deno_pipe_e30f45c9df61b1e4.1198.222\\0"': 3
|
||||||
|
// This is likely because we're hitting some sort of invisible resource limit
|
||||||
|
// This limit is both in cli/lsp/testing/execution.rs and cli/tools/test/mod.rs
|
||||||
|
#[cfg(windows)]
|
||||||
|
let concurrent_jobs = std::cmp::min(concurrent_jobs, 4);
|
||||||
|
|
||||||
let (test_event_sender_factory, mut receiver) = create_test_event_channel();
|
let (test_event_sender_factory, mut receiver) = create_test_event_channel();
|
||||||
let fail_fast_tracker = FailFastTracker::new(fail_fast);
|
let fail_fast_tracker = FailFastTracker::new(fail_fast);
|
||||||
|
|
||||||
|
|
|
@ -1191,8 +1191,18 @@ async fn test_specifiers(
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO(mmastrac): Temporarily limit concurrency in windows testing to avoid named pipe issue:
|
||||||
|
// *** Unexpected server pipe failure '"\\\\.\\pipe\\deno_pipe_e30f45c9df61b1e4.1198.222\\0"': 3
|
||||||
|
// This is likely because we're hitting some sort of invisible resource limit
|
||||||
|
// This limit is both in cli/lsp/testing/execution.rs and cli/tools/test/mod.rs
|
||||||
|
let concurrent = if cfg!(windows) {
|
||||||
|
std::cmp::min(concurrent_jobs.get(), 4)
|
||||||
|
} else {
|
||||||
|
concurrent_jobs.get()
|
||||||
|
};
|
||||||
|
|
||||||
let join_stream = stream::iter(join_handles)
|
let join_stream = stream::iter(join_handles)
|
||||||
.buffer_unordered(concurrent_jobs.get())
|
.buffer_unordered(concurrent)
|
||||||
.collect::<Vec<Result<Result<(), AnyError>, tokio::task::JoinError>>>();
|
.collect::<Vec<Result<Result<(), AnyError>, tokio::task::JoinError>>>();
|
||||||
|
|
||||||
let handler = spawn(async move { report_tests(receiver, reporter).await.0 });
|
let handler = spawn(async move { report_tests(receiver, reporter).await.0 });
|
||||||
|
|
Loading…
Add table
Reference in a new issue