[INFO] fetching crate etcdrs-test 0.1.2...
[INFO] testing etcdrs-test-0.1.2 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate etcdrs-test 0.1.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate etcdrs-test 0.1.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate etcdrs-test 0.1.2
[INFO] tweaked toml for crates.io crate etcdrs-test 0.1.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate etcdrs-test 0.1.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate etcdrs-test 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e
[INFO] running `Command { std: "docker" "start" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling etcdrs v0.1.2
[INFO] [stderr]    Compiling etcd-bin-vendored-linux-amd64 v3.7.1
[INFO] [stderr]    Compiling etcd-bin-vendored v3.7.1
[INFO] [stderr]    Compiling chacha20 v0.10.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.12
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling pin-project v1.1.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling prost v0.14.3
[INFO] [stderr]    Compiling prost-types v0.14.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.14.6
[INFO] [stderr]    Compiling tonic-prost v0.14.6
[INFO] [stderr]    Compiling etcdrs-test v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `etcdrs`
[INFO] [stderr]  --> Cargo.toml:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | [dependencies.etcdrs]
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `etcdrs`
[INFO] [stderr] warning: `etcdrs-test` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.14.6
[INFO] [stderr]    Compiling tonic-prost v0.14.6
[INFO] [stderr]    Compiling etcdrs v0.1.2
[INFO] [stderr]    Compiling etcdrs-test v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/lease.rs:178:7
[INFO] [stdout]     |
[INFO] [stdout] 178 |   async fn keep_alive_expired_lease(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 179 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 180 | |     let lease = client
[INFO] [stdout] 181 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |     assert_eq!(resp.ttl, None, "expired lease should have no TTL");
[INFO] [stdout] 199 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/lease.rs:136:7
[INFO] [stdout]     |
[INFO] [stdout] 136 |   async fn keep_alive(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 137 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 138 | |     let lease = client
[INFO] [stdout] 139 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 173 | |     panic!("key should have expired after dropping the keeper");
[INFO] [stdout] 174 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/lease.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 |   async fn leases_listing(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 110 | |     let client = Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 111 | |     let a = client
[INFO] [stdout] 112 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     assert!(listed.contains(&b));
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/transaction.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 |   async fn the_empty_key_is_refused_in_a_transaction(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 122 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 123 | |     let ops: [TransactionOp; 3] = [
[INFO] [stdout] 124 | |         Get::new("").into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/transaction.rs:84:7
[INFO] [stdout]     |
[INFO] [stdout]  84 |   async fn ranges_from_the_empty_key_in_a_transaction(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  85 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout]  86 | |     for key in ["\0", "a", "b"] {
[INFO] [stdout]  87 | |         client.put(key).value(key).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |     );
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/lease.rs:91:7
[INFO] [stdout]     |
[INFO] [stdout]  91 |   async fn time_to_live_missing_lease(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  92 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout]  93 | |     let lease_id = LeaseId::new(0x7ead_beef).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |     assert_eq!(response.granted_ttl(), None);
[INFO] [stdout] 102 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/transaction.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |   async fn duplicate_key(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 65 | |     let client = etcdrs::Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 66 | |     let error = client
[INFO] [stdout] 67 | |         .transaction()
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     assert_eq!(error.kind(), TransactionErrorKind::InvalidArgument);
[INFO] [stdout] 77 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/lease.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 |   async fn time_to_live(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 67 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 68 | |     let lease = client
[INFO] [stdout] 69 | |         .grant_lease()
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     assert_eq!(keys, vec![&b"ttl/a"[..], &b"ttl/b"[..]]);
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/transaction.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   async fn big_transaction(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 11 | |     let client = etcdrs::Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 12 | |     let result = client
[INFO] [stdout] 13 | |         .transaction()
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     assert_eq!(record.value(), &b"bar"[..]);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/lease.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |   async fn a_ttl_over_the_maximum_is_too_large(etcd_server: EtcdServer, #[case] ttl: Duration) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 49 | |     let client = Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 50 | |
[INFO] [stdout] 51 | |     let err = client
[INFO] [stdout] ...  |
[INFO] [stdout] 61 | |     );
[INFO] [stdout] 62 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/lease.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   async fn leases(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 11 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 12 | |     let lease = client
[INFO] [stdout] 13 | |         .grant_lease()
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     assert_eq!(revoke_err.kind(), RevokeLeaseErrorKind::NotFound, "{revoke_err:?}");
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/kv.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |   async fn get_put_get(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 14 | |     let client = etcdrs::Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 15 | |     assert!(client.get("foo").await.unwrap().into_record().is_none());
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | |     assert_eq!(fetched.metadata().version, Version::new(1));
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/kv.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |   async fn list_basics(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 26 | |     let metrics = Arc::new(etcdrs::client::RequestCounter::default());
[INFO] [stdout] 27 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 28 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |     assert_eq!(8, metrics.get().succeeded()); // NOTE: `.limit(2)` above takes 2 requests to list 4 records
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/kv.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   async fn list_pagination_consistent_revision(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 66 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 67 | |
[INFO] [stdout] 68 | |     for (key, value) in [("foo/a", "a"), ("foo/b", "b"), ("foo/c", "c"), ("foo/d", "d")] {
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     assert_eq!(values, vec![b"b", b"c", b"d"]);
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:93:7
[INFO] [stdout]     |
[INFO] [stdout]  93 |   async fn list_response_over_4_mib(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  94 | |     let metrics = Arc::new(etcdrs::client::RequestCounter::default());
[INFO] [stdout]  95 | |     let client = etcdrs::Client::builder()
[INFO] [stdout]  96 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |     assert_eq!(client.list_prefix("big/").count_only().await.unwrap().count(), 50);
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |   async fn response_over_max_response_size_is_refused(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 134 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 135 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] 136 | |         .unwrap()
[INFO] [stdout] ...   |
[INFO] [stdout] 150 | |     assert_eq!(small.value(), &b"v"[..]);
[INFO] [stdout] 151 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 |   async fn refused_response_to_a_write_leaves_it_applied(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 158 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 159 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] 160 | |         .unwrap()
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | |     assert_eq!(record.value(), &b"new"[..]);
[INFO] [stdout] 179 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:183:7
[INFO] [stdout]     |
[INFO] [stdout] 183 |   async fn create_delete_get(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 184 | |     let metrics = Arc::new(etcdrs::client::RequestCounter::default());
[INFO] [stdout] 185 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 186 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     assert!(!client.delete("foo").await.unwrap().deleted());
[INFO] [stdout] 200 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 |   async fn delete_prefix(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 205 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 206 | |
[INFO] [stdout] 207 | |     for key in ["foo/a", "foo/b", "foo/c", "bar/a"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |     assert!(client.get("bar/a").await.unwrap().record().is_some());
[INFO] [stdout] 219 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 |   async fn delete_range(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 224 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 225 | |
[INFO] [stdout] 226 | |     for key in ["foo/a", "foo/b", "foo/c", "foo/d"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     assert!(client.get("foo/d").await.unwrap().record().is_some());
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 |   async fn delete_range_get_previous(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 242 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 243 | |
[INFO] [stdout] 244 | |     for key in ["foo/a", "foo/b", "foo/c"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |     assert_eq!(keys, vec![b"foo/a", b"foo/b", b"foo/c"]);
[INFO] [stdout] 253 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:276:7
[INFO] [stdout]     |
[INFO] [stdout] 276 |   async fn upper_bound_below_every_key_addresses_no_keys(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 277 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 278 | |     for key in ["\0", "a", "b"] {
[INFO] [stdout] 279 | |         client.put(key).value(key).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     assert_eq!(client.list(..).count_only().await.unwrap().count(), 3);
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:328:7
[INFO] [stdout]     |
[INFO] [stdout] 328 |   async fn ranges_from_the_empty_key_start_at_the_first_key(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 329 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 330 | |     let keys = ["\0", "a", "b"];
[INFO] [stdout] 331 | |     for key in keys {
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | |     assert_eq!(client.delete_prefix("").await.unwrap().deleted(), keys.len());
[INFO] [stdout] 346 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:352:7
[INFO] [stdout]     |
[INFO] [stdout] 352 |   async fn default_list_addresses_every_key(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 353 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 354 | |     for key in ["\0", "a", "b"] {
[INFO] [stdout] 355 | |         client.put(key).value(key).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |     assert_eq!(counted, 3);
[INFO] [stdout] 375 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:382:7
[INFO] [stdout]     |
[INFO] [stdout] 382 |   async fn the_empty_key_is_refused(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 383 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 384 | |     client.put("a").value("a").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 400 | |     assert_eq!(client.list(..).count_only().await.unwrap().count(), 1);
[INFO] [stdout] 401 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:409:7
[INFO] [stdout]     |
[INFO] [stdout] 409 |   async fn an_oversized_put_is_unclassified(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 410 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 411 | |
[INFO] [stdout] 412 | |     let err = client.put("big").value(vec![0u8; 1_600_000]).await.unwrap_err();
[INFO] [stdout] ...   |
[INFO] [stdout] 418 | |     );
[INFO] [stdout] 419 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:423:7
[INFO] [stdout]     |
[INFO] [stdout] 423 |   async fn get_at_revision(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 424 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 425 | |
[INFO] [stdout] 426 | |     let rev1 = client.put("gar/key").value("v1").await.unwrap().header().revision();
[INFO] [stdout] ...   |
[INFO] [stdout] 449 | |     assert_eq!(err.kind(), etcdrs::GetErrorKind::FutureRevision);
[INFO] [stdout] 450 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:454:7
[INFO] [stdout]     |
[INFO] [stdout] 454 |   async fn compact(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 455 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 489 | |     assert_eq!(err.compact_revision(), Some(last_rev.get()));
[INFO] [stdout] 490 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:494:7
[INFO] [stdout]     |
[INFO] [stdout] 494 |   async fn data_persists_across_restart(mut etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 495 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 496 | |     client.put("foo").value("bar").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |     assert_eq!(record.value(), &b"bar"[..]);
[INFO] [stdout] 503 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:543:7
[INFO] [stdout]     |
[INFO] [stdout] 543 |   async fn watch_add_while_establishing(mut etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 544 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 545 | |     client.put("early/retry").value("1").await.unwrap();
[INFO] [stdout] 546 | |     let rev = revision_of(&client, "early/retry").await;
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |     assert_eq!(record.key(), &b"early/retry"[..]);
[INFO] [stdout] 573 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 |   async fn watch_add_from_another_task_before_first_poll(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 516 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 517 | |
[INFO] [stdout] 518 | |     client.put("early/task").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 536 | |     assert_eq!(record.key(), &b"early/task"[..]);
[INFO] [stdout] 537 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:483:7
[INFO] [stdout]     |
[INFO] [stdout] 483 |   async fn watch_request_progress_before_first_poll(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 484 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 485 | |
[INFO] [stdout] 486 | |     client.put("early/progress").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 508 | |     assert!(revision >= rev);
[INFO] [stdout] 509 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:459:7
[INFO] [stdout]     |
[INFO] [stdout] 459 |   async fn watch_cancel_before_first_poll(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 460 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 461 | |
[INFO] [stdout] 462 | |     let mut watcher = client.watch().key("early/keep").start();
[INFO] [stdout] ...   |
[INFO] [stdout] 476 | |     assert_eq!(record.key(), &b"early/keep"[..]);
[INFO] [stdout] 477 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:438:7
[INFO] [stdout]     |
[INFO] [stdout] 438 |   async fn watch_add_before_first_poll(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 439 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 440 | |
[INFO] [stdout] 441 | |     client.put("early/add").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |     assert_eq!(record.key(), &b"early/add"[..]);
[INFO] [stdout] 453 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:394:7
[INFO] [stdout]     |
[INFO] [stdout] 394 |   async fn watch_refused_beside_live_watch(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 395 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 396 | |
[INFO] [stdout] 397 | |     client.put("wr/live").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 431 | |     assert_eq!(record.value(), &b"2"[..]);
[INFO] [stdout] 432 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:373:7
[INFO] [stdout]     |
[INFO] [stdout] 373 |   async fn watch_refused_alone(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 374 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 375 | |
[INFO] [stdout] 376 | |     let mut watcher = client.watch().add(refused).start();
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |     assert_eq!(error.cancel_reason(), Some(reason));
[INFO] [stdout] 383 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:320:7
[INFO] [stdout]     |
[INFO] [stdout] 320 |   async fn watch_fragmented_response(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 321 | |     // A window this small keeps etcd from sending the last fragment before the first is read.
[INFO] [stdout] 322 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 323 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:282:7
[INFO] [stdout]     |
[INFO] [stdout] 282 |   async fn watch_request_progress_after_compaction(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 283 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 284 | |
[INFO] [stdout] 285 | |     let old = client.put("wpc/old").value("1").await.unwrap().header().revision();
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |     assert_eq!(error.watch_id(), Some(live_id));
[INFO] [stdout] 313 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 |   async fn watch_request_progress(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 249 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     assert!(revision >= rev);
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 |   async fn watch_cancel(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 218 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 219 | |
[INFO] [stdout] 220 | |     client.put("wc/keep").value("init").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |     assert_eq!(record.value(), &b"still alive"[..]);
[INFO] [stdout] 244 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:192:7
[INFO] [stdout]     |
[INFO] [stdout] 192 |   async fn watch_add_dynamic(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 193 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 194 | |
[INFO] [stdout] 195 | |     client.put("wd/initial").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | |     assert_eq!(*watch_id, dynamic_id);
[INFO] [stdout] 213 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:151:7
[INFO] [stdout]     |
[INFO] [stdout] 151 |   async fn watch_multiple_targets(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 152 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 153 | |
[INFO] [stdout] 154 | |     client.put("wm/a").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | |     assert_ne!(w0, w1);
[INFO] [stdout] 188 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |   async fn watch_start_revision(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 135 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 136 | |
[INFO] [stdout] 137 | |     client.put("watch-rev").value("before").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |     assert_eq!(record.value(), &b"before"[..]);
[INFO] [stdout] 147 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 |   async fn watch_get_previous(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 103 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 104 | |
[INFO] [stdout] 105 | |     client.put("watch-prev").value("v1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |     assert_eq!(prev1.as_ref().expect("expected prev_record").value(), &b"v1"[..]);
[INFO] [stdout] 130 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/watch.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 |   async fn watch_prefix(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 79 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 80 | |
[INFO] [stdout] 81 | |     client.put("wp/a").value("1").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |     assert_eq!(keys, vec![b"wp/a" as &[u8], b"wp/b", b"wp/c"]);
[INFO] [stdout] 98 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/watch.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 |   async fn watch_delete(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 59 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 60 | |
[INFO] [stdout] 61 | |     client.put("watch-del").value("val").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |     assert_eq!(key.key(), &b"watch-del"[..]);
[INFO] [stdout] 74 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/watch.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |   async fn watch_put(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 41 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 42 | |
[INFO] [stdout] 43 | |     client.put("watch-put").value("hello").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     assert_eq!(record.value(), &b"hello"[..]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `etcdrs_test::etcd_cluster`, `etcdrs_test::etcd_server`
[INFO] [stdout]  --> tests/transaction.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^  ^^^^^^^^^^^ no `etcd_server` in the root
[INFO] [stdout]   |                                            |
[INFO] [stdout]   |                                            no `etcd_cluster` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 5 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 5 + use etcdrs_test::{EtcdCluster, EtcdServer, EtcdCluster, etcd_server};
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 5 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 5 + use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, EtcdServer};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `etcdrs_test::etcd_server`
[INFO] [stdout]  --> tests/watch.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use etcdrs_test::{EtcdServer, etcd_server};
[INFO] [stdout]   |                               ^^^^^^^^^^^ no `etcd_server` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 5 - use etcdrs_test::{EtcdServer, etcd_server};
[INFO] [stdout] 5 + use etcdrs_test::{EtcdServer, EtcdServer};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/watch.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 7 - use rstest::rstest;
[INFO] [stdout] 7 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:388:3
[INFO] [stdout]     |
[INFO] [stdout] 388 | #[case::inverted_range(Watch::new("b".."a"), "mvcc: watcher range is empty")]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:389:3
[INFO] [stdout]     |
[INFO] [stdout] 389 | #[case::negative_start_revision(
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:367:3
[INFO] [stdout]     |
[INFO] [stdout] 367 | #[case::inverted_range(Watch::new("b".."a"), "mvcc: watcher range is empty")]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:368:3
[INFO] [stdout]     |
[INFO] [stdout] 368 | #[case::negative_start_revision(
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 6 - use rstest::rstest;
[INFO] [stdout] 6 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `etcdrs_test::etcd_cluster`, `etcdrs_test::etcd_server`
[INFO] [stdout]  --> tests/lease.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^  ^^^^^^^^^^^ no `etcd_server` in the root
[INFO] [stdout]   |                                            |
[INFO] [stdout]   |                                            no `etcd_cluster` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 4 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 4 + use etcdrs_test::{EtcdCluster, EtcdServer, EtcdCluster, etcd_server};
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 4 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 4 + use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, EtcdServer};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `etcdrs_test::etcd_cluster`, `etcdrs_test::etcd_server`
[INFO] [stdout]  --> tests/kv.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^  ^^^^^^^^^^^ no `etcd_server` in the root
[INFO] [stdout]   |                                            |
[INFO] [stdout]   |                                            no `etcd_cluster` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 7 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 7 + use etcdrs_test::{EtcdCluster, EtcdServer, EtcdCluster, etcd_server};
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 7 - use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, etcd_server};
[INFO] [stdout] 7 + use etcdrs_test::{EtcdCluster, EtcdServer, etcd_cluster, EtcdServer};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/kv.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 9 - use rstest::rstest;
[INFO] [stdout] 9 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/runtime.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 4 - use rstest::rstest;
[INFO] [stdout] 4 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]  --> tests/runtime.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[case::one_endpoint("http://127.0.0.1:2379")]
[INFO] [stdout]   |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]  --> tests/runtime.rs:9:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[case::several_endpoints("http://127.0.0.1:2379,http://127.0.0.1:2380")]
[INFO] [stdout]   |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:394:69
[INFO] [stdout]     |
[INFO] [stdout] 394 | async fn watch_refused_beside_live_watch(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/lease.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 6 - use rstest::rstest;
[INFO] [stdout] 6 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]   --> tests/lease.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[case::one_past_max_lease_ttl(Duration::from_secs(9_000_000_001))]
[INFO] [stdout]    |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]   --> tests/lease.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[case::duration_max(Duration::MAX)]
[INFO] [stdout]    |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |   async fn auth_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 115 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |     authed.auth_disable().await.unwrap();
[INFO] [stdout] 168 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:175:7
[INFO] [stdout]     |
[INFO] [stdout] 175 |   async fn response_limit_below_the_authenticate_response(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 176 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 177 | |     let token = root.authenticate().await.unwrap().into_token();
[INFO] [stdout] ...   |
[INFO] [stdout] 210 | |     );
[INFO] [stdout] 211 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 |   async fn auth_enable_requires_root(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 216 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 220 | |     assert_eq!(err.kind(), etcdrs::AuthErrorKind::RootUserRequired);
[INFO] [stdout] 221 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:394:93
[INFO] [stdout]     |
[INFO] [stdout] 394 | async fn watch_refused_beside_live_watch(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |                                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:373:57
[INFO] [stdout]     |
[INFO] [stdout] 373 | async fn watch_refused_alone(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 |   async fn auth_enable_requires_root_role(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 228 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 229 | |     client.user_add("root").password("rootpw").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 237 | |     );
[INFO] [stdout] 238 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:242:7
[INFO] [stdout]     |
[INFO] [stdout] 242 |   async fn auth_status_reports_enabled(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 243 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 244 | |
[INFO] [stdout] 245 | |     let status = client.auth_status().await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 256 | |     authed.auth_disable().await.unwrap();
[INFO] [stdout] 257 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/watch.rs:373:81
[INFO] [stdout]     |
[INFO] [stdout] 373 | async fn watch_refused_alone(etcd_server: EtcdServer, #[case] refused: Watch, #[case] reason: &str) {
[INFO] [stdout]     |                                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]   --> tests/lease.rs:48:73
[INFO] [stdout]    |
[INFO] [stdout] 48 | async fn a_ttl_over_the_maximum_is_too_large(etcd_server: EtcdServer, #[case] ttl: Duration) {
[INFO] [stdout]    |                                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:261:7
[INFO] [stdout]     |
[INFO] [stdout] 261 |   async fn user_management_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 262 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 263 | |
[INFO] [stdout] 264 | |     client.user_add("alice").password("pw").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | |     client.user_change_password("alice", "newpw").await.unwrap();
[INFO] [stdout] 287 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Revision`
[INFO] [stdout]  --> tests/watch.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use etcdrs::{Revision, WatchError, WatchErrorKind, WatchId};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:291:7
[INFO] [stdout]     |
[INFO] [stdout] 291 |   async fn change_password_takes_effect(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 292 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 293 | |     client.user_add("carol").password("old").await.unwrap();
[INFO] [stdout] 294 | |     enable_auth_with_root(&client).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 309 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:313:7
[INFO] [stdout]     |
[INFO] [stdout] 313 |   async fn role_permission_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 314 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 315 | |
[INFO] [stdout] 316 | |     client.role_add("app").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 339 | |     assert_eq!(err.kind(), etcdrs::RoleErrorKind::RoleNotFound);
[INFO] [stdout] 340 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:344:7
[INFO] [stdout]     |
[INFO] [stdout] 344 |   async fn permissions_enforced_end_to_end(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 345 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 346 | |
[INFO] [stdout] 347 | |     let eve = client_with_credentials(&etcd_server, "eve", "evepw");
[INFO] [stdout] ...   |
[INFO] [stdout] 357 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 358 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:368:7
[INFO] [stdout]     |
[INFO] [stdout] 368 |   async fn member_promote_tells_a_voter_from_a_lagging_learner(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 369 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 370 | |
[INFO] [stdout] 371 | |     let voter = client.member_list().await.unwrap().members()[0].id();
[INFO] [stdout] ...   |
[INFO] [stdout] 392 | |     assert_eq!(err.kind(), ClusterErrorKind::LearnerNotReady, "{err:?}");
[INFO] [stdout] 393 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/retry.rs:154:7
[INFO] [stdout]     |
[INFO] [stdout] 154 |   async fn a_deadline_grpc_cannot_send_retries_like_forever(#[case] deadline: Duration) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 155 | |     let (client, metrics) = unreachable_client(deadline);
[INFO] [stdout] 156 | |     let call = tokio::spawn(async move { client.get("retry-far-deadline").await });
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |     call.abort();
[INFO] [stdout] 161 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:364:7
[INFO] [stdout]     |
[INFO] [stdout] 364 |   async fn inclusive_permission_ends_at_its_key(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 365 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 366 | |     root.role_grant_permission("reader", Permission::read("a"..="a"))
[INFO] [stdout] 367 | |         .await
[INFO] [stdout] ...   |
[INFO] [stdout] 379 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 380 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:340:7
[INFO] [stdout]     |
[INFO] [stdout] 340 |   async fn member_add_without_enough_started_members_is_unhealthy(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 341 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 342 | |
[INFO] [stdout] 343 | |     let first = etcd_cluster.new_joining_peer();
[INFO] [stdout] ...   |
[INFO] [stdout] 359 | |     );
[INFO] [stdout] 360 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:314:7
[INFO] [stdout]     |
[INFO] [stdout] 314 |   async fn member_add_with_a_bad_peer_url_is_unclassified(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 315 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 316 | |
[INFO] [stdout] 317 | |     let err = client
[INFO] [stdout] ...   |
[INFO] [stdout] 326 | |     );
[INFO] [stdout] 327 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 |   async fn member_add_past_max_learners_is_unclassified(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 282 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 283 | |
[INFO] [stdout] 284 | |     let first = etcd_cluster.new_joining_peer();
[INFO] [stdout] ...   |
[INFO] [stdout] 302 | |     );
[INFO] [stdout] 303 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:387:7
[INFO] [stdout]     |
[INFO] [stdout] 387 |   async fn ranges_over_no_keys_under_auth(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 388 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 389 | |
[INFO] [stdout] 390 | |     let eve = client_with_credentials(&etcd_server, "eve", "evepw");
[INFO] [stdout] ...   |
[INFO] [stdout] 400 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 401 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:407:7
[INFO] [stdout]     |
[INFO] [stdout] 407 |   async fn empty_prefix_permission_covers_every_key(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 408 | |     assert_eq!(Permission::read(Prefix("")), Permission::read(..));
[INFO] [stdout] 409 | |     assert_eq!(Permission::read(Prefix("")).target_range(), TargetRange::All);
[INFO] [stdout] ...   |
[INFO] [stdout] 431 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 432 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:250:7
[INFO] [stdout]     |
[INFO] [stdout] 250 |   async fn member_add_of_a_known_peer_url_already_exists(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 251 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 252 | |     let peer_url = etcd_cluster.new_joining_peer().peer_url();
[INFO] [stdout] ...   |
[INFO] [stdout] 270 | |     assert_eq!(err.kind(), ClusterErrorKind::MemberAlreadyExists, "{err:?}");
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:439:7
[INFO] [stdout]     |
[INFO] [stdout] 439 |   async fn invalid_permission_range_is_refused_without_auth(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 440 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 441 | |     client.role_add("root").await.unwrap();
[INFO] [stdout] 442 | |     client.role_add("r").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 461 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 |   async fn update_member_peer_urls(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 216 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 217 | |     let initial = client.member_list().await.unwrap();
[INFO] [stdout] 218 | |     let target = initial.members().first().expect("cluster should have members");
[INFO] [stdout] ...   |
[INFO] [stdout] 234 | |     assert_eq!(updated_member.peer_urls(), new_urls.as_slice());
[INFO] [stdout] 235 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:470:7
[INFO] [stdout]     |
[INFO] [stdout] 470 |   async fn denied_permission_is_not_retried(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 471 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 472 | |
[INFO] [stdout] 473 | |     let metrics = Arc::new(RequestCounter::default());
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 501 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:507:7
[INFO] [stdout]     |
[INFO] [stdout] 507 |   async fn denied_permission_terminates_under_retry_forever(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 508 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 509 | |
[INFO] [stdout] 510 | |     let eve = etcdrs::Client::builder()
[INFO] [stdout] ...   |
[INFO] [stdout] 525 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 526 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:530:7
[INFO] [stdout]     |
[INFO] [stdout] 530 |   async fn delete_root_user_rejected(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 531 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 532 | |     enable_auth_with_root(&client).await;
[INFO] [stdout] 533 | |     let root = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] ...   |
[INFO] [stdout] 539 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 540 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:544:7
[INFO] [stdout]     |
[INFO] [stdout] 544 |   async fn user_already_exists(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 545 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 546 | |
[INFO] [stdout] 547 | |     client.user_add("alice").password("pw").await.unwrap();
[INFO] [stdout] 548 | |     let err = client.user_add("alice").password("pw").await.unwrap_err();
[INFO] [stdout] 549 | |     assert_eq!(err.kind(), etcdrs::UserErrorKind::UserAlreadyExists);
[INFO] [stdout] 550 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:554:7
[INFO] [stdout]     |
[INFO] [stdout] 554 |   async fn role_already_exists(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 555 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 556 | |
[INFO] [stdout] 557 | |     client.role_add("myrole").await.unwrap();
[INFO] [stdout] 558 | |     let err = client.role_add("myrole").await.unwrap_err();
[INFO] [stdout] 559 | |     assert_eq!(err.kind(), etcdrs::RoleErrorKind::RoleAlreadyExists);
[INFO] [stdout] 560 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:567:7
[INFO] [stdout]     |
[INFO] [stdout] 567 |   async fn empty_names_are_refused(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 568 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 569 | |
[INFO] [stdout] 570 | |     let err = client.role_add("").await.unwrap_err();
[INFO] [stdout] ...   |
[INFO] [stdout] 584 | |     );
[INFO] [stdout] 585 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |   async fn add_and_promote_learner(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 134 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 |   async fn member_remove_unknown_id_is_not_found(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 122 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 123 | |     let bogus = MemberId::new(0xdead_beef_dead_beef).unwrap();
[INFO] [stdout] 124 | |     let err = client
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |     assert_eq!(err.kind(), ClusterErrorKind::MemberNotFound, "{err:?}");
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/cluster.rs:41:7
[INFO] [stdout]     |
[INFO] [stdout]  41 |   async fn remove_member(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  42 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     );
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/cluster.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 |   async fn linearizable_member_list(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 30 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 31 | |     let resp = client
[INFO] [stdout] 32 | |         .member_list()
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     assert_eq!(resp.members().len(), 3);
[INFO] [stdout] 37 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/cluster.rs:9:7
[INFO] [stdout]    |
[INFO] [stdout]  9 |   async fn lists_members(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 10 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 11 | |     let resp = client.member_list().await.expect("member_list should succeed");
[INFO] [stdout] 12 | |     assert_eq!(resp.members().len(), 3, "expected 3 members, got {:?}", resp.members());
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:593:7
[INFO] [stdout]     |
[INFO] [stdout] 593 |   async fn watch_under_auth(etcd_server: EtcdServer, #[case] auth: RootAuth) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 594 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 595 | |     let revision = root.put("w").value("1").await.unwrap().header().revision();
[INFO] [stdout] 596 | |     let client = root_client(&etcd_server, &root, auth).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 604 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:610:7
[INFO] [stdout]     |
[INFO] [stdout] 610 |   async fn keep_alive_under_auth(etcd_server: EtcdServer, #[case] auth: RootAuth) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 611 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 612 | |     let lease = root.grant_lease().ttl(Duration::from_secs(60)).await.unwrap().lease_id;
[INFO] [stdout] 613 | |     let client = root_client(&etcd_server, &root, auth).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 622 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 623 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:630:7
[INFO] [stdout]     |
[INFO] [stdout] 630 |   async fn watch_opened_with_a_revoked_token(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 631 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 632 | |     let client = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 643 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:648:7
[INFO] [stdout]     |
[INFO] [stdout] 648 |   async fn watch_added_after_its_token_was_revoked(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 649 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 650 | |     let client = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] 651 | |     let revision = client.put("w").value("1").await.unwrap().header().revision();
[INFO] [stdout] ...   |
[INFO] [stdout] 668 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 669 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:675:7
[INFO] [stdout]     |
[INFO] [stdout] 675 |   async fn revoked_token_refuses_watches_beside_a_live_one(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 676 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 677 | |     let client = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] 678 | |     let live_revision = client.put("live").value("1").await.unwrap().header().revision();
[INFO] [stdout] ...   |
[INFO] [stdout] 705 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 706 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:712:7
[INFO] [stdout]     |
[INFO] [stdout] 712 |   async fn keep_alive_opened_with_a_revoked_token(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 713 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 714 | |     let client = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 730 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:736:7
[INFO] [stdout]     |
[INFO] [stdout] 736 |   async fn keep_alive_outlives_its_token(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 737 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 738 | |     let client = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] 739 | |     let first = client
[INFO] [stdout] ...   |
[INFO] [stdout] 765 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 766 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:772:7
[INFO] [stdout]     |
[INFO] [stdout] 772 |   async fn revoked_pre_obtained_token_fails_streams(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 773 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 774 | |     let revision = root.put("w").value("1").await.unwrap().header().revision();
[INFO] [stdout] 775 | |     let lease = root.grant_lease().ttl(Duration::from_secs(60)).await.unwrap().lease_id;
[INFO] [stdout] ...   |
[INFO] [stdout] 795 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 796 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:802:7
[INFO] [stdout]     |
[INFO] [stdout] 802 |   async fn wrong_credentials_fail_streams(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 803 | |     let root = enable_auth(&etcd_server).await;
[INFO] [stdout] 804 | |     let lease = root.grant_lease().ttl(Duration::from_secs(60)).await.unwrap().lease_id;
[INFO] [stdout] 805 | |     let client = client_with_credentials(&etcd_server, "root", "wrong");
[INFO] [stdout] ...   |
[INFO] [stdout] 821 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 822 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:828:7
[INFO] [stdout]     |
[INFO] [stdout] 828 |   async fn credentials_without_auth_enabled(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 829 | |     let plain = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 830 | |     let revision = plain.put("w").value("1").await.unwrap().header().revision();
[INFO] [stdout] 831 | |     let lease = plain.grant_lease().ttl(Duration::from_secs(60)).await.unwrap().lease_id;
[INFO] [stdout] ...   |
[INFO] [stdout] 840 | |     assert_eq!(next_keep_alive(&mut keeper).await.unwrap().lease_id, lease);
[INFO] [stdout] 841 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:847:7
[INFO] [stdout]     |
[INFO] [stdout] 847 |   async fn watch_refused_without_permission_alone(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 848 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 849 | |     let eve = client_with_credentials(&etcd_server, "eve", "evepw");
[INFO] [stdout] ...   |
[INFO] [stdout] 862 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 863 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:867:7
[INFO] [stdout]     |
[INFO] [stdout] 867 |   async fn watch_refused_without_permission_beside_live_watch(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 868 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 869 | |     let revision = root
[INFO] [stdout] 870 | |         .get("pub/x")
[INFO] [stdout] ...   |
[INFO] [stdout] 897 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 898 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]   --> tests/retry.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use rstest::rstest;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 23 - use rstest::rstest;
[INFO] [stdout] 23 + use test::rstest;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/retry.rs:151:3
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[case::duration_max(Duration::MAX)]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/retry.rs:152:3
[INFO] [stdout]     |
[INFO] [stdout] 152 | #[case::past_the_grpc_maximum(Duration::from_secs(100_000_001 * 60 * 60))]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "transaction") due to 6 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]   --> tests/runtime.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn new_outside_a_runtime_panics(#[case] connect_string: &str) {
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `etcdrs_test::etcd_cluster`
[INFO] [stdout]  --> tests/cluster.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use etcdrs_test::{EtcdCluster, etcd_cluster};
[INFO] [stdout]   |                                ^^^^^^^^^^^^ no `etcd_cluster` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 4 - use etcdrs_test::{EtcdCluster, etcd_cluster};
[INFO] [stdout] 4 + use etcdrs_test::{EtcdCluster, EtcdCluster};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/cluster.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rstest::rstest;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 5 - use rstest::rstest;
[INFO] [stdout] 5 + use test::rstest;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `with` in this scope
[INFO] [stdout]    --> tests/cluster.rs:368:64
[INFO] [stdout]     |
[INFO] [stdout] 368 | async fn member_promote_tells_a_voter_from_a_lagging_learner(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/retry.rs:154:61
[INFO] [stdout]     |
[INFO] [stdout] 154 | async fn a_deadline_grpc_cannot_send_retries_like_forever(#[case] deadline: Duration) {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `with` in this scope
[INFO] [stdout]    --> tests/cluster.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 | async fn member_add_without_enough_started_members_is_unhealthy(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `etcdrs_test::etcd_server`
[INFO] [stdout]  --> tests/auth.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use etcdrs_test::{EtcdServer, etcd_server};
[INFO] [stdout]   |                               ^^^^^^^^^^^ no `etcd_server` in the root
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> src/lib.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(feature = "rstest")]
[INFO] [stdout]   |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 7 | pub use server::fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 8 - use etcdrs_test::{EtcdServer, etcd_server};
[INFO] [stdout] 8 + use etcdrs_test::{EtcdServer, EtcdServer};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]   --> tests/auth.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rstest::rstest;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `rstest`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 10 - use rstest::rstest;
[INFO] [stdout] 10 + use test::rstest;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "runtime") due to 4 previous errors
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:590:3
[INFO] [stdout]     |
[INFO] [stdout] 590 | #[case::credentials(RootAuth::Credentials)]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:591:3
[INFO] [stdout]     |
[INFO] [stdout] 591 | #[case::token(RootAuth::Token)]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:607:3
[INFO] [stdout]     |
[INFO] [stdout] 607 | #[case::credentials(RootAuth::Credentials)]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:608:3
[INFO] [stdout]     |
[INFO] [stdout] 608 | #[case::token(RootAuth::Token)]
[INFO] [stdout]     |   ^^^^ use of unresolved module or unlinked crate `case`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `with` in this scope
[INFO] [stdout]    --> tests/cluster.rs:314:59
[INFO] [stdout]     |
[INFO] [stdout] 314 | async fn member_add_with_a_bad_peer_url_is_unclassified(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:593:54
[INFO] [stdout]     |
[INFO] [stdout] 593 | async fn watch_under_auth(etcd_server: EtcdServer, #[case] auth: RootAuth) {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `with` in this scope
[INFO] [stdout]    --> tests/cluster.rs:281:57
[INFO] [stdout]     |
[INFO] [stdout] 281 | async fn member_add_past_max_learners_is_unclassified(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `case` in this scope
[INFO] [stdout]    --> tests/auth.rs:610:59
[INFO] [stdout]     |
[INFO] [stdout] 610 | async fn keep_alive_under_auth(etcd_server: EtcdServer, #[case] auth: RootAuth) {
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `with` in this scope
[INFO] [stdout]    --> tests/cluster.rs:250:58
[INFO] [stdout]     |
[INFO] [stdout] 250 | async fn member_add_of_a_known_peer_url_already_exists(#[with(1)] etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "kv") due to 20 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "watch") due to 28 previous errors; 1 warning emitted
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "lease") due to 12 previous errors
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "retry") due to 5 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "cluster") due to 18 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "auth") due to 39 previous errors
[INFO] [stderr] warning: unused dependency `etcdrs`
[INFO] [stderr]  --> Cargo.toml:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | [dependencies.etcdrs]
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `etcdrs`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `etcdrs-test` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e", kill_on_drop: false }`
[INFO] [stdout] b52222ce792119934333e0ce083c17c5027301b63743ef2d1e401288887d471e
