From ab8486e5b8b12f18954d3754c1837882e30008dc Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 18 Jan 2023 20:46:33 +0100 Subject: chore(tvix/store): add tonic-mock Upstream seems to be dead, so we're using https://github.com/tyrchen/ tonic-mock/pull/3 here. According to https://github.com/tyrchen/tonic-mock/pull/1#issuecomment- 1241164173, we might not need this crate at all, but for now, it gets the job done and is less code to write in the tests. Change-Id: Ia77fa19b998a5bbabd0311cc714b85a2ee30f36a Reviewed-on: https://cl.tvl.fyi/c/depot/+/7869 Reviewed-by: tazjin Tested-by: BuildkiteCI --- tvix/Cargo.lock | 64 +++++++++++++++ tvix/Cargo.nix | 217 ++++++++++++++++++++++++++++++++++++++++++++++++- tvix/crate-hashes.json | 3 +- tvix/store/Cargo.toml | 1 + 4 files changed, 281 insertions(+), 4 deletions(-) (limited to 'tvix') diff --git a/tvix/Cargo.lock b/tvix/Cargo.lock index 83905549c92d..076d474742e1 100644 --- a/tvix/Cargo.lock +++ b/tvix/Cargo.lock @@ -664,6 +664,21 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +[[package]] +name = "futures" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.25" @@ -671,6 +686,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -679,6 +695,34 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +[[package]] +name = "futures-executor" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" + +[[package]] +name = "futures-macro" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +dependencies = [ + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", +] + [[package]] name = "futures-sink" version = "0.3.25" @@ -697,10 +741,16 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ + "futures-channel", "futures-core", + "futures-io", + "futures-macro", + "futures-sink", "futures-task", + "memchr", "pin-project-lite", "pin-utils", + "slab", ] [[package]] @@ -2160,6 +2210,19 @@ dependencies = [ "syn 1.0.103", ] +[[package]] +name = "tonic-mock" +version = "0.1.0" +source = "git+https://github.com/brainrake/tonic-mock?branch=bump-dependencies#ec1a15510875de99d709d684190db5d9beab175e" +dependencies = [ + "bytes", + "futures", + "http", + "http-body", + "prost", + "tonic", +] + [[package]] name = "tonic-reflection" version = "0.5.0" @@ -2399,6 +2462,7 @@ dependencies = [ "tokio-stream", "tonic", "tonic-build", + "tonic-mock", "tonic-reflection", "tracing", "tracing-subscriber", diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index cb8ad6e56e49..f81af2a05884 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -1919,6 +1919,67 @@ rec { ]; }; + "futures" = rec { + crateName = "futures"; + version = "0.3.25"; + edition = "2018"; + sha256 = "1c0v0lv6fgr95k1nw26n2v9vb40j7k32jg558m8pmhrxfq202f9q"; + dependencies = [ + { + name = "futures-channel"; + packageId = "futures-channel"; + usesDefaultFeatures = false; + features = [ "sink" ]; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-executor"; + packageId = "futures-executor"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "futures-io"; + packageId = "futures-io"; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + usesDefaultFeatures = false; + } + { + name = "futures-task"; + packageId = "futures-task"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "sink" ]; + } + ]; + features = { + "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ]; + "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ]; + "bilock" = [ "futures-util/bilock" ]; + "compat" = [ "std" "futures-util/compat" ]; + "default" = [ "std" "async-await" "executor" ]; + "executor" = [ "std" "futures-executor/std" ]; + "futures-executor" = [ "dep:futures-executor" ]; + "io-compat" = [ "compat" "futures-util/io-compat" ]; + "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ]; + "thread-pool" = [ "executor" "futures-executor/thread-pool" ]; + "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ]; + "write-all-vectored" = [ "futures-util/write-all-vectored" ]; + }; + resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ]; + }; "futures-channel" = rec { crateName = "futures-channel"; version = "0.3.25"; @@ -1930,6 +1991,12 @@ rec { packageId = "futures-core"; usesDefaultFeatures = false; } + { + name = "futures-sink"; + packageId = "futures-sink"; + optional = true; + usesDefaultFeatures = false; + } ]; features = { "alloc" = [ "futures-core/alloc" ]; @@ -1938,7 +2005,7 @@ rec { "sink" = [ "futures-sink" ]; "std" = [ "alloc" "futures-core/std" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ]; }; "futures-core" = rec { crateName = "futures-core"; @@ -1951,6 +2018,69 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "std" ]; }; + "futures-executor" = rec { + crateName = "futures-executor"; + version = "0.3.25"; + edition = "2018"; + sha256 = "1qkll0s12i4ry48yqh08ikl7n8gyz8in2f6zbsmpdh8lczgqbk3s"; + dependencies = [ + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-task"; + packageId = "futures-task"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "std" ]; + "num_cpus" = [ "dep:num_cpus" ]; + "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ]; + "thread-pool" = [ "std" "num_cpus" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "futures-io" = rec { + crateName = "futures-io"; + version = "0.3.25"; + edition = "2018"; + sha256 = "1szl4w206x2inliipf5hvjbrd8w8i0gnglz8akmsvp3bl19gpx80"; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "futures-macro" = rec { + crateName = "futures-macro"; + version = "0.3.25"; + edition = "2018"; + sha256 = "0pc3c5mydmwy50f0whcljcd41f0z1ci0r65dka8r2syqagh8ryxx"; + procMacro = true; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2 1.0.47"; + } + { + name = "quote"; + packageId = "quote 1.0.21"; + } + { + name = "syn"; + packageId = "syn 1.0.103"; + features = [ "full" ]; + } + ]; + + }; "futures-sink" = rec { crateName = "futures-sink"; version = "0.3.25"; @@ -1971,7 +2101,7 @@ rec { "default" = [ "std" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" ]; + resolvedDefaultFeatures = [ "alloc" "std" ]; }; "futures-util" = rec { crateName = "futures-util"; @@ -1979,16 +2109,47 @@ rec { edition = "2018"; sha256 = "1mk5vh8q5bkkvxji8r1nimh87hgi190nz4l4zynrqbxxgac7cxhr"; dependencies = [ + { + name = "futures-channel"; + packageId = "futures-channel"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } { name = "futures-core"; packageId = "futures-core"; usesDefaultFeatures = false; } + { + name = "futures-io"; + packageId = "futures-io"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-macro"; + packageId = "futures-macro"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + optional = true; + usesDefaultFeatures = false; + } { name = "futures-task"; packageId = "futures-task"; usesDefaultFeatures = false; } + { + name = "memchr"; + packageId = "memchr"; + optional = true; + } { name = "pin-project-lite"; packageId = "pin-project-lite"; @@ -1997,6 +2158,11 @@ rec { name = "pin-utils"; packageId = "pin-utils"; } + { + name = "slab"; + packageId = "slab"; + optional = true; + } ]; features = { "alloc" = [ "futures-core/alloc" "futures-task/alloc" ]; @@ -2019,7 +2185,7 @@ rec { "unstable" = [ "futures-core/unstable" "futures-task/unstable" ]; "write-all-vectored" = [ "io" ]; }; - resolvedDefaultFeatures = [ "alloc" ]; + resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "sink" "slab" "std" ]; }; "fxhash" = rec { crateName = "fxhash"; @@ -6261,6 +6427,47 @@ rec { }; resolvedDefaultFeatures = [ "default" "prost" "prost-build" "transport" ]; }; + "tonic-mock" = rec { + crateName = "tonic-mock"; + version = "0.1.0"; + edition = "2018"; + workspace_member = null; + src = pkgs.fetchgit { + url = "https://github.com/brainrake/tonic-mock"; + rev = "ec1a15510875de99d709d684190db5d9beab175e"; + sha256 = "0lwa03hpp0mxa6aa1zv5w68k61y4hccfm0q2ykyq392fwal8vb50"; + }; + authors = [ + "Tyr Chen " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "http"; + packageId = "http"; + } + { + name = "http-body"; + packageId = "http-body"; + } + { + name = "prost"; + packageId = "prost"; + } + { + name = "tonic"; + packageId = "tonic"; + } + ]; + + }; "tonic-reflection" = rec { crateName = "tonic-reflection"; version = "0.5.0"; @@ -7218,6 +7425,10 @@ rec { name = "test-case"; packageId = "test-case"; } + { + name = "tonic-mock"; + packageId = "tonic-mock"; + } ]; features = { "default" = [ "reflection" ]; diff --git a/tvix/crate-hashes.json b/tvix/crate-hashes.json index d312e6bf60f4..5b076333427b 100644 --- a/tvix/crate-hashes.json +++ b/tvix/crate-hashes.json @@ -1,3 +1,4 @@ { - "test-generator 0.3.0 (git+https://github.com/JamesGuthrie/test-generator.git?rev=82e799979980962aec1aa324ec6e0e4cad781f41#82e799979980962aec1aa324ec6e0e4cad781f41)": "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y" + "test-generator 0.3.0 (git+https://github.com/JamesGuthrie/test-generator.git?rev=82e799979980962aec1aa324ec6e0e4cad781f41#82e799979980962aec1aa324ec6e0e4cad781f41)": "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y", + "tonic-mock 0.1.0 (git+https://github.com/brainrake/tonic-mock?branch=bump-dependencies#ec1a15510875de99d709d684190db5d9beab175e)": "0lwa03hpp0mxa6aa1zv5w68k61y4hccfm0q2ykyq392fwal8vb50" } \ No newline at end of file diff --git a/tvix/store/Cargo.toml b/tvix/store/Cargo.toml index 0f1dd50e2b98..b306a11f44c0 100644 --- a/tvix/store/Cargo.toml +++ b/tvix/store/Cargo.toml @@ -32,6 +32,7 @@ tonic-build = "0.8.2" [dev-dependencies] test-case = "2.2.2" tempfile = "3.3.0" +tonic-mock = { git = "https://github.com/brainrake/tonic-mock", branch = "bump-dependencies" } [features] default = [ -- cgit 1.4.1