diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3561a01..dc9ef97 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,6 +11,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +permissions: + checks: write + jobs: build: runs-on: ubuntu-latest @@ -46,11 +49,18 @@ jobs: - name: Clippy run: cargo clippy -- -Dwarnings - name: Unit Tests - run: cargo test --workspace --exclude wasm-rpc-stubgen-tests-integration + run: cargo test --tests --workspace --exclude wasm-rpc-stubgen-tests-integration -- --format junit --logfile target/report.xml - name: WASM RPC stubgen integration tests - run: cargo test --package wasm-rpc-stubgen-tests-integration -- --test-threads=1 + run: cargo test --tests --package wasm-rpc-stubgen-tests-integration -- --test-threads=1 --format junit --logfile target/report.xml - name: Build in stub mode run: cargo component build -p golem-wasm-rpc --no-default-features --features stub + - name: Publish Test Report + uses: mikepenz/action-junit-report@v4 + if: success() || failure() # always run even if the previous step fails + with: + report_paths: '**/target/report-*.xml' + detailed_summary: true + include_passed: true publish: needs: [ build ] if: "startsWith(github.ref, 'refs/tags/v')" diff --git a/Cargo.lock b/Cargo.lock index c069eb4..8d63fcc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -976,18 +976,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29daf137addc15da6bab6eae2c4a11e274b1d270bf2759508e62f6145e863ef6" +checksum = "0e986f88294c33bf0e58ffb5bc65621251d4254a43abac04df651594bbee8c75" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de619867d5de4c644b7fd9904d6e3295269c93d8a71013df796ab338681222d4" +checksum = "6a9e785b0978305cb2921cb86c2abbc8e1bc45408710bbcc2ac6a17bd37e454a" dependencies = [ "bumpalo", "cranelift-bforest", @@ -1007,33 +1007,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f5cf277490037d8dae9513d35e0ee8134670ae4a964a5ed5b198d4249d7c10" +checksum = "dbb4184add80d5da946190f3ad7c3babab468d44eae09dcef0f42c09268d62a2" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3e22ecad1123343a3c09ac6ecc532bb5c184b6fcb7888df0ea953727f79924" +checksum = "ab78a22ec023f93fd580080a95342470b575228b019f5f13b76536703d337383" [[package]] name = "cranelift-control" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ca3ec6d30bce84ccf59c81fead4d16381a3ef0ef75e8403bc1e7385980da09" +checksum = "f8c3058104a9d495034ffca37fa0dfe735bd4a62373ac533229ff7a8dbe785a7" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eabb8d36b0ca8906bec93c78ea516741cac2d7e6b266fa7b0ffddcc09004990" +checksum = "aecc6fc033e07a240c8bb902503ad7d9d00671510b345f6c390f2b73863acabd" dependencies = [ "serde 1.0.210", "serde_derive", @@ -1041,9 +1041,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44b42630229e49a8cfcae90bdc43c8c4c08f7a7aa4618b67f79265cd2f996dd2" +checksum = "8c9c3ac4bd3168d7dadd95acbdc547b461a1ef5ddc472a95d313909b4739ac85" dependencies = [ "cranelift-codegen", "log", @@ -1053,15 +1053,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918d1e36361805dfe0b6cdfd5a5ffdb5d03fa796170c5717d2727cbe623b93a0" +checksum = "19ac03f29eb9606a39a250a95320d9a187e3c0a7997f41e494725dc6277ddd79" [[package]] name = "cranelift-native" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75aea85a0d7e1800b14ce9d3f53adf8ad4d1ee8a9e23b0269bdc50285e93b9b3" +checksum = "b50deb0661ed42f3695ce9ac7a71ae5491e1bd90f4e40871b74a75202c7f1e02" dependencies = [ "cranelift-codegen", "libc", @@ -1070,9 +1070,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.108.1" +version = "0.108.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac491fd3473944781f0cf9528c90cc899d18ad438da21961a839a3a44d57dfb" +checksum = "ad2275c4b9b665b728b019548aae52a01feadb1f7640b4e8aec0778d06e80964" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1141,6 +1141,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "ctor" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" +dependencies = [ + "quote", + "syn 2.0.79", +] + [[package]] name = "ctr" version = "0.9.2" @@ -1369,6 +1379,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "doctest-file" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" + [[package]] name = "ecdsa" version = "0.16.9" @@ -1486,6 +1502,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "escape8259" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5692dd7b5a1978a5aeb0ce83b7655c58ca8efdcb79d21036ea249da95afec2c6" + [[package]] name = "event-listener" version = "2.5.3" @@ -1872,6 +1894,7 @@ dependencies = [ "prost-build", "serde 1.0.210", "serde_json", + "test-r", "uuid", "wasm-wave", "wasmtime", @@ -1909,6 +1932,7 @@ dependencies = [ "serde_yaml", "syn 2.0.79", "tempfile", + "test-r", "tokio", "toml 0.8.19", "wac-graph", @@ -2293,6 +2317,21 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "interprocess" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" +dependencies = [ + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring", + "windows-sys 0.52.0", +] + [[package]] name = "io-extras" version = "0.18.2" @@ -3559,6 +3598,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "recvmsg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" + [[package]] name = "redox_syscall" version = "0.5.7" @@ -4354,6 +4399,52 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "test-r" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce4f9076be412de335c06832a0a72b3261a2a91a2925f9d47363643e7b7a015a" +dependencies = [ + "ctor", + "test-r-core", + "test-r-macro", + "tokio", +] + +[[package]] +name = "test-r-core" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ad71c85134f87fc11617d92fec4320d3154ecd117871a866116813d6a1ece8" +dependencies = [ + "anstream", + "anstyle", + "bincode", + "clap", + "escape8259", + "futures", + "interprocess", + "parking_lot", + "quick-xml", + "rand", + "tokio", + "topological-sort", + "uuid", +] + +[[package]] +name = "test-r-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a638ef4ccf6d0d5b92d06e5c827ef4e941eb59bf4192101a3b8c29b7540a878" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.79", + "test-r-core", +] + [[package]] name = "thiserror" version = "1.0.64" @@ -4569,6 +4660,12 @@ dependencies = [ "winnow 0.6.20", ] +[[package]] +name = "topological-sort" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" + [[package]] name = "tower-service" version = "0.3.3" @@ -4722,6 +4819,9 @@ name = "uuid" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom", +] [[package]] name = "vcpkg" @@ -5168,6 +5268,7 @@ dependencies = [ "golem-wasm-ast", "golem-wasm-rpc-stubgen", "tempfile", + "test-r", "tokio", ] @@ -5491,9 +5592,9 @@ checksum = "4ff75cafffe47b04b036385ce3710f209153525b0ed19d57b0cf44a22d446460" [[package]] name = "wasmtime-types" -version = "21.0.1" +version = "21.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f2fa462bfea3220711c84e2b549f147e4df89eeb49b8a2a3d89148f6cc4a8b1" +checksum = "84d0251194ca3e0fb70a48968729b3fe3026ec538d6e721ec345372506a0537b" dependencies = [ "cranelift-entity", "serde 1.0.210", @@ -5626,6 +5727,12 @@ dependencies = [ "winsafe", ] +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + [[package]] name = "wiggle" version = "21.0.1" diff --git a/Cargo.toml b/Cargo.toml index 8e104b8..1eaba42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,4 +20,5 @@ opt-level = 's' fs_extra = "1.3.0" golem-wasm-ast = "1.0.1" tempfile = "3.12.0" +test-r = { version = "0.0.6", default-features = false } tokio = "1.38.0" \ No newline at end of file diff --git a/wasm-rpc-stubgen/Cargo.toml b/wasm-rpc-stubgen/Cargo.toml index 01b9b0e..5db596c 100644 --- a/wasm-rpc-stubgen/Cargo.toml +++ b/wasm-rpc-stubgen/Cargo.toml @@ -13,10 +13,20 @@ unstable-dec-dep = [] [lib] name = "golem_wasm_rpc_stubgen" path = "src/lib.rs" +harness = false [[bin]] name = "wasm-rpc-stubgen" path = "src/main.rs" +harness = false + +[[test]] +name = "wit" +harness = false + +[[test]] +name = "add_dep" +harness = false [dependencies] anyhow = "1.0.79" @@ -51,3 +61,6 @@ walkdir = "2.5.0" wac-graph = "0.6.0" wit-bindgen-rust = "=0.26.0" wit-parser = "0.207.0" + +[dev-dependencies] +test-r = { workspace = true } \ No newline at end of file diff --git a/wasm-rpc-stubgen/src/lib.rs b/wasm-rpc-stubgen/src/lib.rs index efcb555..6d6b1ee 100644 --- a/wasm-rpc-stubgen/src/lib.rs +++ b/wasm-rpc-stubgen/src/lib.rs @@ -29,6 +29,9 @@ use clap::{Parser, Subcommand}; use std::path::PathBuf; use tempfile::TempDir; +#[cfg(test)] +test_r::enable!(); + #[derive(Parser, Debug)] #[command(name = "wasm-rpc-stubgen", version)] pub enum Command { diff --git a/wasm-rpc-stubgen/src/main.rs b/wasm-rpc-stubgen/src/main.rs index df388c1..b5a16d8 100644 --- a/wasm-rpc-stubgen/src/main.rs +++ b/wasm-rpc-stubgen/src/main.rs @@ -17,7 +17,11 @@ use colored::Colorize; use golem_wasm_rpc_stubgen::*; use std::process::ExitCode; +#[cfg(test)] +test_r::enable!(); + #[tokio::main] +#[cfg(not(test))] async fn main() -> ExitCode { pretty_env_logger::init(); diff --git a/wasm-rpc-stubgen/src/model/oam.rs b/wasm-rpc-stubgen/src/model/oam.rs index 82678e0..037946c 100644 --- a/wasm-rpc-stubgen/src/model/oam.rs +++ b/wasm-rpc-stubgen/src/model/oam.rs @@ -232,6 +232,8 @@ pub trait TypedTraitProperties: Serialize + DeserializeOwned { #[cfg(test)] mod tests { + use test_r::test; + use super::*; use assert2::assert; diff --git a/wasm-rpc-stubgen/src/model/wasm_rpc.rs b/wasm-rpc-stubgen/src/model/wasm_rpc.rs index 74c59c2..c133853 100644 --- a/wasm-rpc-stubgen/src/model/wasm_rpc.rs +++ b/wasm-rpc-stubgen/src/model/wasm_rpc.rs @@ -830,6 +830,8 @@ impl WasmRpcStubBuild { #[cfg(test)] mod tests { + use test_r::test; + use super::*; use crate::model::oam; use assert2::assert; diff --git a/wasm-rpc-stubgen/tests-integration/Cargo.toml b/wasm-rpc-stubgen/tests-integration/Cargo.toml index 9319528..5d73f2c 100644 --- a/wasm-rpc-stubgen/tests-integration/Cargo.toml +++ b/wasm-rpc-stubgen/tests-integration/Cargo.toml @@ -10,10 +10,22 @@ description = "Golem WASM RPC stub generator - integration tests" [lib] name = "wasm_rpc_stubgen_tests_integration" path = "src/lib.rs" +harness = false + +[[test]] +name = "compose" +harness = false + +[[test]] +name = "stub_wasm" +harness = false [dependencies] fs_extra = { workspace = true } golem-wasm-ast = { workspace = true } golem-wasm-rpc-stubgen = { path = "../../wasm-rpc-stubgen", version = "0.0.0" } tempfile = { workspace = true } -tokio = { workspace = true } \ No newline at end of file +tokio = { workspace = true } + +[dev-dependencies] +test-r = { workspace = true, default-features = true } \ No newline at end of file diff --git a/wasm-rpc-stubgen/tests-integration/src/lib.rs b/wasm-rpc-stubgen/tests-integration/src/lib.rs index d3aa4a2..8f3b960 100644 --- a/wasm-rpc-stubgen/tests-integration/src/lib.rs +++ b/wasm-rpc-stubgen/tests-integration/src/lib.rs @@ -24,3 +24,6 @@ pub fn wasm_rpc_override() -> WasmRpcOverride { wasm_rpc_version_override: None, } } + +#[cfg(test)] +test_r::enable!(); diff --git a/wasm-rpc-stubgen/tests-integration/tests/compose.rs b/wasm-rpc-stubgen/tests-integration/tests/compose.rs index e137c96..88b7b25 100644 --- a/wasm-rpc-stubgen/tests-integration/tests/compose.rs +++ b/wasm-rpc-stubgen/tests-integration/tests/compose.rs @@ -16,6 +16,8 @@ // TODO: test compose with multiple stubs +use test_r::test; + use fs_extra::dir::CopyOptions; use golem_wasm_ast::component::{Component, ComponentExternName}; use golem_wasm_ast::{DefaultAst, IgnoreAllButMetadata}; @@ -27,7 +29,9 @@ use std::path::{Path, PathBuf}; use tempfile::TempDir; use wasm_rpc_stubgen_tests_integration::{test_data_path, wasm_rpc_override}; -#[tokio::test] +test_r::enable!(); + +#[test] async fn compose_with_single_stub() { let (stub_dir, stub_wasm) = init_stub("all-wit-types").await; let caller_dir = init_caller("caller-no-dep-importstub"); @@ -65,7 +69,7 @@ async fn compose_with_single_stub() { assert_not_importing(&dest_wasm, "test:main-stub/stub-api"); } -#[tokio::test] +#[test] async fn compose_with_single_stub_not_importing_stub() { let (stub_dir, stub_wasm) = init_stub("all-wit-types").await; let caller_dir = init_caller("caller-no-dep"); diff --git a/wasm-rpc-stubgen/tests-integration/tests/stub_wasm.rs b/wasm-rpc-stubgen/tests-integration/tests/stub_wasm.rs index 8a045a7..68d1fef 100644 --- a/wasm-rpc-stubgen/tests-integration/tests/stub_wasm.rs +++ b/wasm-rpc-stubgen/tests-integration/tests/stub_wasm.rs @@ -15,6 +15,8 @@ //! Tests in this module are verifying the STUB WASM created by the stub generator //! regardless of how the actual wasm generator is implemented. (Currently generates Rust code and compiles it) +use test_r::test; + use golem_wasm_ast::analysis::analysed_type::*; use golem_wasm_ast::analysis::{ AnalysedExport, AnalysedFunctionParameter, AnalysedInstance, AnalysedResourceId, @@ -28,7 +30,9 @@ use golem_wasm_rpc_stubgen::stub::StubDefinition; use tempfile::tempdir; use wasm_rpc_stubgen_tests_integration::{test_data_path, wasm_rpc_override}; -#[tokio::test] +test_r::enable!(); + +#[test] async fn all_wit_types() { let source_wit_root = test_data_path().join("all-wit-types"); let target_root = tempdir().unwrap(); diff --git a/wasm-rpc-stubgen/tests/add_dep.rs b/wasm-rpc-stubgen/tests/add_dep.rs index 94d22df..826dc99 100644 --- a/wasm-rpc-stubgen/tests/add_dep.rs +++ b/wasm-rpc-stubgen/tests/add_dep.rs @@ -14,6 +14,8 @@ //! Tests for the 'add stub as a dependency' mechanism. +use test_r::test; + use fs_extra::dir::CopyOptions; use golem_wasm_rpc::{WASI_POLL_WIT, WASM_RPC_WIT}; use golem_wasm_rpc_stubgen::commands::dependencies::{add_stub_dependency, UpdateCargoToml}; @@ -24,6 +26,8 @@ use std::path::Path; use tempfile::TempDir; use wit_parser::Resolve; +test_r::enable!(); + #[test] fn all_wit_types_no_collision() { let stub_dir = init_stub("all-wit-types"); diff --git a/wasm-rpc-stubgen/tests/wit.rs b/wasm-rpc-stubgen/tests/wit.rs index 555aecf..a44e7af 100644 --- a/wasm-rpc-stubgen/tests/wit.rs +++ b/wasm-rpc-stubgen/tests/wit.rs @@ -14,6 +14,8 @@ //! Tests in this module are verifying the STUB WIT created by the stub generator +use test_r::test; + use golem_wasm_rpc_stubgen::commands::generate::generate_stub_wit_dir; use golem_wasm_rpc_stubgen::stub::StubDefinition; use golem_wasm_rpc_stubgen::WasmRpcOverride; @@ -21,6 +23,8 @@ use std::path::Path; use tempfile::tempdir; use wit_parser::{FunctionKind, Resolve, TypeDefKind, TypeOwner}; +test_r::enable!(); + #[test] fn all_wit_types() { let source_wit_root = Path::new("test-data/all-wit-types"); diff --git a/wasm-rpc/Cargo.toml b/wasm-rpc/Cargo.toml index 11acfeb..1d0df22 100644 --- a/wasm-rpc/Cargo.toml +++ b/wasm-rpc/Cargo.toml @@ -12,6 +12,7 @@ include = [] [lib] path = "src/lib.rs" crate-type = ["cdylib", "rlib"] +harness = false [dependencies] wit-bindgen-rt = { version = "0.26.0", features = ["bitflags"] } @@ -37,6 +38,7 @@ wasm-wave = { version = "=0.6.0", optional = true } [dev-dependencies] proptest = "1.4.0" proptest-arbitrary-interop = "0.1.0" +test-r = { workspace = true, default-features = false } [build-dependencies] prost-build = "0.12.6" diff --git a/wasm-rpc/src/bincode.rs b/wasm-rpc/src/bincode.rs index b9989ec..82b916b 100644 --- a/wasm-rpc/src/bincode.rs +++ b/wasm-rpc/src/bincode.rs @@ -349,6 +349,8 @@ impl<'de> BorrowDecode<'de> for WitNode { #[cfg(test)] mod tests { + use test_r::test; + use crate::{Value, WitValue}; use proptest::prelude::*; use proptest_arbitrary_interop::arb_sized; diff --git a/wasm-rpc/src/builder.rs b/wasm-rpc/src/builder.rs index e743f76..75a73a4 100644 --- a/wasm-rpc/src/builder.rs +++ b/wasm-rpc/src/builder.rs @@ -901,6 +901,8 @@ impl NodeBuilder for WitValueChildBuilder WitNodePointer<'a> { #[cfg(test)] mod tests { + use test_r::test; + use super::*; use crate::*; diff --git a/wasm-rpc/src/json/impl.rs b/wasm-rpc/src/json/impl.rs index 7457d6f..188a22c 100644 --- a/wasm-rpc/src/json/impl.rs +++ b/wasm-rpc/src/json/impl.rs @@ -776,6 +776,8 @@ fn get_u64(value: &JsonValue) -> Result> { #[cfg(test)] mod tests { + use test_r::test; + use std::collections::HashSet; use golem_wasm_ast::analysis::analysed_type::{ diff --git a/wasm-rpc/src/json/mod.rs b/wasm-rpc/src/json/mod.rs index dae9da4..60952e6 100644 --- a/wasm-rpc/src/json/mod.rs +++ b/wasm-rpc/src/json/mod.rs @@ -96,6 +96,8 @@ impl<'de> Deserialize<'de> for ValueAndType { #[cfg(test)] mod tests { + use test_r::test; + use crate::protobuf::type_annotated_value::TypeAnnotatedValue; use crate::{TypeAnnotatedValueConstructors, Value}; use golem_wasm_ast::analysis::analysed_type::{str, tuple, u32}; diff --git a/wasm-rpc/src/lib.rs b/wasm-rpc/src/lib.rs index 7cd9644..8a7a175 100644 --- a/wasm-rpc/src/lib.rs +++ b/wasm-rpc/src/lib.rs @@ -18,6 +18,9 @@ #[cfg(feature = "stub")] mod bindings; +#[cfg(test)] +test_r::enable!(); + /// Implements bincode encoders and decoders for WitValue instances #[cfg(feature = "bincode")] pub mod bincode; @@ -410,6 +413,8 @@ pub const WASM_RPC_VERSION: &str = version::lib_version!(); #[cfg(test)] mod tests { + use test_r::test; + use crate::{Value, WitValue}; use proptest::prelude::*; use proptest_arbitrary_interop::arb_sized; diff --git a/wasm-rpc/src/protobuf.rs b/wasm-rpc/src/protobuf.rs index c1d2e79..3480500 100644 --- a/wasm-rpc/src/protobuf.rs +++ b/wasm-rpc/src/protobuf.rs @@ -763,6 +763,8 @@ pub fn function_parameters( #[cfg(test)] mod tests { + use test_r::test; + use super::{Val, WitValue}; use crate::Value; use proptest::prelude::*; diff --git a/wasm-rpc/src/text.rs b/wasm-rpc/src/text.rs index ceb4512..1e2f291 100644 --- a/wasm-rpc/src/text.rs +++ b/wasm-rpc/src/text.rs @@ -526,6 +526,8 @@ impl WasmValue for TypeAnnotatedValuePrintable { #[cfg(test)] mod tests { + use test_r::test; + use crate::protobuf::type_annotated_value::TypeAnnotatedValue; use crate::text::type_annotated_value_from_str; use crate::{type_annotated_value_to_string, TypeAnnotatedValueConstructors, Value}; diff --git a/wasm-rpc/src/type_annotated_value.rs b/wasm-rpc/src/type_annotated_value.rs index 0c811ba..b7dfeaa 100644 --- a/wasm-rpc/src/type_annotated_value.rs +++ b/wasm-rpc/src/type_annotated_value.rs @@ -685,6 +685,8 @@ fn create_from_type(val: &Value, typ: &Type) -> Result