MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / cli_serve_sleep

Function cli_serve_sleep

tests/all/cli_tests.rs:2753–2803  ·  view source on GitHub ↗
(
        component: &str,
        connection_count: usize,
        requests_per_connection: usize,
        configure: impl FnOnce(&mut Command),
    )

Source from the content-addressed store, hash-verified

2751 }
2752
2753 async fn cli_serve_sleep(
2754 component: &str,
2755 connection_count: usize,
2756 requests_per_connection: usize,
2757 configure: impl FnOnce(&mut Command),
2758 ) -> Result<()> {
2759 let server = std::sync::Arc::new(WasmtimeServe::new(component, move |cmd| {
2760 configure(cmd);
2761 cmd.arg("-Wtimeout=100us");
2762 })?);
2763
2764 let tasks = (0..connection_count).map({
2765 let server = server.clone();
2766 move |_| {
2767 tokio::task::spawn({
2768 let server = server.clone();
2769 async move {
2770 let (mut send, conn_task) = server.start_requests().await?;
2771
2772 for _ in 0..requests_per_connection {
2773 let result = WasmtimeServe::send_request_with(
2774 &mut send,
2775 hyper::Request::builder()
2776 .uri("http://localhost/")
2777 .body(String::new())
2778 .context("failed to make request")?,
2779 )
2780 .await?;
2781
2782 assert!(result.status().is_server_error());
2783 }
2784
2785 drop(send);
2786
2787 conn_task.await??;
2788
2789 wasmtime::error::Ok(())
2790 }
2791 })
2792 }
2793 });
2794
2795 for task in tasks {
2796 task.await??;
2797 }
2798
2799 let (stdout, stderr) = std::sync::Arc::into_inner(server).unwrap().finish()?;
2800 assert_eq!(stdout, "");
2801 assert!(stderr.contains("guest timed out"), "bad stderr: {stderr}");
2802 Ok(())
2803 }
2804
2805 #[test]
2806 fn p2_cli_many_resources() -> Result<()> {

Callers 4

p2_cli_serve_sleepFunction · 0.85
p3_cli_serve_sleepFunction · 0.85
p2_cli_serve_sleep_manyFunction · 0.85
p3_cli_serve_sleep_manyFunction · 0.85

Calls 14

spawnFunction · 0.85
OkFunction · 0.85
into_innerFunction · 0.85
start_requestsMethod · 0.80
bodyMethod · 0.80
newFunction · 0.50
builderFunction · 0.50
dropFunction · 0.50
argMethod · 0.45
mapMethod · 0.45
cloneMethod · 0.45
contextMethod · 0.45

Tested by

no test coverage detected