Skip to content

Commit d19bf22

Browse files
committed
feat(wrpc-test): extract wrpc-test crate
Signed-off-by: Roman Volosatovs <[email protected]>
1 parent 401805f commit d19bf22

File tree

9 files changed

+501
-288
lines changed

9 files changed

+501
-288
lines changed

.github/workflows/wrpc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ on:
1515
- 'crates/pack/v[0-9].[0-9]+.[0-9]+-*'
1616
- 'crates/runtime-wasmtime/v[0-9].[0-9]+.[0-9]+'
1717
- 'crates/runtime-wasmtime/v[0-9].[0-9]+.[0-9]+-*'
18+
- 'crates/test/v[0-9].[0-9]+.[0-9]+'
19+
- 'crates/test/v[0-9].[0-9]+.[0-9]+-*'
1820
- 'crates/transport-nats/v[0-9].[0-9]+.[0-9]+'
1921
- 'crates/transport-nats/v[0-9].[0-9]+.[0-9]+-*'
2022
- 'crates/transport-quic/v[0-9].[0-9]+.[0-9]+'

Cargo.lock

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

Cargo.toml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ required-features = ["bin"]
5050
name = "wrpc-wasmtime"
5151
required-features = ["bin", "nats", "wasmtime"]
5252

53+
[[bench]]
54+
name = "bench"
55+
harness = false
56+
5357
[dependencies]
5458
anyhow = { workspace = true, features = ["std"] }
5559
async-nats = { workspace = true, optional = true }
@@ -80,28 +84,21 @@ wrpc-wasmtime-cli = { workspace = true, optional = true }
8084
[dev-dependencies]
8185
anyhow = { workspace = true }
8286
bytes = { workspace = true }
83-
futures = { workspace = true, features = ["async-await"] }
84-
quinn = { workspace = true, features = [
85-
"log",
86-
"platform-verifier",
87-
"ring",
88-
"runtime-tokio",
89-
"rustls",
90-
] }
91-
rcgen = { workspace = true, features = ["crypto", "ring", "zeroize"] }
92-
rustls = { workspace = true, features = ["logging", "ring"] }
87+
criterion = { workspace = true, features = ["async_tokio"] }
88+
futures = { workspace = true }
9389
tempfile = { workspace = true }
9490
test-log = { workspace = true, features = ["color", "log", "trace"] }
9591
tokio = { workspace = true, features = ["process", "rt-multi-thread"] }
96-
wrpc-cli = { workspace = true }
97-
wrpc-transport = { workspace = true }
92+
wrpc-test = { workspace = true, features = ["nats", "quic"] }
93+
wrpc-transport = { workspace = true, features = ["net"] }
9894

9995
[workspace.dependencies]
10096
anyhow = { version = "1", default-features = false }
10197
async-nats = { version = "0.37", default-features = false }
10298
bitflags = { version = "2", default-features = false }
10399
bytes = { version = "1", default-features = false }
104100
clap = { version = "4", default-features = false }
101+
criterion = { version = "0.5", default-features = false }
105102
futures = { version = "0.3", default-features = false }
106103
heck = { version = "0.5", default-features = false }
107104
humantime = { version = "2.1", default-features = false }
@@ -144,6 +141,7 @@ wit-parser = { version = "0.218", default-features = false }
144141
wrpc-cli = { version = "0.4", path = "./crates/cli", default-features = false }
145142
wrpc-introspect = { version = "0.5", default-features = false, path = "./crates/introspect" }
146143
wrpc-runtime-wasmtime = { version = "0.24.1", path = "./crates/runtime-wasmtime", default-features = false }
144+
wrpc-test = { path = "./crates/test", default-features = false }
147145
wrpc-transport = { version = "0.28.2", path = "./crates/transport", default-features = false }
148146
wrpc-transport-nats = { version = "0.25", path = "./crates/transport-nats", default-features = false }
149147
wrpc-transport-quic = { version = "0.3", path = "./crates/transport-quic", default-features = false }

benches/bench.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
use criterion::Criterion;
2+
3+
#[cfg(feature = "nats")]
4+
#[test_log::test(tokio::test(flavor = "multi_thread"))]
5+
async fn nats_rtt(c: &mut Criterion) {
6+
common::with_nats(|_, nats_client| async {
7+
let clt = wrpc_transport_nats::Client::new(
8+
nats_client,
9+
"rust-bindgen-sync",
10+
Some("rust-bindgen-sync".into()),
11+
);
12+
let clt = Arc::new(clt);
13+
assert_bindgen_sync(Arc::clone(&clt), clt).await
14+
})
15+
.await
16+
}
17+
18+
criterion_group!(benches, from_elem);
19+
criterion_main!(benches);

crates/test/Cargo.toml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
[package]
2+
name = "wrpc-test"
3+
version = "0.1.0"
4+
authors.workspace = true
5+
categories.workspace = true
6+
edition.workspace = true
7+
homepage.workspace = true
8+
license.workspace = true
9+
repository.workspace = true
10+
11+
[features]
12+
default = ["nats", "quic"]
13+
nats = ["dep:async-nats", "async-nats/ring", "wrpc-cli/nats"]
14+
quic = [
15+
"dep:quinn",
16+
"dep:rcgen",
17+
"dep:rustls",
18+
"quinn/log",
19+
"quinn/platform-verifier",
20+
"quinn/ring",
21+
"quinn/runtime-tokio",
22+
"quinn/rustls",
23+
"rcgen/crypto",
24+
"rcgen/ring",
25+
"rcgen/zeroize",
26+
"rustls/logging",
27+
"rustls/ring",
28+
]
29+
30+
[dependencies]
31+
anyhow = { workspace = true }
32+
async-nats = { workspace = true, optional = true }
33+
quinn = { workspace = true, optional = true }
34+
rcgen = { workspace = true, optional = true }
35+
rustls = { workspace = true, optional = true }
36+
tokio = { workspace = true, features = ["net", "process", "rt-multi-thread"] }
37+
tracing = { workspace = true }
38+
wrpc-cli = { workspace = true }
39+
wrpc-transport = { workspace = true }

0 commit comments

Comments
 (0)