- 1
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] - 2
- 3
use tokio::io::AsyncReadExt; - 4
- 5
#[tokio::test] - 6
async fn persistent_preview_crosses_the_versioned_worker_boundary() { - 7
let root = tempfile::tempdir().expect("temporary preview root"); - 8
let args = vec![ - 9
"-c".to_string(), - 10
"printf persistent-preview-%s \"$VAK_TEST_RUNTIME_HOME\"".to_string(), - 11
]; - 12
let environment = vec![("VAK_TEST_RUNTIME_HOME".to_string(), "isolated".to_string())]; - 13
let mut child = vak_tools::broker::spawn_persistent_worker( - 14
std::path::Path::new(env!("CARGO_BIN_EXE_vak-tool-worker")), - 15
root.path(), - 16
"sh", - 17
&args, - 18
&environment, - 19
None, - 20
) - 21
.await - 22
.expect("persistent worker starts"); - 23
let mut stdout = child.stdout.take().expect("worker stdout"); - 24
let mut output = String::new(); - 25
stdout - 26
.read_to_string(&mut output) - 27
.await - 28
.expect("read output"); - 29
let status = child.wait().await.expect("worker exits"); - 30
- 31
assert!(status.success()); - 32
assert_eq!(output, "persistent-preview-isolated"); - 33
} - 34
test · Rust
Persistent Preview Worker
crates/vak-server/tests/persistent_preview_worker.rs1.1 KB34 linesSnapshot ed4ab258