[INFO] cloning repository https://github.com/yousefmoazzam/bittorrent-client [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yousefmoazzam/bittorrent-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyousefmoazzam%2Fbittorrent-client", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyousefmoazzam%2Fbittorrent-client'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d44af86e14030b676efed4be933d51d373c5f3bd [INFO] testing yousefmoazzam/bittorrent-client against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyousefmoazzam%2Fbittorrent-client" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yousefmoazzam/bittorrent-client [INFO] finished tweaking git repo https://github.com/yousefmoazzam/bittorrent-client [INFO] tweaked toml for git repo https://github.com/yousefmoazzam/bittorrent-client written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yousefmoazzam/bittorrent-client on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yousefmoazzam/bittorrent-client 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded mockito v1.6.1 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.49 [INFO] [stderr] Downloaded colored v2.2.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.99 [INFO] [stderr] Downloaded tokio-test v0.4.4 [INFO] [stderr] Downloaded reqwest v0.12.9 [INFO] [stderr] Downloaded tokio-rustls v0.26.1 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.99 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.99 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.99 [INFO] [stderr] Downloaded h2 v0.4.7 [INFO] [stderr] Downloaded tempfile v3.14.0 [INFO] [stderr] Downloaded js-sys v0.3.76 [INFO] [stderr] Downloaded sha1_smol v1.0.1 [INFO] [stderr] Downloaded wasm-bindgen v0.2.99 [INFO] [stderr] Downloaded hyper-util v0.1.10 [INFO] [stderr] Downloaded clap_builder v4.5.29 [INFO] [stderr] Downloaded libc v0.2.168 [INFO] [stderr] Downloaded cc v1.2.4 [INFO] [stderr] Downloaded rustix v0.38.42 [INFO] [stderr] Downloaded clap v4.5.29 [INFO] [stderr] Downloaded rustls-pki-types v1.10.1 [INFO] [stderr] Downloaded rustls v0.23.20 [INFO] [stderr] Downloaded hyper v1.5.2 [INFO] [stderr] Downloaded similar v2.6.0 [INFO] [stderr] Downloaded web-sys v0.3.76 [INFO] [stderr] Downloaded tokio v1.42.0 [INFO] [stderr] Downloaded nom v8.0.0 [INFO] [stderr] Downloaded http v1.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 83f1a941be6299a54ddc9b13249aaa658e36d62b6ca4d50c803e7d7fa52ec623 [INFO] running `Command { std: "docker" "start" "-a" "83f1a941be6299a54ddc9b13249aaa658e36d62b6ca4d50c803e7d7fa52ec623", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "83f1a941be6299a54ddc9b13249aaa658e36d62b6ca4d50c803e7d7fa52ec623", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83f1a941be6299a54ddc9b13249aaa658e36d62b6ca4d50c803e7d7fa52ec623", kill_on_drop: false }` [INFO] [stdout] 83f1a941be6299a54ddc9b13249aaa658e36d62b6ca4d50c803e7d7fa52ec623 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a428f199455424bf12c4054820a1c38269ba3acdf08e01f963b80ab273ce522 [INFO] running `Command { std: "docker" "start" "-a" "2a428f199455424bf12c4054820a1c38269ba3acdf08e01f963b80ab273ce522", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.168 [INFO] [stderr] Compiling pin-project-lite v0.2.15 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling cc v1.2.4 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling indexmap v2.7.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling serde v1.0.216 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling rustls-pki-types v1.10.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling clap_builder v4.5.29 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling ipnet v2.10.1 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling sha1_smol v1.0.1 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling http v1.2.0 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling http-body-util v0.1.2 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Compiling tokio v1.42.0 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling clap v4.5.29 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.7 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling hyper v1.5.2 [INFO] [stderr] Compiling hyper-util v0.1.10 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.9 [INFO] [stderr] Compiling bittorrent_client v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.20s [INFO] running `Command { std: "docker" "inspect" "2a428f199455424bf12c4054820a1c38269ba3acdf08e01f963b80ab273ce522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a428f199455424bf12c4054820a1c38269ba3acdf08e01f963b80ab273ce522", kill_on_drop: false }` [INFO] [stdout] 2a428f199455424bf12c4054820a1c38269ba3acdf08e01f963b80ab273ce522 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30a0fbe9fa2ce1e7162def18d3dfdac54a4b9f927f8ab21270411357cf941e23 [INFO] running `Command { std: "docker" "start" "-a" "30a0fbe9fa2ce1e7162def18d3dfdac54a4b9f927f8ab21270411357cf941e23", kill_on_drop: false }` [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling similar v2.6.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tokio v1.42.0 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling h2 v0.4.7 [INFO] [stderr] Compiling hyper v1.5.2 [INFO] [stderr] Compiling hyper-util v0.1.10 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling mockito v1.6.1 [INFO] [stderr] Compiling reqwest v0.12.9 [INFO] [stderr] Compiling bittorrent_client v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 28.60s [INFO] running `Command { std: "docker" "inspect" "30a0fbe9fa2ce1e7162def18d3dfdac54a4b9f927f8ab21270411357cf941e23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30a0fbe9fa2ce1e7162def18d3dfdac54a4b9f927f8ab21270411357cf941e23", kill_on_drop: false }` [INFO] [stdout] 30a0fbe9fa2ce1e7162def18d3dfdac54a4b9f927f8ab21270411357cf941e23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ef7657f1906e4f65d8669c99394d8d86458e74c9b143cb327e022f808c132c25 [INFO] running `Command { std: "docker" "start" "-a" "ef7657f1906e4f65d8669c99394d8d86458e74c9b143cb327e022f808c132c25", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bittorrent_client-3034737e634bb32f) [INFO] [stdout] [INFO] [stdout] running 93 tests [INFO] [stdout] test client::tests::client_receives_correct_message_from_peer ... ok [INFO] [stdout] test client::tests::client_sets_choked_true_if_peer_sends_choke_message ... ok [INFO] [stdout] test client::tests::client_sets_choked_false_if_peer_sends_unchoke_message ... ok [INFO] [stdout] test client::tests::return_error_if_first_message_is_not_a_bitfield ... ok [INFO] [stdout] test client::tests::return_error_if_incorrect_info_hash_in_handshake_response ... ok [INFO] [stdout] test encode::tests::encode_list ... ok [INFO] [stdout] test encode::tests::encode_dict ... ok [INFO] [stdout] test encode::tests::encode_integer ... ok [INFO] [stdout] test decode::tests::decode_positive_integer ... ok [INFO] [stdout] test decode::tests::decode_negative_integer ... ok [INFO] [stdout] test encode::tests::encode_byte_string ... ok [INFO] [stdout] test handshake::tests::serialised_handshake_is_correct ... ok [INFO] [stdout] test message::tests::bitfield_set_piece_sets_correct_bit_in_bitfield ... ok [INFO] [stdout] test message::tests::bitfield_has_piece_returns_true_if_has_piece ... ok [INFO] [stdout] test handshake::tests::deserialised_handshake_is_correct ... ok [INFO] [stdout] test message::tests::parse_bitfield_message ... ok [INFO] [stdout] test message::tests::parse_cancel_message ... ok [INFO] [stdout] test client::tests::return_client_if_successful_handshake_and_receive_bitifield_message ... ok [INFO] [stdout] test decode::tests::decode_byte_string ... ok [INFO] [stdout] test message::tests::parse_choke_message ... ok [INFO] [stdout] test message::tests::parse_have_message ... ok [INFO] [stdout] test message::tests::parse_request_message ... ok [INFO] [stdout] test message::tests::parse_interested_message ... ok [INFO] [stdout] test message::tests::parse_keep_alive_message ... ok [INFO] [stdout] test message::tests::parse_not_interested_message ... ok [INFO] [stdout] test message::tests::return_error_if_non_zero_payload_message_id_is_invalid ... ok [INFO] [stdout] test message::tests::serialise_bitfield_message ... ok [INFO] [stdout] test message::tests::parse_unchoke_message ... ok [INFO] [stdout] test message::tests::serialise_cancel_message ... ok [INFO] [stdout] test client::tests::return_client_if_successful_handshake_and_receive_bitifield_message_real_socket ... ok [INFO] [stdout] test message::tests::serialise_keep_alive_message ... ok [INFO] [stdout] test message::tests::serialise_have_message ... ok [INFO] [stdout] test message::tests::serialise_interested_message ... ok [INFO] [stdout] test message::tests::serialise_unchoke_message ... ok [INFO] [stdout] test message::tests::serialise_request_message ... ok [INFO] [stdout] test metainfo::tests::get_expected_info_struct_from_valid_info_dict ... ok [INFO] [stdout] test message::tests::serialise_not_interested_message ... ok [INFO] [stdout] test metainfo::tests::info_serialisation_produces_correct_bencode_type_dict_variant ... ok [INFO] [stdout] test metainfo::tests::get_pieces_iterator_from_info_struct ... ok [INFO] [stdout] test message::tests::parse_piece_message ... ok [INFO] [stdout] test metainfo::tests::return_error_if_constructing_metainfo_from_incorrect_decoded_variant ... ok [INFO] [stdout] test metainfo::tests::return_error_if_announce_value_is_incorrect_decoded_variant ... ok [INFO] [stdout] test message::tests::serialise_piece_message ... ok [INFO] [stdout] test metainfo::tests::return_error_if_dict_missing_info_key ... ok [INFO] [stdout] test metainfo::tests::return_error_if_dict_missing_announce_key ... ok [INFO] [stdout] test metainfo::tests::return_error_if_info_dict_missing_length_key ... ok [INFO] [stdout] test metainfo::tests::return_error_if_info_dict_missing_piece_length_key ... ok [INFO] [stdout] test metainfo::tests::return_error_if_info_dict_missing_name_key ... ok [INFO] [stdout] test metainfo::tests::return_error_if_info_dict_missing_pieces_key ... ok [INFO] [stdout] test parse::tests::parse_dict_containing_multiple_keys_bytestring_value ... ok [INFO] [stdout] test parse::tests::parse_dict_containing_multiple_keys_bytestring_and_integer_values ... ok [INFO] [stdout] test metainfo::tests::return_error_if_info_value_is_incorrect_decoded_variant ... ok [INFO] [stdout] test parse::tests::parse_dict_containing_single_key_bytestring_value ... ok [INFO] [stdout] test parse::tests::parse_byte_string ... ok [INFO] [stdout] test message::tests::return_error_if_single_byte_message_id_is_invalid ... ok [INFO] [stdout] test message::tests::serialise_choke_message ... ok [INFO] [stdout] test metainfo::tests::get_expected_metainfo_struct_from_valid_dict ... ok [INFO] [stdout] test parse::tests::parse_dict_containing_single_key_list_value ... ok [INFO] [stdout] test parse::tests::parse_list_containing_bytestring_and_integer ... ok [INFO] [stdout] test parse::tests::parse_nested_dict ... ok [INFO] [stdout] test parse::tests::parse_integer ... ok [INFO] [stdout] test parse::tests::parse_nested_list ... ok [INFO] [stdout] test parse::tests::parse_list_containing_multiple_bytestrings ... ok [INFO] [stdout] test parse::tests::parse_list_containing_single_bytestring ... ok [INFO] [stdout] test piece::tests::receiver_handles_truncated_last_piece ... ok [INFO] [stdout] test parse::tests::parse_list_containing_dict ... ok [INFO] [stdout] test client::tests::client_sends_correct_message_data_to_peer ... ok [INFO] [stdout] test decode::tests::decode_dict_containing_strings_and_ints ... ok [INFO] [stdout] test decode::tests::decode_list_containing_strings_and_ints ... ok [INFO] [stdout] test serialise::tests::serialise_integer ... ok [INFO] [stdout] test tracker::tests::create_error_variant_from_failure_response ... ok [INFO] [stdout] test torrent::tests::correct_info_hash_field_on_torrent_instance ... ok [INFO] [stdout] test serialise::tests::serialise_bytestring ... ok [INFO] [stdout] test tracker::tests::creating_tracker_request_produces_expected_url_for_get_request ... ok [INFO] [stdout] test work::tests::tasks_can_put_work_onto_queue ... ok [INFO] [stdout] test worker::tests::download_sends_unchoke_and_interested_messages_to_peer ... ok [INFO] [stdout] test worker::tests::send_have_message_to_peer_if_piece_downloaded_and_passed_integrity_check ... ok [INFO] [stdout] test tracker::tests::create_success_variant_from_successful_response ... ok [INFO] [stdout] test worker::tests::single_worker_downloads_all_two_pieces_from_peer ... ok [INFO] [stdout] test serialise::tests::serialise_dict ... ok [INFO] [stdout] test worker::tests::errored_worker_puts_work_back_onto_queue_before_exiting_and_download_can_complete ... ok [INFO] [stdout] test worker::tests::send_keep_alive_if_empty_queue_but_download_not_yet_complete ... ok [INFO] [stdout] test worker::tests::single_worker_downloads_pieces_larger_than_default_block_size_but_not_divisible_by_it ... ok [INFO] [stdout] test tracker::tests::parse_peer ... ok [INFO] [stdout] test work::tests::tasks_can_get_work_from_queue ... ok [INFO] [stdout] test worker::tests::integrity_check_failure_causes_rerequest_of_piece ... ok [INFO] [stdout] test piece::tests::receiver_puts_pieces_together_correctly ... ok [INFO] [stdout] test serialise::tests::serialise_list ... ok [INFO] [stdout] test init::tests::generate_correct_torrent_struct_from_tracker_response_and_metainfo ... ok [INFO] [stdout] test tracker::tests::sent_request_returns_response_body ... ok [INFO] [stdout] test tracker::tests::sent_tracker_get_request_is_received_by_tracker ... ok [INFO] [stdout] test download::tests::downloads_file_from_single_peer ... ok [INFO] [stdout] test worker::tests::two_workers_download_the_two_pieces_from_their_respective_peer ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 93 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bittorrent_client-9db72d4c717413d9) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests bittorrent_client [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ef7657f1906e4f65d8669c99394d8d86458e74c9b143cb327e022f808c132c25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef7657f1906e4f65d8669c99394d8d86458e74c9b143cb327e022f808c132c25", kill_on_drop: false }` [INFO] [stdout] ef7657f1906e4f65d8669c99394d8d86458e74c9b143cb327e022f808c132c25