[INFO] fetching crate etcdrs-test 0.1.1...
[INFO] checking etcdrs-test-0.1.1 against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] extracting crate etcdrs-test 0.1.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate etcdrs-test 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate etcdrs-test 0.1.1
[INFO] tweaked toml for crates.io crate etcdrs-test 0.1.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate etcdrs-test 0.1.1 on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate etcdrs-test 0.1.1 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rstest_macros v0.26.1
[INFO] [stderr]   Downloaded rstest v0.26.1
[INFO] [stderr]   Downloaded pin-project-internal v1.1.12
[INFO] [stderr]   Downloaded relative-path v1.9.3
[INFO] [stderr]   Downloaded pin-project v1.1.12
[INFO] [stderr]   Downloaded etcd-bin-vendored v3.7.1
[INFO] [stderr]   Downloaded etcdrs v0.1.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-linux-arm64 v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-linux-ppc64le v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-darwin-arm64 v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-linux-s390x v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-linux-amd64 v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-windows-amd64 v3.7.1
[INFO] [stderr]   Downloaded etcd-bin-vendored-darwin-amd64 v3.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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] c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae
[INFO] running `Command { std: "docker" "start" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae", 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" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae", 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=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling etcdrs v0.1.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking etcd-bin-vendored-linux-amd64 v3.7.1
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking etcd-bin-vendored v3.7.1
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[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]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking pin-project v1.1.12
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking prost v0.14.3
[INFO] [stderr]     Checking prost-types v0.14.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking tonic-prost v0.14.6
[INFO] [stderr]     Checking etcdrs-test v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 |   async fn data_persists_across_restart(mut etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 228 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 229 | |     client.put("foo").value("bar").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |     assert_eq!(record.value(), &b"bar"[..]);
[INFO] [stdout] 236 | | }
[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/auth.rs:313:7
[INFO] [stdout]     |
[INFO] [stdout] 313 |   async fn role_already_exists(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("myrole").await.unwrap();
[INFO] [stdout] 317 | |     let err = client.role_add("myrole").await.unwrap_err();
[INFO] [stdout] 318 | |     assert_eq!(err.kind(), etcdrs::RoleErrorKind::RoleAlreadyExists);
[INFO] [stdout] 319 | | }
[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/kv.rs:187:7
[INFO] [stdout]     |
[INFO] [stdout] 187 |   async fn compact(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 188 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |     assert_eq!(err.compact_revision(), Some(last_rev.get()));
[INFO] [stdout] 223 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:303:7
[INFO] [stdout]     |
[INFO] [stdout] 303 |   async fn user_already_exists(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 304 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 305 | |
[INFO] [stdout] 306 | |     client.user_add("alice").password("pw").await.unwrap();
[INFO] [stdout] 307 | |     let err = client.user_add("alice").password("pw").await.unwrap_err();
[INFO] [stdout] 308 | |     assert_eq!(err.kind(), etcdrs::UserErrorKind::UserAlreadyExists);
[INFO] [stdout] 309 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:244:7
[INFO] [stdout]     |
[INFO] [stdout] 244 |   async fn watch_request_progress(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 245 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 269 | |     assert!(revision >= rev);
[INFO] [stdout] 270 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 |   async fn get_at_revision(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 157 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 158 | |
[INFO] [stdout] 159 | |     let rev1 = client.put("gar/key").value("v1").await.unwrap().header().revision();
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |     assert_eq!(err.kind(), etcdrs::GetErrorKind::FutureRevision);
[INFO] [stdout] 183 | | }
[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/auth.rs:289:7
[INFO] [stdout]     |
[INFO] [stdout] 289 |   async fn delete_root_user_rejected(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 290 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 291 | |     enable_auth_with_root(&client).await;
[INFO] [stdout] 292 | |     let root = client_with_credentials(&etcd_server, "root", "rootpw");
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 299 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/kv.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 |   async fn delete_range_get_previous(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 141 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 142 | |
[INFO] [stdout] 143 | |     for key in ["foo/a", "foo/b", "foo/c"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     assert_eq!(keys, vec![b"foo/a", b"foo/b", b"foo/c"]);
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:266:7
[INFO] [stdout]     |
[INFO] [stdout] 266 |   async fn denied_permission_terminates_under_retry_forever(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 267 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 268 | |
[INFO] [stdout] 269 | |     let eve = etcdrs::Client::builder()
[INFO] [stdout] ...   |
[INFO] [stdout] 284 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 285 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:213:7
[INFO] [stdout]     |
[INFO] [stdout] 213 |   async fn watch_cancel(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 214 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 215 | |
[INFO] [stdout] 216 | |     client.put("wc/keep").value("init").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 239 | |     assert_eq!(record.value(), &b"still alive"[..]);
[INFO] [stdout] 240 | | }
[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/kv.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 122 |   async fn delete_range(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 123 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 124 | |
[INFO] [stdout] 125 | |     for key in ["foo/a", "foo/b", "foo/c", "foo/d"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 135 | |     assert!(client.get("foo/d").await.unwrap().record().is_some());
[INFO] [stdout] 136 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:229:7
[INFO] [stdout]     |
[INFO] [stdout] 229 |   async fn denied_permission_is_not_retried(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 230 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 231 | |
[INFO] [stdout] 232 | |     let metrics = Arc::new(RequestCounter::default());
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 260 | | }
[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/kv.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 |   async fn delete_prefix(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 104 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 105 | |
[INFO] [stdout] 106 | |     for key in ["foo/a", "foo/b", "foo/c", "bar/a"] {
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     assert!(client.get("bar/a").await.unwrap().record().is_some());
[INFO] [stdout] 118 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:188:7
[INFO] [stdout]     |
[INFO] [stdout] 188 |   async fn watch_add_dynamic(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 189 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 190 | |
[INFO] [stdout] 191 | |     client.put("wd/initial").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 208 | |     assert_eq!(*watch_id, dynamic_id);
[INFO] [stdout] 209 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 |   async fn permissions_enforced_end_to_end(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 207 | |     let root = enable_auth_with_reader(&etcd_server).await;
[INFO] [stdout] 208 | |
[INFO] [stdout] 209 | |     let eve = client_with_credentials(&etcd_server, "eve", "evepw");
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 220 | | }
[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/watch.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 |   async fn watch_multiple_targets(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 148 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 149 | |
[INFO] [stdout] 150 | |     client.put("wm/a").value("1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | |     assert_ne!(w0, w1);
[INFO] [stdout] 184 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/kv.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 |   async fn create_delete_get(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 83 | |     let metrics = Arc::new(etcdrs::client::RequestCounter::default());
[INFO] [stdout] 84 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 85 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...  |
[INFO] [stdout] 98 | |     assert!(!client.delete("foo").await.unwrap().deleted());
[INFO] [stdout] 99 | | }
[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 role_permission_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 176 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 177 | |
[INFO] [stdout] 178 | |     client.role_add("app").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |     assert_eq!(err.kind(), etcdrs::RoleErrorKind::RoleNotFound);
[INFO] [stdout] 202 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/kv.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 |   async fn list_pagination_consistent_revision(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 57 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 58 | |
[INFO] [stdout] 59 | |     for (key, value) in [("foo/a", "a"), ("foo/b", "b"), ("foo/c", "c"), ("foo/d", "d")] {
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     assert_eq!(values, vec![b"b", b"c", b"d"]);
[INFO] [stdout] 78 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |   async fn watch_start_revision(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 131 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 132 | |
[INFO] [stdout] 133 | |     client.put("watch-rev").value("before").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |     assert_eq!(record.value(), &b"before"[..]);
[INFO] [stdout] 143 | | }
[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/kv.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |   async fn list_basics(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 23 | |     let metrics = Arc::new(etcdrs::client::RequestCounter::default());
[INFO] [stdout] 24 | |     let client = etcdrs::Client::builder()
[INFO] [stdout] 25 | |         .add_connection(etcd_server.connect_string())
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |     assert_eq!(7, metrics.get().succeeded()); // NOTE: `.limit(2)` above takes 2 requests to list 4 records
[INFO] [stdout] 52 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 |   async fn change_password_takes_effect(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 154 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 155 | |     client.user_add("carol").password("old").await.unwrap();
[INFO] [stdout] 156 | |     enable_auth_with_root(&client).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |     root.auth_disable().await.unwrap();
[INFO] [stdout] 171 | | }
[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/kv.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   async fn get_put_get(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 11 | |     let client = etcdrs::Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 12 | |     assert!(client.get("foo").await.unwrap().into_record().is_none());
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     assert_eq!(fetched.metadata().version, Version::new(1));
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/watch.rs:98:7
[INFO] [stdout]     |
[INFO] [stdout]  98 |   async fn watch_get_previous(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  99 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 100 | |
[INFO] [stdout] 101 | |     client.put("watch-prev").value("v1").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |     assert_eq!(prev1.as_ref().expect("expected prev_record").value(), &b"v1"[..]);
[INFO] [stdout] 126 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:123:7
[INFO] [stdout]     |
[INFO] [stdout] 123 |   async fn user_management_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 124 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 125 | |
[INFO] [stdout] 126 | |     client.user_add("alice").password("pw").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |     client.user_change_password("alice", "newpw").await.unwrap();
[INFO] [stdout] 149 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/watch.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 |   async fn watch_prefix(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 75 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 76 | |
[INFO] [stdout] 77 | |     client.put("wp/a").value("1").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | |     assert_eq!(keys, vec![b"wp/a" as &[u8], b"wp/b", b"wp/c"]);
[INFO] [stdout] 94 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/watch.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 |   async fn watch_delete(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 55 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 56 | |
[INFO] [stdout] 57 | |     client.put("watch-del").value("val").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |     assert_eq!(key.key(), &b"watch-del"[..]);
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/lease.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 |   async fn keep_alive_expired_lease(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 157 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 158 | |     let lease = client
[INFO] [stdout] 159 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |     assert_eq!(resp.ttl, None, "expired lease should have no TTL");
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:104:7
[INFO] [stdout]     |
[INFO] [stdout] 104 |   async fn auth_status_reports_enabled(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 105 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 106 | |
[INFO] [stdout] 107 | |     let status = client.auth_status().await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     authed.auth_disable().await.unwrap();
[INFO] [stdout] 119 | | }
[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/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/watch.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 |   async fn watch_put(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 37 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] 38 | |
[INFO] [stdout] 39 | |     client.put("watch-put").value("hello").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     assert_eq!(record.value(), &b"hello"[..]);
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]    --> tests/auth.rs:94:7
[INFO] [stdout]     |
[INFO] [stdout]  94 |   async fn auth_enable_requires_root(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  95 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | |     assert_eq!(err.kind(), etcdrs::AuthErrorKind::RootUserRequired);
[INFO] [stdout] 100 | | }
[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/lease.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |   async fn keep_alive(etcd_cluster: EtcdCluster) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 115 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 116 | |     let lease = client
[INFO] [stdout] 117 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     panic!("key should have expired after dropping the keeper");
[INFO] [stdout] 152 | | }
[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/auth.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |   async fn auth_lifecycle(etcd_server: EtcdServer) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 49 | |     let client = etcdrs::Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | |     authed.auth_disable().await.unwrap();
[INFO] [stdout] 90 | | }
[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/lease.rs:87:7
[INFO] [stdout]     |
[INFO] [stdout]  87 |   async fn leases_listing(etcd_server: EtcdServer) {
[INFO] [stdout]     |  _______^
[INFO] [stdout]  88 | |     let client = Client::new(&etcd_server.connect_string()).unwrap();
[INFO] [stdout]  89 | |     let a = client
[INFO] [stdout]  90 | |         .grant_lease()
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     assert!(listed.contains(&b));
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/lease.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 |   async fn time_to_live_missing_lease(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 70 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 71 | |     let lease_id = LeaseId::new(0x7ead_beef).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |     assert_eq!(response.granted_ttl(), None);
[INFO] [stdout] 80 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: functions used as tests can not have any arguments
[INFO] [stdout]   --> tests/lease.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |   async fn time_to_live(etcd_cluster: EtcdCluster) {
[INFO] [stdout]    |  _______^
[INFO] [stdout] 45 | |     let client = Client::new(&etcd_cluster.connect_string()).unwrap();
[INFO] [stdout] 46 | |     let lease = client
[INFO] [stdout] 47 | |         .grant_lease()
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     assert_eq!(keys, vec![&b"ttl/a"[..], &b"ttl/b"[..]]);
[INFO] [stdout] 65 | | }
[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[E0432]: unresolved import `etcdrs_test::etcd_server`
[INFO] [stdout]   --> tests/auth.rs:6:31
[INFO] [stdout]    |
[INFO] [stdout]  6 | 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:76:34
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout]  6 - use etcdrs_test::{EtcdServer, etcd_server};
[INFO] [stdout]  6 + use etcdrs_test::{EtcdServer, EtcdServer};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/auth.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[E0432]: unresolved import `etcdrs_test::etcd_server`
[INFO] [stdout]   --> tests/watch.rs:4:31
[INFO] [stdout]    |
[INFO] [stdout]  4 | 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:76:34
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use 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::{EtcdServer, etcd_server};
[INFO] [stdout]  4 + use etcdrs_test::{EtcdServer, EtcdServer};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rstest`
[INFO] [stdout]  --> tests/watch.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 import `etcdrs_test::etcd_cluster`
[INFO] [stdout]   --> tests/transaction.rs:5:32
[INFO] [stdout]    |
[INFO] [stdout]  5 | 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:76:20
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use 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, etcd_cluster};
[INFO] [stdout]  5 + use etcdrs_test::{EtcdCluster, EtcdCluster};
[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:76:20
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use 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/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 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] error[E0432]: unresolved imports `etcdrs_test::etcd_cluster`, `etcdrs_test::etcd_server`
[INFO] [stdout]   --> tests/kv.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:76:20
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:76:34
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use 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 import `rstest`
[INFO] [stdout]  --> tests/kv.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: 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 `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 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:76:20
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use fixtures::{etcd_cluster, etcd_server};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:76:34
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(feature = "rstest")]
[INFO] [stdout]    |       ------------------ the item is gated behind the `rstest` feature
[INFO] [stdout] 76 | pub use 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 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: 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 `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 `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] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `etcdrs-test` (test "transaction") due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this 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 "lease") due to 8 previous errors
[INFO] [stderr] error: could not compile `etcdrs-test` (test "watch") due to 11 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 "auth") due to 14 previous errors
[INFO] [stdout] For more information about this 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] [stderr] error: could not compile `etcdrs-test` (test "kv") due to 12 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: unused dependency `futures`
[INFO] [stderr]  --> Cargo.toml:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | [dependencies.futures]
[INFO] [stderr]   |               ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `etcdrs-test` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "inspect" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae", kill_on_drop: false }`
[INFO] [stdout] c7abe5ebee7a3380cc96df43c8ef83b49a0f16be09a81bc0004f069d19cfcaae
