Skip to content

Commit 0603e3a

Browse files
committed
fix(testing/server): requests hanging
1 parent b9d6265 commit 0603e3a

File tree

4 files changed

+122
-49
lines changed

4 files changed

+122
-49
lines changed

Cargo.lock

Lines changed: 112 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node/testing/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ rand = "0.8"
2424
tokio = { version = "1.26.0" }
2525
num_cpus = "1.0"
2626
rayon = "1.5"
27-
axum = "0.6"
28-
tower-http = { version = "0.4.4", features = ["cors"] }
27+
axum = "0.7"
28+
tower-http = { version = "0.6", features = ["cors"] }
2929
strum = "0.26"
3030
strum_macros = "0.26"
3131
tracing-log = "0.2.0"

node/testing/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ impl Command {
6666

6767
match self {
6868
Self::Server(args) => {
69-
server(args.port);
69+
server(rt, args.port);
7070
Ok(())
7171
}
7272
Self::ScenariosGenerate(cmd) => {

node/testing/src/server/mod.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ use axum::{
1313
};
1414
use rand::{rngs::StdRng, Rng, SeedableRng};
1515
use serde::{Deserialize, Serialize};
16+
use tokio::net::TcpListener;
17+
use tokio::runtime::Runtime;
1618
use tokio::sync::{oneshot, Mutex, MutexGuard, OwnedMutexGuard};
1719
use tower_http::cors::CorsLayer;
1820

19-
pub fn server(port: u16) {
21+
pub fn server(rt: Runtime, port: u16) {
2022
eprintln!("scenarios path: {}", Scenario::PATH);
2123

2224
let state = AppState::new();
@@ -56,9 +58,10 @@ pub fn server(port: u16) {
5658
.with_state(state)
5759
.layer(cors);
5860

59-
tokio::runtime::Handle::current().block_on(async {
60-
axum::Server::bind(&([0, 0, 0, 0], port).into())
61-
.serve(app.into_make_service())
61+
rt.block_on(async {
62+
let addr = std::net::SocketAddr::from(([0, 0, 0, 0], port));
63+
let listener = TcpListener::bind(addr).await.unwrap();
64+
axum::serve(listener, app.into_make_service())
6265
.await
6366
.unwrap();
6467
});

0 commit comments

Comments
 (0)