Merge pull request #3293 from danilp-id/http_server_test

http_server test + unignore http_open_hanging
This commit is contained in:
Mark Thom
2026-04-18 18:17:18 -06:00
committed by GitHub
4 changed files with 67 additions and 10 deletions

View File

@@ -52,6 +52,27 @@ pub(crate) fn load_module_test_with_tokio_runtime<T: Expectable>(file: &str, exp
});
}
#[cfg(not(target_arch = "wasm32"))]
pub(crate) fn load_module_test_with_tokio_runtime_and_input<T: Expectable>(
file: &str,
input: impl Into<Cow<'static, str>>,
expected: T,
) {
let runtime = tokio::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.unwrap();
runtime.block_on(async move {
let mut wam = MachineBuilder::default()
.with_streams(
StreamConfig::in_memory().with_user_input(InputStreamConfig::string(input)),
)
.build();
expected.assert_eq(wam.test_load_file(file).as_slice())
});
}
pub(crate) fn load_module_test_with_input<T: Expectable>(
file: &str,
input: impl Into<Cow<'static, str>>,

View File

@@ -1,7 +1,7 @@
use crate::helper::load_module_test;
use crate::helper::load_module_test_with_input;
#[cfg(not(target_arch = "wasm32"))]
use crate::helper::load_module_test_with_tokio_runtime;
use crate::helper::load_module_test_with_tokio_runtime_and_input;
use serial_test::serial;
// issue #831
@@ -167,10 +167,10 @@ fn issue3262_read_from_stdin_no_newline() {
#[cfg(feature = "http")]
#[cfg(not(target_arch = "wasm32"))]
#[cfg_attr(miri, ignore = "it takes too long to run")]
#[cfg_attr(not(miri), ignore = "flaky due to network requests")]
fn http_open_hanging() {
load_module_test_with_tokio_runtime(
load_module_test_with_tokio_runtime_and_input(
"tests-pl/issue-http_open-hanging.pl",
format!("PROLOG={:?}.", env!("CARGO_BIN_EXE_scryer-prolog")),
"received response with status code:200\nreceived response with status code:200\nreceived response with status code:200\nreceived response with status code:200\nreceived response with status code:200\n"
);
}