[INFO] fetching crate wizlight 0.1.0-alpha.4...
[INFO] testing wizlight-0.1.0-alpha.4 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate wizlight 0.1.0-alpha.4 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate wizlight 0.1.0-alpha.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate wizlight 0.1.0-alpha.4
[INFO] tweaked toml for crates.io crate wizlight 0.1.0-alpha.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wizlight 0.1.0-alpha.4 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 wizlight 0.1.0-alpha.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | homepage = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 | repository = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `wizlight` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530
[INFO] running `Command { std: "docker" "start" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", 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" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530" "/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" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", 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" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | homepage = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 | repository = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `wizlight` (manifest) generated 1 warning
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling wizlight v0.1.0-alpha.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.57s
[INFO] running `Command { std: "docker" "inspect" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", 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" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | homepage = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 | repository = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `wizlight` (manifest) generated 1 warning
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling wizlight v0.1.0-alpha.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.32s
[INFO] running `Command { std: "docker" "inspect" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", 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" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | homepage = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 | repository = "https://github.com/LucasAmion/wizlight-rs"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `wizlight` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/wizlight/35fd78a0af2ea653/out/wizlight-35fd78a0af2ea653)
[INFO] [stdout] 
[INFO] [stdout] running 50 tests
[INFO] [stdout] test protocol::config::tests::a_single_temperature_model_reports_a_degenerate_range ... ok
[INFO] [stdout] test protocol::model::tests::the_measured_bulb_derives_what_the_hardware_does ... ok
[INFO] [stdout] test protocol::config::tests::user_config_prefers_ext_range ... ok
[INFO] [stdout] test protocol::model::tests::type_id_stands_in_for_a_missing_module_name ... ok
[INFO] [stdout] test protocol::model::tests::a_device_with_neither_a_module_name_nor_a_type_id_is_unknowable ... ok
[INFO] [stdout] test protocol::pilot::tests::a_channel_write_with_nothing_lit_in_it_is_rejected ... ok
[INFO] [stdout] test protocol::model::tests::a_name_with_no_identifier_is_refused ... ok
[INFO] [stdout] test protocol::pilot::tests::conflicting_colour_modes_are_rejected ... ok
[INFO] [stdout] test protocol::model::tests::the_feature_map_matches_the_class ... ok
[INFO] [stdout] test protocol::pilot::tests::empty_builder_is_rejected ... ok
[INFO] [stdout] test protocol::model::tests::every_known_module_name_derives_the_same_type_pywizlight_gives_it ... ok
[INFO] [stdout] test protocol::model::tests::json_uses_the_names_the_protocol_uses ... ok
[INFO] [stdout] test protocol::pilot::tests::non_colour_fields_compose_with_a_scene ... ok
[INFO] [stdout] test protocol::model::tests::match_order_is_load_bearing ... ok
[INFO] [stdout] test protocol::pilot::tests::pilot_parses_partial_results ... ok
[INFO] [stdout] test protocol::pilot::tests::a_reported_value_the_builder_would_refuse_still_parses ... ok
[INFO] [stdout] test protocol::config::tests::model_config_reads_cct_range_and_ignores_unknown_fields ... ok
[INFO] [stdout] test protocol::config::tests::range_bounds_does_not_assume_the_list_is_sorted_or_four_long ... ok
[INFO] [stdout] test protocol::model::tests::a_class_that_must_report_a_kelvin_range_and_does_not_is_an_error ... ok
[INFO] [stdout] test protocol::pilot::tests::rgbww_is_its_three_setters_and_nothing_more ... ok
[INFO] [stdout] test protocol::model::tests::kelvin_range_orders_its_bounds_and_answers_what_it_covers ... ok
[INFO] [stdout] test protocol::pilot::tests::resetting_the_same_mode_is_not_a_conflict ... ok
[INFO] [stdout] test protocol::model::tests::a_module_name_keeps_its_three_parts ... ok
[INFO] [stdout] test protocol::pilot::tests::a_reported_scene_id_is_named_only_when_the_table_knows_it ... ok
[INFO] [stdout] test protocol::config::tests::missing_kelvin_range_is_none_not_an_error ... ok
[INFO] [stdout] test protocol::pilot::tests::speed_is_allowed_where_it_can_do_something ... ok
[INFO] [stdout] test protocol::pilot::tests::speed_is_refused_where_it_cannot ... ok
[INFO] [stdout] test protocol::pilot::tests::the_conflict_message_names_both_modes ... ok
[INFO] [stdout] test protocol::pilot::tests::white_channels_compose_with_rgb_in_either_order ... ok
[INFO] [stdout] test protocol::scene::tests::the_dimmable_white_list_follows_the_vendor_table ... ok
[INFO] [stdout] test protocol::scene::tests::the_table_covers_the_scenes_worth_sending ... ok
[INFO] [stdout] test protocol::scene::tests::ids_that_are_not_scenes_are_none ... ok
[INFO] [stdout] test protocol::scene::tests::the_tunable_white_list_is_the_one_both_sources_agree_on ... ok
[INFO] [stdout] test protocol::scene::tests::animating_is_not_the_same_as_taking_a_speed ... ok
[INFO] [stdout] test protocol::scene::tests::an_unknown_name_names_itself_in_the_error ... ok
[INFO] [stdout] test protocol::scene::tests::per_class_counts ... ok
[INFO] [stdout] test protocol::types::tests::the_error_names_the_wire_field_and_the_bound ... ok
[INFO] [stdout] test protocol::scene::tests::the_whites_report_the_temperature_they_run_at ... ok
[INFO] [stdout] test protocol::scene::tests::the_two_scenes_nobody_names_are_labelled_by_us ... ok
[INFO] [stdout] test protocol::types::tests::the_measured_edges_are_the_enforced_edges ... ok
[INFO] [stdout] test protocol::pilot::tests::wire_format_matches_recorded_traffic ... ok
[INFO] [stdout] test protocol::types::tests::dimming_rejects_zero_and_over_100 ... ok
[INFO] [stdout] test protocol::scene::tests::ids_and_names_round_trip ... ok
[INFO] [stdout] test protocol::types::tests::a_scene_id_has_to_be_one_the_bulb_plays ... ok
[INFO] [stdout] test protocol::scene::tests::a_scene_serialises_as_its_id_name_and_behaviour ... ok
[INFO] [stdout] test protocol::scene::tests::names_are_matched_leniently ... ok
[INFO] [stdout] test protocol::types::tests::every_channel_value_is_a_valid_one ... ok
[INFO] [stdout] test protocol::scene::tests::names_are_unique ... ok
[INFO] [stdout] test protocol::scene::tests::the_undimmable_scenes_are_the_measured_three ... ok
[INFO] [stdout] test protocol::types::tests::the_user_slots_are_addressable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/wizlight/0a7adc53292132a0/out/wizlight-0a7adc53292132a0)
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/build/wizlight/3c70f2981efabf62/out/cli-3c70f2981efabf62)
[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] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test a_human_failure_is_a_plain_line_not_json ... ok
[INFO] [stdout] test a_broadcast_address_may_omit_the_port_and_may_repeat ... ok
[INFO] [stdout] test a_target_that_is_neither_an_address_nor_a_mac_is_a_usage_error ... ok
[INFO] [stdout] test a_target_is_parsed_and_reported_by_the_command ... ok
[INFO] [stdout] test a_global_flag_is_accepted_after_the_subcommand ... ok
[INFO] [stdout] test an_unknown_subcommand_is_a_usage_error ... ok
[INFO] [stdout] test a_command_needs_a_target_or_all_and_not_both ... ok
[INFO] [stdout] test a_json_failure_carries_the_command_and_target ... ok
[INFO] [stdout] test durations_may_be_fractional_and_may_not_be_negative ... ok
[INFO] [stdout] test global_flags_and_subcommand_are_parsed ... ok
[INFO] [stdout] test help_leaks_no_rustdoc_at_either_length ... ok
[INFO] [stdout] test a_target_may_be_a_mac_in_any_spelling ... ok
[INFO] [stdout] test help_succeeds_and_is_printed_to_stdout ... ok
[INFO] [stdout] test a_white_emitter_conflicts_with_temp_and_scene_but_not_with_a_colour ... ok
[INFO] [stdout] test a_white_emitter_can_be_sent_on_its_own ... ok
[INFO] [stdout] test info_describes_the_model_and_what_it_can_do ... ok
[INFO] [stdout] test asking_a_bulb_for_what_it_has_no_hardware_for_names_its_class ... ok
[INFO] [stdout] test no_subcommand_is_a_usage_error_not_a_success ... ok
[INFO] [stdout] test a_json_failure_goes_to_stderr_as_json_and_only_once ... ok
[INFO] [stdout] test hsv_is_converted_because_the_protocol_has_none ... ok
[INFO] [stdout] test output_renderer_formats_typed_data_as_json ... ok
[INFO] [stdout] test off_and_toggle_write_the_power_state ... ok
[INFO] [stdout] test no_color_suppresses_colour ... ok
[INFO] [stdout] test logging_never_lands_on_stdout ... ok
[INFO] [stdout] test a_failure_goes_to_stderr_and_stdout_stays_empty ... ok
[INFO] [stdout] test output_is_not_coloured_when_it_is_not_going_to_a_terminal ... ok
[INFO] [stdout] test rust_log_overrides_the_verbosity_flag ... ok
[INFO] [stdout] test the_cli_is_more_patient_than_the_library_default ... ok
[INFO] [stdout] test discover_finding_nothing_is_a_success_with_an_empty_list ... ok
[INFO] [stdout] test the_command_tree_is_internally_consistent ... ok
[INFO] [stdout] test the_scan_window_defaults_to_the_measured_one ... ok
[INFO] [stdout] test a_colour_with_nothing_lit_in_it_is_refused_before_it_is_sent ... ok
[INFO] [stdout] test on_sends_the_colour_it_was_given ... ok
[INFO] [stdout] test the_push_commands_are_still_stubbed_and_name_themselves ... ok
[INFO] [stdout] test version_does_not_need_a_subcommand ... ok
[INFO] [stdout] test a_scene_is_named_or_numbered_and_matched_leniently ... ok
[INFO] [stdout] test set_uses_set_state_and_needs_something_to_set ... ok
[INFO] [stdout] test status_reports_what_the_bulb_says_it_is_doing ... ok
[INFO] [stdout] test version_reports_the_crate_version ... ok
[INFO] [stdout] test status_shows_a_white_emitter_only_when_it_is_lit ... ok
[INFO] [stdout] test scenes_lists_only_what_that_class_plays ... ok
[INFO] [stdout] test status_names_a_running_scene ... ok
[INFO] [stdout] test the_white_emitters_compose_with_a_colour ... ok
[INFO] [stdout] test two_ways_of_saying_a_colour_is_a_usage_error ... ok
[INFO] [stdout] test verbosity_controls_the_log_output ... ok
[INFO] [stdout] test discover_lists_what_answered ... ok
[INFO] [stdout] test discover_json_carries_the_envelope_and_one_object_per_bulb ... ok
[INFO] [stdout] test a_mac_nothing_answers_to_is_not_found_rather_than_a_failure ... ok
[INFO] [stdout] test a_fan_out_labels_every_line_with_the_bulb_it_came_from ... ok
[INFO] [stdout] test all_fans_out_and_one_failure_does_not_hide_the_others ... ok
[INFO] [stdout] test discover_reports_a_bulb_that_will_not_describe_itself ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.93s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/discovery.rs (/opt/rustwide/target/debug/build/wizlight/30e0a848dc9d4d41/out/discovery-30e0a848dc9d4d41)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test the_defaults_are_the_broadcast_address_and_one_second ... ok
[INFO] [stdout] test bulbs_are_reported_as_they_answer ... ok
[INFO] [stdout] test dropping_the_stream_stops_the_broadcasts ... ok
[INFO] [stdout] test finds_every_bulb_that_answers ... ok
[INFO] [stdout] test a_bulb_answering_every_broadcast_is_reported_once ... ok
[INFO] [stdout] test a_bulb_that_ignores_broadcasts_is_still_found ... ok
[INFO] [stdout] test a_bulb_that_moved_keeps_its_identity ... ok
[INFO] [stdout] test system_config_is_fetched_on_request ... ok
[INFO] [stdout] test sends_the_registration_the_app_sends ... ok
[INFO] [stdout] test garbage_is_ignored ... ok
[INFO] [stdout] test something_that_is_not_a_bulb_is_ignored ... ok
[INFO] [stdout] test a_bulb_that_will_not_elaborate_is_still_a_bulb ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.68s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mock_bulb.rs (/opt/rustwide/target/debug/build/wizlight/b18b274ee79cc4ff/out/mock_bulb-b18b274ee79cc4ff)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test answers_with_garbage_on_demand ... ok
[INFO] [stdout] test colour_temperature_and_scene_are_mutually_exclusive ... ok
[INFO] [stdout] test out_of_range_temperature_and_scene_are_rejected ... ok
[INFO] [stdout] test rejects_input_that_is_not_a_request ... ok
[INFO] [stdout] test records_the_exact_bytes_received ... ok
[INFO] [stdout] test rejects_unknown_methods_and_missing_params ... ok
[INFO] [stdout] test registration_starts_the_push_stream ... ok
[INFO] [stdout] test out_of_range_dimming_is_clamped_not_rejected ... ok
[INFO] [stdout] test set_state_turns_the_bulb_on ... ok
[INFO] [stdout] test can_push_before_acknowledging ... ok
[INFO] [stdout] test colour_temperature_and_scene_wake_a_sleeping_bulb ... ok
[INFO] [stdout] test reports_its_initial_state ... ok
[INFO] [stdout] test dimming_alone_does_not_wake_a_sleeping_bulb ... ok
[INFO] [stdout] test a_running_scene_reports_only_the_parameters_it_uses ... ok
[INFO] [stdout] test a_temperature_outside_the_model_range_is_clamped_not_rejected ... ok
[INFO] [stdout] test scene_ids_past_the_last_scene_are_accepted_and_clamped ... ok
[INFO] [stdout] test set_pilot_changes_state_and_acknowledges ... ok
[INFO] [stdout] test user_slots_work_only_when_populated ... ok
[INFO] [stdout] test two_bulbs_run_side_by_side ... ok
[INFO] [stdout] test answers_with_a_forced_error_on_demand ... ok
[INFO] [stdout] test power_reporting_is_per_model ... ok
[INFO] [stdout] test personalities_report_their_own_hardware ... ok
[INFO] [stdout] test delays_replies_on_demand ... ok
[INFO] [stdout] test stops_serving_once_dropped ... ok
[INFO] [stdout] test unregistering_stops_the_push_stream ... ok
[INFO] [stderr]      Running tests/protocol.rs (/opt/rustwide/target/debug/build/wizlight/15e50814a7d07ee9/out/protocol-15e50814a7d07ee9)
[INFO] [stdout] test drops_datagrams_on_demand ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test a_conflicting_builder_never_reaches_the_wire ... ok
[INFO] [stdout] test get_power_is_answered_by_this_model ... ok
[INFO] [stdout] test get_power_missing_on_legacy_personalities ... ok
[INFO] [stdout] test a_reported_dimming_the_builder_would_refuse_still_parses ... ok
[INFO] [stdout] test kelvin_range_uses_model_config_when_present ... ok
[INFO] [stdout] test empty_builder_is_rejected_before_the_wire ... ok
[INFO] [stdout] test get_pilot_returns_typed_state ... ok
[INFO] [stdout] test reboot_is_refused_by_the_hardware_and_says_so ... ok
[INFO] [stdout] test bulb_type_describes_the_measured_hardware ... ok
[INFO] [stdout] test pilot_survives_missing_optional_fields ... ok
[INFO] [stdout] test a_socket_has_nothing_to_dim ... ok
[INFO] [stdout] test bulb_type_of_a_dual_head_bulb_reports_two_heads ... ok
[INFO] [stdout] test a_fan_reports_its_speed_range ... ok
[INFO] [stdout] test reset_is_assumed_to_behave_like_reboot ... ok
[INFO] [stdout] test kelvin_range_reads_a_legacy_model_config ... ok
[INFO] [stdout] test colour_modes_are_mutually_exclusive_on_the_bulb ... ok
[INFO] [stdout] test firmware_too_old_for_a_module_name_falls_back_to_its_type_id ... ok
[INFO] [stdout] test bulb_type_reads_white_channels_from_drv_conf_on_old_firmware ... ok
[INFO] [stdout] test kelvin_range_falls_back_to_user_config ... ok
[INFO] [stdout] test ratio_and_devices_reach_a_dual_head_bulb ... ok
[INFO] [stdout] test a_bulb_that_cannot_describe_itself_says_so ... ok
[INFO] [stdout] test socket_personality_reports_power ... ok
[INFO] [stdout] test set_pilot_rgbw_puts_the_white_channel_on_the_wire ... ok
[INFO] [stdout] test set_pilot_rgb_round_trips_and_matches_wire_format ... ok
[INFO] [stdout] test set_state_uses_the_set_state_method ... ok
[INFO] [stdout] test scene_and_speed_round_trip ... ok
[INFO] [stdout] test a_colour_bulb_that_reports_no_kelvin_range_is_an_error ... ok
[INFO] [stdout] test a_dimmable_white_bulb_takes_dimming_and_reports_its_range ... ok
[INFO] [stdout] test system_model_and_user_config_parse ... ok
[INFO] [stdout] test silence_is_still_forgiven_for_reboot_and_reset ... ok
[INFO] [stdout] test the_scene_list_follows_the_bulb_s_class ... ok
[INFO] [stdout] test every_scene_round_trips_through_a_bulb ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.55s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/push.rs (/opt/rustwide/target/debug/build/wizlight/98b0190308c96c3c/out/push-98b0190308c96c3c)
[INFO] [stdout] running 7 tests
[INFO] [stdout] test mock_bulb_sync_pilot_is_parsed_and_registered_with_the_route_source_ip ... ok
[INFO] [stdout] test dropping_the_last_subscription_stops_the_listener ... ok
[INFO] [stdout] test port_in_use_has_a_typed_polling_fallback_reason ... ok
[INFO] [stdout] test registration_is_refreshed_every_twenty_seconds ... ok
[INFO] [stdout] test registry_routes_by_mac_and_the_last_cancel_releases_the_port ... ok
[INFO] [stdout] test refresh_reregisters_after_discovery_clears_the_push_target ... ok
[INFO] [stdout] test first_beat_is_delivered_while_test_garbage_and_other_macs_are_ignored ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stream.rs (/opt/rustwide/target/debug/build/wizlight/4b7a430f1ddd2513/out/stream-4b7a430f1ddd2513)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test default_rate_is_the_unmeasured_twenty_hertz_placeholder ... ok
[INFO] [stdout] test an_address_family_mismatch_drops_the_frame_without_retrying ... ok
[INFO] [stdout] test first_frame_is_sent_without_waiting_for_an_acknowledgement ... ok
[INFO] [stdout] test dropping_the_handle_also_flushes_the_final_frame ... ok
[INFO] [stdout] test graceful_shutdown_waits_for_and_flushes_the_final_frame ... ok
[INFO] [stdout] test token_bucket_honours_the_rate_and_coalesces_a_flood_to_one_frame ... ok
[INFO] [stdout] test an_active_stream_does_not_break_a_request_on_the_shared_socket ... ok
[INFO] [stdout] test one_kilohertz_input_stays_at_the_configured_packet_rate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/transport.rs (/opt/rustwide/target/debug/build/wizlight/c0d702cbccd6aa85/out/transport-c0d702cbccd6aa85)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test a_method_the_firmware_lacks_is_not_supported ... ok
[INFO] [stdout] test any_other_refusal_keeps_the_bulb_s_own_code ... ok
[INFO] [stdout] test rejected_params_are_reported_as_such ... ok
[INFO] [stdout] test a_reply_that_is_not_json_is_an_error ... ok
[INFO] [stdout] test power_is_answered_by_models_that_implement_it ... ok
[INFO] [stdout] test a_model_without_the_method_at_all_says_so ... ok
[INFO] [stdout] test sends_the_params_it_was_given ... ok
[INFO] [stdout] test unknown_fields_in_a_reply_are_ignored ... ok
[INFO] [stdout] test connect_uses_the_standard_port ... ok
[INFO] [stdout] test answers_a_request ... ok
[INFO] [stdout] test a_push_arriving_first_is_not_mistaken_for_the_acknowledgement ... ok
[INFO] [stdout] test concurrent_requests_do_not_steal_each_other_s_replies ... ok
[INFO] [stdout] test a_reply_from_somewhere_else_is_ignored ... ok
[INFO] [stdout] test retries_are_paced ... ok
[INFO] [stdout] test retries_until_the_bulb_answers ... ok
[INFO] [stdout] test a_reply_to_an_abandoned_request_is_not_reused ... ok
[INFO] [stdout] test gives_up_after_the_configured_attempts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wizlight
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test src/bulb.rs - bulb::Bulb::scenes (line 346) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 173) - compile ... ok
[INFO] [stdout] test src/bulb.rs - bulb::Bulb (line 23) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 89) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 60) - compile ... ok
[INFO] [stdout] test src/discovery.rs - discovery::Discovery (line 93) - compile ... ok
[INFO] [stdout] test src/bulb.rs - bulb::Bulb::stream (line 105) - compile ... ok
[INFO] [stdout] test src/push.rs - push::PushManager (line 80) - compile ... ok
[INFO] [stdout] test src/bulb.rs - bulb::Bulb::bulb_type (line 300) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 159) ... ok
[INFO] [stdout] test src/protocol/types.rs - protocol::types::SceneId::user_slot (line 205) ... ok
[INFO] [stdout] test src/protocol/model.rs - protocol::model::BulbData (line 437) ... ok
[INFO] [stdout] test src/protocol/model.rs - protocol::model::ModuleName (line 190) ... ok
[INFO] [stdout] test src/protocol/pilot.rs - protocol::pilot::PilotBuilder (line 102) ... ok
[INFO] [stdout] test src/protocol/model.rs - protocol::model::BulbType::scenes (line 576) ... ok
[INFO] [stdout] test src/../README.md - (line 114) ... ok
[INFO] [stdout] test src/protocol/types.rs - protocol::types::SceneId (line 135) ... ok
[INFO] [stdout] test src/protocol/pilot.rs - protocol::pilot::PilotBuilder (line 117) ... ok
[INFO] [stdout] test src/protocol/request.rs - protocol::request::Request (line 24) ... ok
[INFO] [stdout] test src/../README.md - (line 128) ... ok
[INFO] [stdout] test src/protocol/scene.rs - protocol::scene::Scene (line 132) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.24s; merged doctests compilation took 1.22s
[INFO] running `Command { std: "docker" "inspect" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530", kill_on_drop: false }`
[INFO] [stdout] be3d8efdb467d0ffe35fd94a9e7ff480f6c01336894ccf6f3a232df3e54c3530
