[INFO] fetching crate torrust-metrics 0.1.0...
[INFO] testing torrust-metrics-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate torrust-metrics 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate torrust-metrics 0.1.0
[INFO] finished tweaking crates.io crate torrust-metrics 0.1.0
[INFO] tweaked toml for crates.io crate torrust-metrics 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate torrust-metrics 0.1.0 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 torrust-metrics 0.1.0 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe
[INFO] running `Command { std: "docker" "start" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", 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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe" "/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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", 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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling auto_ops v0.3.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling openmetrics-parser v0.4.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling torrust-clock v3.0.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling torrust-metrics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.serde_json]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `torrust-metrics` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.77s
[INFO] running `Command { std: "docker" "inspect" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", 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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling rstest_macros v0.25.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling mutants v0.0.3
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling openmetrics-parser v0.4.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling torrust-clock v3.0.0
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling formatjson v0.3.1
[INFO] [stderr]    Compiling torrust-metrics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rstest v0.25.0
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.serde_json]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `torrust-metrics` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", 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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.serde_json]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `torrust-metrics` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/torrust-metrics/a780b3ce2e600bfb/out/torrust_metrics-a780b3ce2e600bfb)
[INFO] [stdout] 
[INFO] [stdout] running 260 tests
[INFO] [stdout] test counter::tests::it_should_be_cloneable ... ok
[INFO] [stdout] test counter::tests::it_should_be_created_from_integer_values ... ok
[INFO] [stdout] test counter::tests::it_should_be_debuggable ... ok
[INFO] [stdout] test counter::tests::it_could_be_converted_into_u64 ... ok
[INFO] [stdout] test counter::tests::it_could_be_incremented ... ok
[INFO] [stdout] test counter::tests::it_should_be_displayable ... ok
[INFO] [stdout] test counter::tests::it_should_handle_conversion_roundtrip ... ok
[INFO] [stdout] test counter::tests::it_should_handle_i32_conversion_roundtrip ... ok
[INFO] [stdout] test counter::tests::it_should_handle_i32_max_conversion ... ok
[INFO] [stdout] test counter::tests::it_should_handle_i32_min_conversion ... ok
[INFO] [stdout] test counter::tests::it_could_be_converted_from_u64 ... ok
[INFO] [stdout] test counter::tests::it_should_handle_large_values ... ok
[INFO] [stdout] test counter::tests::it_could_set_to_an_absolute_value ... ok
[INFO] [stdout] test counter::tests::it_should_handle_u32_conversion_roundtrip ... ok
[INFO] [stdout] test counter::tests::it_should_handle_u32_max_conversion ... ok
[INFO] [stdout] test counter::tests::it_could_be_converted_from_u32 ... ok
[INFO] [stdout] test counter::tests::it_could_be_converted_from_i32 ... ok
[INFO] [stdout] test counter::tests::it_should_handle_large_increments ... ok
[INFO] [stdout] test counter::tests::it_serializes_to_prometheus ... ok
[INFO] [stdout] test counter::tests::it_should_handle_negative_i32_conversion ... ok
[INFO] [stdout] test gauge::tests::it_could_be_converted_from_f32 ... ok
[INFO] [stdout] test gauge::tests::it_could_be_converted_from_u64 ... ok
[INFO] [stdout] test gauge::tests::it_could_be_converted_into_i64 ... ok
[INFO] [stdout] test gauge::tests::it_could_be_decremented ... ok
[INFO] [stdout] test gauge::tests::it_could_be_incremented ... ok
[INFO] [stdout] test gauge::tests::it_could_be_set ... ok
[INFO] [stdout] test gauge::tests::it_serializes_to_prometheus ... ok
[INFO] [stdout] test counter::tests::it_should_handle_zero_value ... ok
[INFO] [stdout] test counter::tests::it_should_have_default_value ... ok
[INFO] [stdout] test counter::tests::it_should_return_primitive_value ... ok
[INFO] [stdout] test gauge::tests::it_should_be_debuggable ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_conversion_roundtrip ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_f32_conversion_roundtrip ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_infinity ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_large_values ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_multiple_operations ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_nan ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_negative_values ... ok
[INFO] [stdout] test gauge::tests::it_should_handle_zero_value ... ok
[INFO] [stdout] test gauge::tests::it_should_have_default_value ... ok
[INFO] [stdout] test gauge::tests::it_should_return_primitive_value ... ok
[INFO] [stdout] test gauge::tests::it_should_be_cloneable ... ok
[INFO] [stdout] test counter::tests::it_should_support_multiple_absolute_operations ... ok
[INFO] [stdout] test gauge::tests::it_should_serialize_special_values_to_prometheus ... ok
[INFO] [stdout] test gauge::tests::it_should_be_created_from_integer_values ... ok
[INFO] [stdout] test gauge::tests::it_should_support_equality_comparison ... ok
[INFO] [stdout] test counter::tests::it_should_serialize_large_values_to_prometheus ... ok
[INFO] [stdout] test gauge::tests::it_should_be_displayable ... ok
[INFO] [stdout] test counter::tests::it_should_support_equality_comparison ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_starting_with_double_underscore::case_1 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_starting_with_double_underscore::case_2 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_4 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_starting_with_double_underscore::case_3 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_1 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_starting_with_double_underscore::case_4 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_2 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_3 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::valid_names_in_prometheus::case_2 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_7 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_8 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_5 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::names_that_need_changes_in_prometheus::case_6 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::valid_names_in_prometheus::case_1 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::valid_names_in_prometheus::case_3 ... ok
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::valid_names_in_prometheus::case_4 ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_a_b_tree_map ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_a_label_pair ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_a_vec_of_label_pairs ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_array_of_str_tuples ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_array_of_string_tuples ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_deserializing_from_json_as_an_array_of_label_objects ... ok
[INFO] [stdout] test label::pair::tests::serialization_of_label_pair_to_prometheus::test_label_pair_serialization_to_prometheus ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_vec_of_serialized_label ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_displaying ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_an_array_of_label_pairs ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_inserting_a_new_label_pair ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_serializing_to_json_as_an_array_of_label_objects ... ok
[INFO] [stdout] test label::set::tests::it_should_be_allow_ordering ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_serializing_to_prometheus_format ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_vec_of_str_tuples ... ok
[INFO] [stdout] test label::set::tests::it_should_be_comparable ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_updating_a_label_value ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_instantiation_from_vec_of_string_tuples ... ok
[INFO] [stdout] test label::set::tests::it_should_alphabetically_order_labels_in_prometheus_format ... ok
[INFO] [stdout] test label::set::tests::it_should_allow_iteration_over_label_pairs ... ok
[INFO] [stdout] test label::set::tests::it_should_check_if_contains_specific_label_pair ... ok
[INFO] [stdout] test label::set::tests::it_should_check_if_empty ... ok
[INFO] [stdout] test label::set::tests::it_should_check_if_non_empty ... ok
[INFO] [stdout] test label::set::tests::it_should_create_an_empty_label_set ... ok
[INFO] [stdout] test label::set::tests::it_should_display_empty_label_set ... ok
[INFO] [stdout] test label::set::tests::it_should_implement_clone ... ok
[INFO] [stdout] test label::set::tests::it_should_maintain_order_in_iteration ... ok
[INFO] [stdout] test label::set::tests::it_should_match_against_criteria ... ok
[INFO] [stdout] test label::set::tests::it_should_handle_prometheus_format_with_special_characters ... ok
[INFO] [stdout] test label::set::tests::it_should_serialize_empty_label_set_to_prometheus_format ... ok
[INFO] [stdout] test label::set::tests::try_from_openmetrics_parser_label_set::it_should_return_label_conversion_error_for_empty_label_name ... ok
[INFO] [stdout] test label::value::tests::it_serializes_to_prometheus ... ok
[INFO] [stdout] test label::value::tests::it_could_be_initialized_from_str ... ok
[INFO] [stdout] test label::set::tests::it_should_be_hashable ... ok
[INFO] [stdout] test label::value::tests::it_should_allow_to_create_an_ignored_label_value ... ok
[INFO] [stdout] test label::value::tests::it_should_be_hashable ... ok
[INFO] [stdout] test label::value::tests::it_should_be_comparable ... ok
[INFO] [stdout] test label::value::tests::it_should_implement_clone ... ok
[INFO] [stdout] test label::value::tests::it_should_be_converted_from_string ... ok
[INFO] [stdout] test label::value::tests::it_should_implement_display ... ok
[INFO] [stdout] test metric::aggregate::avg::tests::test_gauge_cases ... ok
[INFO] [stdout] test metric::aggregate::avg::tests::test_counter_cases ... ok
[INFO] [stdout] test label::value::tests::it_should_be_allow_ordering ... ok
[INFO] [stdout] test label::set::tests::try_from_openmetrics_parser_label_set::it_should_convert_empty_label_set ... ok
[INFO] [stdout] test label::set::tests::try_from_openmetrics_parser_label_set::it_should_convert_label_set_with_known_labels ... ok
[INFO] [stdout] test metric::description::tests::it_should_be_converted_from_str ... ok
[INFO] [stdout] test metric::description::tests::it_should_be_created_from_a_string_reference ... ok
[INFO] [stdout] test metric::aggregate::sum::tests::test_counter_cases ... ok
[INFO] [stdout] test metric::aggregate::sum::tests::test_gauge_cases ... ok
[INFO] [stdout] test metric::description::tests::it_serializes_to_prometheus ... ok
[INFO] [stdout] test metric::description::tests::it_should_be_converted_from_string ... ok
[INFO] [stdout] test metric::description::tests::it_should_be_displayed ... ok
[INFO] [stdout] test metric::name::tests::serialization_of_metric_name_to_prometheus::valid_names_in_prometheus ... ok
[INFO] [stdout] test metric::tests::for_counter_metrics::it_should_allow_incrementing_a_sample ... ok
[INFO] [stdout] test metric::tests::for_counter_metrics::it_should_be_created_from_its_name_and_a_collection_of_samples ... ok
[INFO] [stdout] test metric::tests::for_gauge_metrics::it_should_allow_decrement_a_sample ... ok
[INFO] [stdout] test metric::tests::for_gauge_metrics::it_should_allow_incrementing_a_sample ... ok
[INFO] [stdout] test metric::tests::for_generic_metrics::it_should_be_empty_when_it_does_not_have_any_sample ... ok
[INFO] [stdout] test metric::tests::for_gauge_metrics::it_should_allow_setting_a_sample ... ok
[INFO] [stdout] test metric::name::tests::serialization_of_metric_name_to_prometheus::names_that_need_changes_in_prometheus ... ok
[INFO] [stdout] test metric::tests::for_gauge_metrics::it_should_be_created_from_its_name_and_a_collection_of_samples ... ok
[INFO] [stdout] test metric::tests::for_counter_metrics::it_should_allow_setting_to_an_absolute_value ... ok
[INFO] [stdout] test metric_collection::aggregate::avg::tests::it_should_allow_averaging_all_metric_samples_containing_some_given_labels::type_counter_with_different_values ... ok
[INFO] [stdout] test metric::tests::for_generic_metrics::it_should_return_the_number_of_samples ... ok
[INFO] [stdout] test metric::tests::for_generic_metrics::it_should_return_zero_number_of_samples_for_an_empty_metric ... ok
[INFO] [stdout] test metric::tests::for_prometheus_serialization::it_should_return_empty_string_for_prometheus_help_line_when_description_is_none ... ok
[INFO] [stdout] test metric_collection::aggregate::avg::tests::it_should_allow_averaging_all_metric_samples_containing_some_given_labels::type_counter_with_two_samples ... ok
[INFO] [stdout] test metric::tests::for_prometheus_serialization::it_should_return_formatted_help_line_for_prometheus_when_description_is_some ... ok
[INFO] [stdout] test metric_collection::aggregate::avg::tests::it_should_allow_averaging_all_metric_samples_containing_some_given_labels::nonexistent_metric ... ok
[INFO] [stdout] test metric_collection::aggregate::sum::tests::it_should_allow_summing_all_metric_samples_containing_some_given_labels::type_counter_with_two_samples ... ok
[INFO] [stdout] test metric_collection::aggregate::avg::tests::it_should_allow_averaging_all_metric_samples_containing_some_given_labels::type_gauge_with_negative_values ... ok
[INFO] [stdout] test metric_collection::aggregate::sum::tests::it_should_allow_summing_all_metric_samples_containing_some_given_labels::type_gauge_with_two_samples ... ok
[INFO] [stdout] test metric_collection::aggregate::avg::tests::it_should_allow_averaging_all_metric_samples_containing_some_given_labels::type_gauge_with_two_samples ... ok
[INFO] [stdout] test metric_collection::aggregate::sum::tests::it_should_allow_summing_all_metric_samples_containing_some_given_labels::nonexistent_counter_metric_returns_none ... ok
[INFO] [stdout] test metric_collection::error::tests::it_should_display_duplicate_metric_name_in_list ... ok
[INFO] [stdout] test metric_collection::aggregate::sum::tests::it_should_allow_summing_all_metric_samples_containing_some_given_labels::nonexistent_gauge_metric_returns_none ... ok
[INFO] [stdout] test metric_collection::error::tests::it_should_display_metric_name_collision_adding ... ok
[INFO] [stdout] test metric_collection::kind_collection::tests::it_should_not_allow_merging_counter_metric_collections_with_name_collisions ... ok
[INFO] [stdout] test metric_collection::error::tests::it_should_be_cloneable ... ok
[INFO] [stdout] test metric_collection::error::tests::it_should_display_metric_name_collision_in_constructor ... ok
[INFO] [stdout] test metric_collection::error::tests::it_should_display_metric_name_collision_in_merge ... ok
[INFO] [stdout] test metric_collection::kind_collection::tests::it_should_not_allow_merging_gauge_metric_collections_with_name_collisions ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::helper_functions::description_from_help_returns_none_for_empty_help ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_accept_a_counter_value_that_is_a_whole_number_float ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_deserialize_a_counter_metric_from_prometheus_text ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_classify_duplicate_metric_names_as_collection_errors ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_deserialize_a_gauge_metric_from_prometheus_text ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::helper_functions::ensure_trailing_newline_returns_borrowed_when_input_has_newline ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::helper_functions::ensure_trailing_newline_returns_owned_when_input_missing_newline ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_reject_a_float_counter_value_equal_to_first_unrepresentable_u64 ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_reject_fractional_counter_values ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_return_parse_error_for_malformed_input ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_return_unsupported_type_for_histogram ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_convert_a_fractional_timestamp ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_return_unknown_type_error_when_no_type_declaration_is_present ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_round_trip_serialize_then_deserialize_prometheus_text ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::helper_functions::description_from_help_returns_some_for_non_empty_help ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_deserialization::it_should_use_fallback_timestamp_when_sample_has_no_timestamp ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_convert_zero_timestamp ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_handle_nanosecond_boundary_overflow ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_use_fallback_for_negative_infinity ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_use_fallback_for_positive_infinity ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_use_fallback_when_timestamp_would_overflow_u64_seconds ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_use_fallback_for_negative_timestamp ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_convert_a_whole_second_timestamp ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::stage3_conversion::from_prometheus_and_stage3_try_from_should_produce_same_output ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::prometheus_timestamp::it_should_use_fallback_for_nan ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::stage3_conversion::try_from_parsed_exposition_should_convert_counter_family ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_allow_deserializing_an_empty_json_array ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_allow_serializing_an_empty_collection_to_json ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_fail_deserializing_json_with_cross_type_name_collision ... ok
[INFO] [stdout] test metric_collection::prometheus::tests::stage3_conversion::try_from_parsed_exposition_should_reject_unsupported_histogram ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_use_a_correct_sequence_length_hint_when_serializing ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_allow_describing_a_counter_before_using_it ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_allow_serializing_to_json ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_allow_setting_to_an_absolute_value ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_automatically_create_a_counter_when_increasing_if_it_does_not_exist ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_increase_a_preexistent_counter ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_fail_deserializing_json_with_duplicate_counter_names ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_fail_deserializing_json_with_unknown_metric_type ... ok
[INFO] [stdout] test metric_collection::serde::tests::it_should_allow_deserializing_from_json ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_not_allow_duplicate_metric_names_when_instantiating ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_allow_decrementing_a_gauge ... ok
[INFO] [stdout] test metric_collection::tests::for_counters::it_should_fail_setting_to_an_absolute_value_if_a_gauge_with_the_same_name_exists ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_allow_describing_a_gauge_before_using_it ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_not_allow_duplicate_metric_names_when_instantiating ... ok
[INFO] [stdout] test metric_collection::tests::it_should_allow_merging_metric_collections ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_allow_incrementing_a_gauge ... ok
[INFO] [stdout] test metric_collection::tests::it_should_allow_serializing_to_prometheus_format ... ok
[INFO] [stdout] test metric_collection::tests::it_should_allow_serializing_to_prometheus_format_with_multiple_samples_per_metric ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_fail_incrementing_a_gauge_if_it_exists_a_counter_with_the_same_name ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_automatically_create_a_gauge_when_setting_if_it_does_not_exist ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_set_a_preexistent_gauge ... ok
[INFO] [stdout] test metric_collection::tests::for_gauges::it_should_fail_decrementing_a_gauge_if_it_exists_a_counter_with_the_same_name ... ok
[INFO] [stdout] test metric_collection::tests::it_should_exclude_metrics_without_samples_from_prometheus_format ... ok
[INFO] [stdout] test metric_collection::tests::it_should_not_allow_creating_a_counter_with_the_same_name_as_a_gauge ... ok
[INFO] [stdout] test sample::tests::for_counter_type_sample::it_should_allow_exporting_to_prometheus_format ... ok
[INFO] [stdout] test sample::tests::for_counter_type_sample::it_should_allow_exporting_to_prometheus_format_with_empty_label_set ... ok
[INFO] [stdout] test sample::tests::for_counter_type_sample::it_should_allow_incrementing_the_counter ... ok
[INFO] [stdout] test sample::tests::for_counter_type_sample::it_should_record_the_latest_update_time_when_the_counter_is_incremented ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_a_counter_type_value ... ok
[INFO] [stdout] test sample::tests::for_counter_type_sample::it_should_allow_a_counter_type_value ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_decrementing_the_value ... ok
[INFO] [stdout] test metric_collection::tests::it_should_not_allow_creating_a_gauge_with_the_same_name_as_a_counter ... ok
[INFO] [stdout] test metric_collection::tests::it_should_not_allow_merging_metric_collections_with_name_collisions_for_different_metric_types ... ok
[INFO] [stdout] test metric_collection::tests::it_should_not_allow_duplicate_names_across_types ... ok
[INFO] [stdout] test metric_collection::tests::it_should_not_allow_merging_metric_collections_with_name_collisions_for_the_same_metric_types ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_setting_a_value ... ok
[INFO] [stdout] test sample::tests::it_should_allow_creating_measurement_directly ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_incrementing_the_value ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_record_the_latest_update_time_when_the_counter_is_incremented ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_exporting_to_prometheus_format ... ok
[INFO] [stdout] test sample::tests::it_should_allow_converting_sample_into_label_set_and_measurement ... ok
[INFO] [stdout] test sample::tests::for_gauge_type_sample::it_should_allow_exporting_to_prometheus_format_with_empty_label_set ... ok
[INFO] [stdout] test sample::tests::it_should_expose_measurement ... ok
[INFO] [stdout] test sample::tests::it_should_have_a_value ... ok
[INFO] [stdout] test sample::tests::it_should_include_a_label_set ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_invalid_update_timestamp_serialization ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_serialization_round_trip_with_pretty_formatter ... ok
[INFO] [stdout] test sample::tests::it_should_record_the_latest_update_time ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_invalid_update_datetime_deserialization ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_update_datetime_high_precision_nanoseconds ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_allow_setting_absolute_value_for_a_counter ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_increment_the_counter_for_a_preexisting_label_set ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_allow_setting_absolute_value_for_existing_counter ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_update_the_latest_update_time_when_incremented ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_allow_increment_the_counter_for_a_non_existent_label_set ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_rfc3339_serialization_format_for_update_time ... ok
[INFO] [stdout] test sample::tests::serialization_to_json::test_serialization_round_trip ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_allow_decrementing_the_gauge ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_increment_the_counter_for_multiple_labels ... ok
[INFO] [stdout] test sample_collection::tests::for_counters::it_should_update_time_when_setting_absolute_value ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_create_a_default_gauge_when_decrementing_a_nonexistent_label_set ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_allow_incrementing_the_gauge ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_update_the_latest_update_time_when_setting ... ok
[INFO] [stdout] test sample_collection::tests::it_should_fail_trying_to_create_a_sample_collection_with_duplicate_label_sets ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_allow_setting_the_gauge_for_a_non_existent_label_set ... ok
[INFO] [stdout] test sample_collection::tests::it_should_allow_iterating_samples ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_allow_setting_the_gauge_for_multiple_labels ... ok
[INFO] [stdout] test sample_collection::tests::it_should_return_a_sample_searching_by_label_set_with_two_label_sets ... ok
[INFO] [stdout] test sample_collection::tests::it_should_return_the_number_of_samples_in_the_collection ... ok
[INFO] [stdout] test sample_collection::tests::json_serialization::it_should_fail_deserializing_from_json_with_duplicate_label_sets ... ok
[INFO] [stdout] test sample_collection::tests::prometheus_serialization::it_should_be_exportable_to_prometheus_format ... ok
[INFO] [stdout] test sample_collection::tests::for_gauges::it_should_allow_setting_the_gauge_for_a_preexisting_label_set ... ok
[INFO] [stdout] test sample_collection::tests::it_should_return_zero_number_of_samples_when_empty ... ok
[INFO] [stdout] test sample_collection::tests::it_should_indicate_is_it_is_empty ... ok
[INFO] [stdout] test sample_collection::tests::json_serialization::it_should_be_serializable_and_deserializable_for_json_format ... ok
[INFO] [stdout] test sample_collection::tests::prometheus_serialization::it_should_be_exportable_to_prometheus_format_when_empty ... ok
[INFO] [stdout] test sample_collection::tests::it_should_return_a_sample_searching_by_label_set_with_one_empty_label_set ... ok
[INFO] [stdout] test unit::tests::it_should_deserialize_count_from_snake_case ... ok
[INFO] [stdout] test unit::tests::it_should_implement_clone_copy_eq_hash_debug ... ok
[INFO] [stdout] test unit::tests::it_should_round_trip_all_variants ... ok
[INFO] [stdout] test unit::tests::it_should_serialize_count_to_snake_case ... ok
[INFO] [stdout] test metric::name::tests::serialization_of_metric_name_to_prometheus::empty_name - should panic ... ok
[INFO] [stderr]    Doc-tests torrust_metrics
[INFO] [stdout] test label::name::tests::serialization_of_label_name_to_prometheus::empty_name - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 260 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[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" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe", kill_on_drop: false }`
[INFO] [stdout] d30303925391f05d384f6213a2d12ac48cc1debdaab33c9a2e8f6ebbb5231cfe
