diff --git a/bazel/test_workspace/Cargo-test.bazel.lock b/bazel/test_workspace/Cargo-test.bazel.lock index fd5c8f5ae3..231bccc51e 100644 --- a/bazel/test_workspace/Cargo-test.bazel.lock +++ b/bazel/test_workspace/Cargo-test.bazel.lock @@ -240,6 +240,12 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atomic_refcell" version = "0.1.13" @@ -265,7 +271,7 @@ dependencies = [ "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper", + "hyper 0.14.28", "itoa", "matchit", "memchr", @@ -1091,7 +1097,9 @@ dependencies = [ "hkdf", "hpke", "http 0.2.12", - "hyper", + "http-body-util", + "hyper 0.14.28", + "hyper-util", "ignore", "itertools 0.12.1", "lazy_static", @@ -1601,6 +1609,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "half" version = "2.4.1" @@ -1808,7 +1835,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -1822,18 +1849,59 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-timeout" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper", + "hyper 0.14.28", "pin-project-lite", "tokio", "tokio-io-timeout", ] +[[package]] +name = "hyper-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.4.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -1857,6 +1925,12 @@ dependencies = [ "cc", ] +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + [[package]] name = "ident_case" version = "1.0.1" @@ -3928,10 +4002,10 @@ dependencies = [ "base64 0.21.7", "bytes", "flate2", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper", + "hyper 0.14.28", "hyper-timeout", "percent-encoding", "pin-project", @@ -3967,7 +4041,7 @@ dependencies = [ "bytes", "http 0.2.12", "http-body 0.4.6", - "hyper", + "hyper 0.14.28", "pin-project", "tokio-stream", "tonic", @@ -4117,6 +4191,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "universal-hash" version = "0.5.1" @@ -4319,6 +4399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69472708b96ee90579a482bdbb908ce97e53a9e5ebbcab59cc29c3977bcab512" dependencies = [ "anyhow", + "async-trait", "bincode", "bumpalo", "cfg-if", @@ -4337,8 +4418,10 @@ dependencies = [ "target-lexicon", "wasmparser", "wasmtime-cache", + "wasmtime-component-macro", "wasmtime-cranelift", "wasmtime-environ", + "wasmtime-fiber", "wasmtime-jit-icache-coherence", "wasmtime-runtime", "windows-sys 0.52.0", @@ -4373,6 +4456,27 @@ dependencies = [ "zstd", ] +[[package]] +name = "wasmtime-component-macro" +version = "18.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc6aca484581f9651886dca45f9dea893e105713b58623d14b06c56d8fe3f3f1" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "syn 2.0.66", + "wasmtime-component-util", + "wasmtime-wit-bindgen", + "wit-parser", +] + +[[package]] +name = "wasmtime-component-util" +version = "18.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aa907cc97ad039c43f98525d772f4841c2ce69a0c11eeec2a3a9c77fc730e87" + [[package]] name = "wasmtime-cranelift" version = "18.0.4" @@ -4435,6 +4539,21 @@ dependencies = [ "wasmtime-types", ] +[[package]] +name = "wasmtime-fiber" +version = "18.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3174f71c8fbd9d2cb1233ad9f912f106bdd2a1a6d11a1b7707974ba3ad5f304a" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "rustix", + "wasmtime-asm-macros", + "wasmtime-versioned-export-macros", + "windows-sys 0.52.0", +] + [[package]] name = "wasmtime-jit-icache-coherence" version = "18.0.4" @@ -4468,6 +4587,7 @@ dependencies = [ "wasm-encoder", "wasmtime-asm-macros", "wasmtime-environ", + "wasmtime-fiber", "wasmtime-versioned-export-macros", "wasmtime-wmemcheck", "windows-sys 0.52.0", @@ -4497,6 +4617,18 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "wasmtime-wit-bindgen" +version = "18.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6945fc6cfee04ba81016e9723bea77a2b913108e03904a4d901daedf208365f5" +dependencies = [ + "anyhow", + "heck 0.4.1", + "indexmap 2.2.6", + "wit-parser", +] + [[package]] name = "wasmtime-wmemcheck" version = "18.0.4" @@ -4719,6 +4851,23 @@ version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +[[package]] +name = "wit-parser" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "316b36a9f0005f5aa4b03c39bc3728d045df136f8c13a73b7db4510dec725e08" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.2.6", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", +] + [[package]] name = "wyz" version = "0.5.1" diff --git a/bazel/test_workspace/cargo-bazel-test-lock.json b/bazel/test_workspace/cargo-bazel-test-lock.json index 2c1f1103b8..4be1b53558 100644 --- a/bazel/test_workspace/cargo-bazel-test-lock.json +++ b/bazel/test_workspace/cargo-bazel-test-lock.json @@ -1,5 +1,5 @@ { - "checksum": "a85ceb71161f9d1465b2382d14f0b9adc90086197f5b345bd56c02b9b153dbec", + "checksum": "97fc2702e4b99f5977d25ea84b967e6652cdb5a977d0b4fc290db7b94feab84c", "crates": { "acpi 5.0.0": { "name": "acpi", @@ -1433,6 +1433,45 @@ ], "license_file": "LICENSE-APACHE" }, + "atomic-waker 1.1.2": { + "name": "atomic-waker", + "version": "1.1.2", + "package_url": "https://github.com/smol-rs/atomic-waker", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/atomic-waker/1.1.2/download", + "sha256": "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + } + }, + "targets": [ + { + "Library": { + "crate_name": "atomic_waker", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "atomic_waker", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.1.2" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "atomic_refcell 0.1.13": { "name": "atomic_refcell", "version": "0.1.13", @@ -6547,10 +6586,18 @@ "id": "http 0.2.12", "target": "http" }, + { + "id": "http-body-util 0.1.2", + "target": "http_body_util" + }, { "id": "hyper 0.14.28", "target": "hyper" }, + { + "id": "hyper-util 0.1.6", + "target": "hyper_util" + }, { "id": "ignore 0.4.22", "target": "ignore" @@ -9504,6 +9551,93 @@ ], "license_file": "LICENSE" }, + "h2 0.4.5": { + "name": "h2", + "version": "0.4.5", + "package_url": "https://github.com/hyperium/h2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/h2/0.4.5/download", + "sha256": "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" + } + }, + "targets": [ + { + "Library": { + "crate_name": "h2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "h2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "atomic-waker 1.1.2", + "target": "atomic_waker" + }, + { + "id": "bytes 1.6.0", + "target": "bytes" + }, + { + "id": "fnv 1.0.7", + "target": "fnv" + }, + { + "id": "futures-core 0.3.30", + "target": "futures_core" + }, + { + "id": "futures-sink 0.3.30", + "target": "futures_sink" + }, + { + "id": "http 1.1.0", + "target": "http" + }, + { + "id": "indexmap 2.2.6", + "target": "indexmap" + }, + { + "id": "slab 0.4.9", + "target": "slab" + }, + { + "id": "tokio 1.38.0", + "target": "tokio" + }, + { + "id": "tokio-util 0.7.11", + "target": "tokio_util" + }, + { + "id": "tracing 0.1.40", + "target": "tracing" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.4.5" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, "half 2.4.1": { "name": "half", "version": "2.4.1", @@ -10805,6 +10939,111 @@ ], "license_file": "LICENSE" }, + "hyper 1.4.1": { + "name": "hyper", + "version": "1.4.1", + "package_url": "https://github.com/hyperium/hyper", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hyper/1.4.1/download", + "sha256": "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hyper", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hyper", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "client", + "default", + "http1", + "http2", + "server" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bytes 1.6.0", + "target": "bytes" + }, + { + "id": "futures-channel 0.3.30", + "target": "futures_channel" + }, + { + "id": "futures-util 0.3.30", + "target": "futures_util" + }, + { + "id": "h2 0.4.5", + "target": "h2" + }, + { + "id": "http 1.1.0", + "target": "http" + }, + { + "id": "http-body 1.0.0", + "target": "http_body" + }, + { + "id": "httparse 1.8.0", + "target": "httparse" + }, + { + "id": "httpdate 1.0.3", + "target": "httpdate" + }, + { + "id": "itoa 1.0.11", + "target": "itoa" + }, + { + "id": "pin-project-lite 0.2.14", + "target": "pin_project_lite" + }, + { + "id": "smallvec 1.13.2", + "target": "smallvec" + }, + { + "id": "tokio 1.38.0", + "target": "tokio" + }, + { + "id": "want 0.3.1", + "target": "want" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.4.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, "hyper-timeout 0.4.1": { "name": "hyper-timeout", "version": "0.4.1", @@ -10865,20 +11104,20 @@ ], "license_file": "LICENSE-APACHE" }, - "iana-time-zone 0.1.60": { - "name": "iana-time-zone", - "version": "0.1.60", - "package_url": "https://github.com/strawlab/iana-time-zone", + "hyper-util 0.1.6": { + "name": "hyper-util", + "version": "0.1.6", + "package_url": "https://github.com/hyperium/hyper-util", "repository": { "Http": { - "url": "https://static.crates.io/crates/iana-time-zone/0.1.60/download", - "sha256": "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" + "url": "https://static.crates.io/crates/hyper-util/0.1.6/download", + "sha256": "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" } }, "targets": [ { "Library": { - "crate_name": "iana_time_zone", + "crate_name": "hyper_util", "crate_root": "src/lib.rs", "srcs": { "allow_empty": false, @@ -10889,42 +11128,149 @@ } } ], - "library_target_name": "iana_time_zone", + "library_target_name": "hyper_util", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "fallback" + "client", + "client-legacy", + "default", + "full", + "http1", + "http2", + "server", + "server-auto", + "server-graceful", + "service", + "tokio" ], "selects": {} }, "deps": { - "common": [], - "selects": { - "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [ - { - "id": "core-foundation-sys 0.8.6", - "target": "core_foundation_sys" - } - ], - "cfg(target_arch = \"wasm32\")": [ - { - "id": "js-sys 0.3.69", - "target": "js_sys" - }, - { - "id": "wasm-bindgen 0.2.92", - "target": "wasm_bindgen" - } - ], - "cfg(target_os = \"android\")": [ - { - "id": "android_system_properties 0.1.5", - "target": "android_system_properties" - } - ], + "common": [ + { + "id": "bytes 1.6.0", + "target": "bytes" + }, + { + "id": "futures-channel 0.3.30", + "target": "futures_channel" + }, + { + "id": "futures-util 0.3.30", + "target": "futures_util" + }, + { + "id": "http 1.1.0", + "target": "http" + }, + { + "id": "http-body 1.0.0", + "target": "http_body" + }, + { + "id": "hyper 1.4.1", + "target": "hyper" + }, + { + "id": "pin-project-lite 0.2.14", + "target": "pin_project_lite" + }, + { + "id": "socket2 0.5.7", + "target": "socket2" + }, + { + "id": "tokio 1.38.0", + "target": "tokio" + }, + { + "id": "tower 0.4.13", + "target": "tower" + }, + { + "id": "tower-service 0.3.2", + "target": "tower_service" + }, + { + "id": "tracing 0.1.40", + "target": "tracing" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.6" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "iana-time-zone 0.1.60": { + "name": "iana-time-zone", + "version": "0.1.60", + "package_url": "https://github.com/strawlab/iana-time-zone", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/iana-time-zone/0.1.60/download", + "sha256": "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" + } + }, + "targets": [ + { + "Library": { + "crate_name": "iana_time_zone", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "iana_time_zone", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "fallback" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [ + { + "id": "core-foundation-sys 0.8.6", + "target": "core_foundation_sys" + } + ], + "cfg(target_arch = \"wasm32\")": [ + { + "id": "js-sys 0.3.69", + "target": "js_sys" + }, + { + "id": "wasm-bindgen 0.2.92", + "target": "wasm_bindgen" + } + ], + "cfg(target_os = \"android\")": [ + { + "id": "android_system_properties 0.1.5", + "target": "android_system_properties" + } + ], "cfg(target_os = \"haiku\")": [ { "id": "iana-time-zone-haiku 0.1.2", @@ -11023,6 +11369,45 @@ ], "license_file": "LICENSE-APACHE" }, + "id-arena 2.2.1": { + "name": "id-arena", + "version": "2.2.1", + "package_url": "https://github.com/fitzgen/id-arena", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/id-arena/2.2.1/download", + "sha256": "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + } + }, + "targets": [ + { + "Library": { + "crate_name": "id_arena", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "id_arena", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "2.2.1" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "ident_case 1.0.1": { "name": "ident_case", "version": "1.0.1", @@ -20855,6 +21240,8 @@ ], "crate_features": { "common": [ + "const_generics", + "const_new", "union" ], "selects": {} @@ -25022,6 +25409,45 @@ ], "license_file": "LICENSE-APACHE" }, + "unicode-xid 0.2.4": { + "name": "unicode-xid", + "version": "0.2.4", + "package_url": "https://github.com/unicode-rs/unicode-xid", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/unicode-xid/0.2.4/download", + "sha256": "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "unicode_xid", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "unicode_xid", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.2.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "universal-hash 0.5.1": { "name": "universal-hash", "version": "0.5.1", @@ -26217,6 +26643,7 @@ ], "crate_features": { "common": [ + "async", "cache", "cranelift", "parallel-compilation", @@ -26299,6 +26726,10 @@ "id": "wasmtime-environ 18.0.4", "target": "wasmtime_environ" }, + { + "id": "wasmtime-fiber 18.0.4", + "target": "wasmtime_fiber" + }, { "id": "wasmtime-jit-icache-coherence 18.0.4", "target": "wasmtime_jit_icache_coherence" @@ -26326,6 +26757,10 @@ "edition": "2021", "proc_macro_deps": { "common": [ + { + "id": "async-trait 0.1.80", + "target": "async_trait" + }, { "id": "paste 1.0.15", "target": "paste" @@ -26514,20 +26949,20 @@ ], "license_file": "LICENSE" }, - "wasmtime-cranelift 18.0.4": { - "name": "wasmtime-cranelift", + "wasmtime-component-macro 18.0.4": { + "name": "wasmtime-component-macro", "version": "18.0.4", "package_url": "https://github.com/bytecodealliance/wasmtime", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasmtime-cranelift/18.0.4/download", - "sha256": "b57d58e220ae223855c5d030ef20753377bc716d0c81b34c1fe74c9f44268774" + "url": "https://static.crates.io/crates/wasmtime-component-macro/18.0.4/download", + "sha256": "dc6aca484581f9651886dca45f9dea893e105713b58623d14b06c56d8fe3f3f1" } }, "targets": [ { - "Library": { - "crate_name": "wasmtime_cranelift", + "ProcMacro": { + "crate_name": "wasmtime_component_macro", "crate_root": "src/lib.rs", "srcs": { "allow_empty": false, @@ -26536,9 +26971,21 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "wasmtime_cranelift", + "library_target_name": "wasmtime_component_macro", "common_attrs": { "compile_data_glob": [ "**" @@ -26550,59 +26997,177 @@ "target": "anyhow" }, { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "cranelift-codegen 0.105.4", - "target": "cranelift_codegen" - }, - { - "id": "cranelift-control 0.105.4", - "target": "cranelift_control" - }, - { - "id": "cranelift-entity 0.105.4", - "target": "cranelift_entity" - }, - { - "id": "cranelift-frontend 0.105.4", - "target": "cranelift_frontend" - }, - { - "id": "cranelift-native 0.105.4", - "target": "cranelift_native" - }, - { - "id": "cranelift-wasm 0.105.4", - "target": "cranelift_wasm" - }, - { - "id": "gimli 0.28.1", - "target": "gimli" + "id": "proc-macro2 1.0.84", + "target": "proc_macro2" }, { - "id": "log 0.4.21", - "target": "log" + "id": "quote 1.0.36", + "target": "quote" }, { - "id": "object 0.32.2", - "target": "object" + "id": "syn 2.0.66", + "target": "syn" }, { - "id": "target-lexicon 0.12.14", - "target": "target_lexicon" + "id": "wasmtime-component-macro 18.0.4", + "target": "build_script_build" }, { - "id": "thiserror 1.0.61", - "target": "thiserror" + "id": "wasmtime-component-util 18.0.4", + "target": "wasmtime_component_util" }, { - "id": "wasmparser 0.121.2", - "target": "wasmparser" + "id": "wasmtime-wit-bindgen 18.0.4", + "target": "wasmtime_wit_bindgen" }, { - "id": "wasmtime-cranelift-shared 18.0.4", + "id": "wit-parser 0.13.2", + "target": "wit_parser" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "18.0.4" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "Apache-2.0 WITH LLVM-exception", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, + "wasmtime-component-util 18.0.4": { + "name": "wasmtime-component-util", + "version": "18.0.4", + "package_url": "https://github.com/bytecodealliance/wasmtime", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasmtime-component-util/18.0.4/download", + "sha256": "0aa907cc97ad039c43f98525d772f4841c2ce69a0c11eeec2a3a9c77fc730e87" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasmtime_component_util", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasmtime_component_util", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "18.0.4" + }, + "license": "Apache-2.0 WITH LLVM-exception", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, + "wasmtime-cranelift 18.0.4": { + "name": "wasmtime-cranelift", + "version": "18.0.4", + "package_url": "https://github.com/bytecodealliance/wasmtime", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasmtime-cranelift/18.0.4/download", + "sha256": "b57d58e220ae223855c5d030ef20753377bc716d0c81b34c1fe74c9f44268774" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasmtime_cranelift", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasmtime_cranelift", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.86", + "target": "anyhow" + }, + { + "id": "cfg-if 1.0.0", + "target": "cfg_if" + }, + { + "id": "cranelift-codegen 0.105.4", + "target": "cranelift_codegen" + }, + { + "id": "cranelift-control 0.105.4", + "target": "cranelift_control" + }, + { + "id": "cranelift-entity 0.105.4", + "target": "cranelift_entity" + }, + { + "id": "cranelift-frontend 0.105.4", + "target": "cranelift_frontend" + }, + { + "id": "cranelift-native 0.105.4", + "target": "cranelift_native" + }, + { + "id": "cranelift-wasm 0.105.4", + "target": "cranelift_wasm" + }, + { + "id": "gimli 0.28.1", + "target": "gimli" + }, + { + "id": "log 0.4.21", + "target": "log" + }, + { + "id": "object 0.32.2", + "target": "object" + }, + { + "id": "target-lexicon 0.12.14", + "target": "target_lexicon" + }, + { + "id": "thiserror 1.0.61", + "target": "thiserror" + }, + { + "id": "wasmparser 0.121.2", + "target": "wasmparser" + }, + { + "id": "wasmtime-cranelift-shared 18.0.4", "target": "wasmtime_cranelift_shared" }, { @@ -26805,6 +27370,122 @@ ], "license_file": "LICENSE" }, + "wasmtime-fiber 18.0.4": { + "name": "wasmtime-fiber", + "version": "18.0.4", + "package_url": "https://github.com/bytecodealliance/wasmtime", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasmtime-fiber/18.0.4/download", + "sha256": "3174f71c8fbd9d2cb1233ad9f912f106bdd2a1a6d11a1b7707974ba3ad5f304a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasmtime_fiber", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasmtime_fiber", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.86", + "target": "anyhow" + }, + { + "id": "cfg-if 1.0.0", + "target": "cfg_if" + }, + { + "id": "wasmtime-fiber 18.0.4", + "target": "build_script_build" + } + ], + "selects": { + "cfg(unix)": [ + { + "id": "rustix 0.38.34", + "target": "rustix" + }, + { + "id": "wasmtime-asm-macros 18.0.4", + "target": "wasmtime_asm_macros" + } + ], + "cfg(windows)": [ + { + "id": "windows-sys 0.52.0", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "wasmtime-versioned-export-macros 18.0.4", + "target": "wasmtime_versioned_export_macros" + } + ], + "selects": {} + }, + "version": "18.0.4" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cc 1.0.98", + "target": "cc" + } + ], + "selects": {} + }, + "proc_macro_deps": { + "common": [ + { + "id": "wasmtime-versioned-export-macros 18.0.4", + "target": "wasmtime_versioned_export_macros" + } + ], + "selects": {} + } + }, + "license": "Apache-2.0 WITH LLVM-exception", + "license_ids": [ + "Apache-2.0" + ], + "license_file": "LICENSE" + }, "wasmtime-jit-icache-coherence 18.0.4": { "name": "wasmtime-jit-icache-coherence", "version": "18.0.4", @@ -26908,7 +27589,9 @@ ], "crate_features": { "common": [ - "pooling-allocator" + "async", + "pooling-allocator", + "wasmtime-fiber" ], "selects": {} }, @@ -26954,6 +27637,10 @@ "id": "wasmtime-environ 18.0.4", "target": "wasmtime_environ" }, + { + "id": "wasmtime-fiber 18.0.4", + "target": "wasmtime_fiber" + }, { "id": "wasmtime-runtime 18.0.4", "target": "build_script_build" @@ -27164,6 +27851,65 @@ ], "license_file": null }, + "wasmtime-wit-bindgen 18.0.4": { + "name": "wasmtime-wit-bindgen", + "version": "18.0.4", + "package_url": "https://github.com/bytecodealliance/wasmtime", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasmtime-wit-bindgen/18.0.4/download", + "sha256": "6945fc6cfee04ba81016e9723bea77a2b913108e03904a4d901daedf208365f5" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasmtime_wit_bindgen", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasmtime_wit_bindgen", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.86", + "target": "anyhow" + }, + { + "id": "heck 0.4.1", + "target": "heck" + }, + { + "id": "indexmap 2.2.6", + "target": "indexmap" + }, + { + "id": "wit-parser 0.13.2", + "target": "wit_parser" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "18.0.4" + }, + "license": "Apache-2.0 WITH LLVM-exception", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, "wasmtime-wmemcheck 18.0.4": { "name": "wasmtime-wmemcheck", "version": "18.0.4", @@ -28959,6 +29705,90 @@ ], "license_file": "LICENSE.md" }, + "wit-parser 0.13.2": { + "name": "wit-parser", + "version": "0.13.2", + "package_url": "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wit-parser", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wit-parser/0.13.2/download", + "sha256": "316b36a9f0005f5aa4b03c39bc3728d045df136f8c13a73b7db4510dec725e08" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wit_parser", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": false, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wit_parser", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "anyhow 1.0.86", + "target": "anyhow" + }, + { + "id": "id-arena 2.2.1", + "target": "id_arena" + }, + { + "id": "indexmap 2.2.6", + "target": "indexmap" + }, + { + "id": "log 0.4.21", + "target": "log" + }, + { + "id": "semver 1.0.23", + "target": "semver" + }, + { + "id": "serde 1.0.203", + "target": "serde" + }, + { + "id": "serde_json 1.0.117", + "target": "serde_json" + }, + { + "id": "unicode-xid 0.2.4", + "target": "unicode_xid" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "serde_derive 1.0.203", + "target": "serde_derive" + } + ], + "selects": {} + }, + "version": "0.13.2" + }, + "license": "Apache-2.0 WITH LLVM-exception", + "license_ids": [ + "Apache-2.0" + ], + "license_file": null + }, "wyz 0.5.1": { "name": "wyz", "version": "0.5.1", @@ -30079,7 +30909,9 @@ "hkdf 0.12.4", "hpke 0.11.0", "http 0.2.12", + "http-body-util 0.1.2", "hyper 0.14.28", + "hyper-util 0.1.6", "ignore 0.4.22", "itertools 0.12.1", "lazy_static 1.4.0", diff --git a/bazel/test_workspace/cargo-no-std-test-bazel-lock.json b/bazel/test_workspace/cargo-no-std-test-bazel-lock.json index 31ad495c22..4847ac5cf4 100644 --- a/bazel/test_workspace/cargo-no-std-test-bazel-lock.json +++ b/bazel/test_workspace/cargo-no-std-test-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "df9e5bd3a417451b5b3dbf4f55032e969cac6fe42a3b171c04eaf5e00a479466", + "checksum": "03c37069921046c5653dc4d1e3e030f9104ee43392505852bc9188bf64d8f413", "crates": { "acpi 5.0.0": { "name": "acpi", diff --git a/justfile b/justfile index c09f9e85ec..59c14d5ee0 100644 --- a/justfile +++ b/justfile @@ -258,8 +258,15 @@ kokoro_build_binaries_rust: all_enclave_apps oak_restricted_kernel_bin \ kokoro_oak_containers: all_oak_containers_binaries oak_functions_containers_container_bundle_tar OAK_CONTAINERS_BINARIES_ALREADY_BUILT=1 RUST_LOG="debug" cargo nextest run --all-targets --hide-progress-bar --package='oak_containers_hello_world_untrusted_app' -kokoro_run_tests: all_ensure_no_std all_oak_functions_containers_binaries oak_restricted_kernel_wrapper oak_orchestrator stage0_bin oak_functions_enclave_app all_wasm_test_crates build-clients - RUST_LOG="debug" cargo nextest run --all-targets --hide-progress-bar --workspace --exclude='oak_containers_hello_world_untrusted_app' +# This list should contain all crates that either a) have tests and are not bazelified yet or b) have bench tests (not supported on Bazel yet). +# TODO: b/353497833 - Add oak_functions_containers_app integration tests and remove from this list. +# TODO: b/349587489 - Bazelify oak_functions_containers_launcher +# TODO: b/353487223 - Add oak_functions_launcher integration tests (also has bench tests). +# TODO: b/349572480 - Enable benchmarks in Bazel and remove oak_functions_service and oak_functions_launcher (after integration tests bazelified) from this list. +cargo_test_packages_arg := "-p key_value_lookup -p oak_functions_containers_app -p oak_functions_containers_launcher -p oak_functions_launcher -p oak_functions_service" + +kokoro_run_cargo_tests: all_ensure_no_std all_oak_functions_containers_binaries oak_restricted_kernel_wrapper oak_orchestrator stage0_bin oak_functions_enclave_app all_wasm_test_crates build-clients + RUST_LOG="debug" cargo nextest run --all-targets --hide-progress-bar {{cargo_test_packages_arg}} clang-tidy: bazel build $BAZEL_CONFIG_FLAG --config=clang-tidy //cc/... diff --git a/kokoro/run_tests.sh b/kokoro/run_tests.sh index f72bfe09c3..7c8ec27ba7 100755 --- a/kokoro/run_tests.sh +++ b/kokoro/run_tests.sh @@ -4,7 +4,7 @@ source "$(dirname "$0")/common.sh" ./scripts/docker_pull -./scripts/docker_run nix develop .#default --command just kokoro_run_tests +./scripts/docker_run nix develop .#default --command just kokoro_run_cargo_tests ./scripts/git_check_diff mkdir -p "${KOKORO_ARTIFACTS_DIR}/test_logs/" diff --git a/oak_containers_orchestrator/BUILD b/oak_containers_orchestrator/BUILD index d583034716..0eaa33193d 100644 --- a/oak_containers_orchestrator/BUILD +++ b/oak_containers_orchestrator/BUILD @@ -75,11 +75,12 @@ rust_library( rust_test( name = "lib_test", - srcs = [ - "src/dice.rs", - ], + crate = ":lib", crate_features = ["bazel"], data = [ + "//oak_containers_orchestrator/testdata:cdi.json", + "//oak_containers_orchestrator/testdata:oci_spec_base.json", + "//oak_containers_orchestrator/testdata:oci_spec_target.json", "//oak_containers_orchestrator/testdata:test_dice", ], deps = [ diff --git a/oak_core/BUILD b/oak_core/BUILD index 72aa1499cb..6fc35f63c3 100644 --- a/oak_core/BUILD +++ b/oak_core/BUILD @@ -14,7 +14,7 @@ # limitations under the License. # -load("@rules_rust//rust:defs.bzl", "rust_library") +load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") load("//bazel:defs.bzl", "either_platform") package( @@ -35,3 +35,8 @@ rust_library( "@oak_no_std_crates_index//:getrandom", ], ) + +rust_test( + name = "oak_core_tests", + crate = ":oak_core", +) diff --git a/oak_session/BUILD b/oak_session/BUILD index 0e1dd6ccb8..dd11f2ac8e 100644 --- a/oak_session/BUILD +++ b/oak_session/BUILD @@ -14,7 +14,7 @@ # limitations under the License. # -load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test_suite") +load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test", "rust_test_suite") package( default_visibility = ["//visibility:public"], @@ -35,8 +35,13 @@ rust_library( ], ) -rust_test_suite( +rust_test( name = "oak_session_tests", + crate = ":oak_session", +) + +rust_test_suite( + name = "oak_session_integration_tests", srcs = glob(["tests/*.rs"]), deps = [ ":oak_session",