fix(test): capture worker stdout and stderr in test output (#14410)

This commit is contained in:
David Sherret 2022-04-26 19:00:04 -04:00 committed by GitHub
parent 2c33293f66
commit 58eab0e2b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 224 additions and 119 deletions

View file

@ -14,7 +14,6 @@ use crate::lsp::client::TestingNotification;
use crate::lsp::config;
use crate::lsp::logging::lsp_log;
use crate::ops;
use crate::ops::testing::create_stdout_stderr_pipes;
use crate::proc_state;
use crate::tools::test;
@ -27,6 +26,8 @@ use deno_core::parking_lot::Mutex;
use deno_core::serde_json::json;
use deno_core::serde_json::Value;
use deno_core::ModuleSpecifier;
use deno_runtime::ops::io::Stdio;
use deno_runtime::ops::io::StdioPipe;
use deno_runtime::permissions::Permissions;
use deno_runtime::tokio_util::run_basic;
use std::collections::HashMap;
@ -184,17 +185,17 @@ async fn test_specifier(
options: Option<Value>,
) -> Result<(), AnyError> {
if !token.is_cancelled() {
let (stdout_writer, stderr_writer) =
create_stdout_stderr_pipes(channel.clone());
let (stdout, stderr) = test::create_stdout_stderr_pipes(channel.clone());
let mut worker = create_main_worker(
&ps,
specifier.clone(),
permissions,
vec![ops::testing::init(
channel.clone(),
stdout_writer,
stderr_writer,
)],
vec![ops::testing::init(channel.clone())],
Stdio {
stdin: StdioPipe::Inherit,
stdout: StdioPipe::File(stdout),
stderr: StdioPipe::File(stderr),
},
);
worker