[INFO] cloning repository https://github.com/2nugu/gcode-inspector
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/2nugu/gcode-inspector" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2nugu%2Fgcode-inspector", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2nugu%2Fgcode-inspector'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36d3eb7fae57eaf23594bbb7e490712a1d43ad0d
[INFO] testing 2nugu/gcode-inspector against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2nugu%2Fgcode-inspector" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/2nugu/gcode-inspector
[INFO] finished tweaking git repo https://github.com/2nugu/gcode-inspector
[INFO] tweaked toml for git repo https://github.com/2nugu/gcode-inspector written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/2nugu/gcode-inspector on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/2nugu/gcode-inspector 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93
[INFO] running `Command { std: "docker" "start" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", 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" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", 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" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcode-inspector v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 15.82s
[INFO] running `Command { std: "docker" "inspect" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", 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" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcode-inspector v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 46.56s
[INFO] running `Command { std: "docker" "inspect" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", 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" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/gcode_inspector-7c91be39ac05ea5e)
[INFO] [stdout] 
[INFO] [stdout] running 318 tests
[INFO] [stdout] test analyzer::tests::comments_only_stream_is_handled ... ok
[INFO] [stdout] test analyzer::tests::an_empty_stream_is_handled ... ok
[INFO] [stdout] test analyzer::tests::file_settings_reach_the_planner ... ok
[INFO] [stdout] test analyzer::tests::layer_heights_and_z_are_recorded ... ok
[INFO] [stdout] test analyzer::tests::sub_step_moves_are_folded_and_conserve_geometry_and_extrusion ... ok
[INFO] [stdout] test analyzer::tests::an_overhang_is_found_in_a_real_stream ... ok
[INFO] [stdout] test ansi::tests::colour_can_be_forced_on ... ok
[INFO] [stdout] test analyzer::tests::a_clean_tower_produces_layers_and_no_high_severity_findings ... ok
[INFO] [stdout] test analyzer::tests::a_prime_move_lays_no_path_and_does_not_become_support ... ok
[INFO] [stdout] test ansi::tests::colour_is_off_when_not_a_tty ... ok
[INFO] [stdout] test analyzer::tests::retracting_before_every_travel_does_not_disable_the_support_test ... ok
[INFO] [stdout] test ansi::tests::display_width_skips_escape_sequences ... ok
[INFO] [stdout] test analyzer::tests::a_dwell_adds_to_the_total_time ... ok
[INFO] [stdout] test ansi::tests::pad_accounts_for_colour ... ok
[INFO] [stdout] test ansi::tests::severity_marks_are_distinct ... ok
[INFO] [stdout] test analyzer::tests::the_layer_range_filter_narrows_the_report ... ok
[INFO] [stdout] test ansi::tests::never_wins_over_a_tty ... ok
[INFO] [stdout] test arc::tests::clockwise_goes_the_other_way ... ok
[INFO] [stdout] test arc::tests::accepts_an_arc_whose_coordinates_were_rounded_to_three_decimals ... ok
[INFO] [stdout] test arc::tests::chord_error_respects_tolerance ... ok
[INFO] [stdout] test arc::tests::full_circle_when_start_equals_end ... ok
[INFO] [stdout] test analyzer::tests::arcs_are_expanded_and_counted ... ok
[INFO] [stdout] test arc::tests::helical_arc_tracks_linear_axis ... ok
[INFO] [stdout] test arc::tests::radius_form_minor_and_major ... ok
[INFO] [stdout] test arc::tests::quarter_circle_ij ... ok
[INFO] [stdout] test analyzer::tests::folding_never_merges_across_a_travel ... ok
[INFO] [stdout] test analyzer::tests::vase_mode_is_detected_and_reported ... ok
[INFO] [stdout] test analyzer::tests::disabling_a_check_removes_its_findings_only ... ok
[INFO] [stdout] test ansi::tests::bars_scale_and_never_exceed_their_width ... ok
[INFO] [stdout] test ansi::tests::a_degenerate_maximum_does_not_panic ... ok
[INFO] [stdout] test analyzer::tests::a_malformed_arc_is_surfaced ... ok
[INFO] [stdout] test arc::tests::rejects_impossible_radius ... ok
[INFO] [stdout] test ansi::tests::ascii_bars_use_hashes_only ... ok
[INFO] [stdout] test analyzer::tests::the_extruded_volume_matches_the_commanded_filament ... ok
[INFO] [stdout] test cli::tests::check_toggles_turn_detectors_off ... ok
[INFO] [stdout] test cli::tests::defaults_are_sane ... ok
[INFO] [stdout] test cli::tests::double_dash_stops_option_parsing ... ok
[INFO] [stdout] test cli::tests::firmware_names_are_validated ... ok
[INFO] [stdout] test cli::tests::format_shorthands_work ... ok
[INFO] [stdout] test cli::tests::help_and_version_short_circuit ... ok
[INFO] [stdout] test cli::tests::help_text_mentions_every_long_flag_it_accepts ... ok
[INFO] [stdout] test cli::tests::layer_range_is_parsed_and_validated ... ok
[INFO] [stdout] test cli::tests::machine_flags_are_marked_as_flag_provenance ... ok
[INFO] [stdout] test cli::tests::two_inputs_are_rejected ... ok
[INFO] [stdout] test cli::tests::unknown_options_are_rejected_not_ignored ... ok
[INFO] [stdout] test arc::tests::zx_plane_arc_stays_in_zx ... ok
[INFO] [stdout] test cli::tests::newly_exposed_thresholds_are_settable_and_validated ... ok
[INFO] [stdout] test config::tests::filament_area_is_circular ... ok
[INFO] [stdout] test cli::tests::fail_on_accepts_none ... ok
[INFO] [stdout] test config::tests::flag_beats_file ... ok
[INFO] [stdout] test config::tests::klipper_deviation_reproduces_square_corner_velocity ... ok
[INFO] [stdout] test config::tests::the_block_rate_default_follows_the_firmware ... ok
[INFO] [stdout] test arc::tests::rejects_inconsistent_offsets ... ok
[INFO] [stdout] test arc::tests::still_rejects_a_radius_that_is_wrong_by_more_than_rounding ... ok
[INFO] [stdout] test cli::tests::a_missing_value_is_reported_against_its_flag ... ok
[INFO] [stdout] test dashboard::tests::a_clean_print_says_so_and_omits_the_map ... ok
[INFO] [stdout] test dashboard::tests::escaping_covers_the_characters_that_break_html ... ok
[INFO] [stdout] test cli::tests::a_wrong_length_axis_list_is_rejected ... ok
[INFO] [stdout] test cli::tests::stdin_is_the_default_input ... ok
[INFO] [stdout] test detector::tests::a_detector_only_writes_the_hooks_it_needs ... ok
[INFO] [stdout] test detector::tests::a_non_object_feature_is_visible_to_detectors ... ok
[INFO] [stdout] test dashboard::tests::a_plain_report_does_not_poll_for_itself ... ok
[INFO] [stdout] test cli::tests::the_grid_is_clamped_to_the_nozzle ... ok
[INFO] [stdout] test cli::tests::axis_lists_accept_four_values_or_one ... ok
[INFO] [stdout] test detector::tests::the_trait_is_object_safe ... ok
[INFO] [stdout] test dashboard::tests::a_watched_report_reloads_itself_and_keeps_the_reader_in_place ... ok
[INFO] [stdout] test extrusion::tests::a_bridge_is_measured_at_its_own_height_not_the_layer_height ... ok
[INFO] [stdout] test dashboard::tests::provenance_is_carried_into_the_html ... ok
[INFO] [stdout] test extrusion::tests::a_final_retraction_alone_is_not_drift ... ok
[INFO] [stdout] test extrusion::tests::a_retraction_before_the_travel_silences_it ... ok
[INFO] [stdout] test dashboard::tests::an_empty_input_still_produces_a_valid_document ... ok
[INFO] [stdout] test extrusion::tests::a_long_travel_that_stays_over_the_part_is_not_flagged ... ok
[INFO] [stdout] test dashboard::tests::a_defective_print_shows_its_findings_and_a_verdict ... ok
[INFO] [stdout] test analyzer::tests::memory_does_not_grow_with_the_number_of_layers ... ok
[INFO] [stdout] test dashboard::tests::tags_are_balanced ... ok
[INFO] [stdout] test extrusion::tests::balanced_retractions_raise_nothing_at_the_end ... ok
[INFO] [stdout] test extrusion::tests::deviation_within_tolerance_is_silent ... ok
[INFO] [stdout] test extrusion::tests::over_and_under_extrusion_are_distinguished ... ok
[INFO] [stdout] test extrusion::tests::the_two_flow_models_disagree_by_about_ten_percent ... ok
[INFO] [stdout] test extrusion::tests::a_nominal_bead_raises_nothing ... ok
[INFO] [stdout] test extrusion::tests::high_flow_is_reported_with_the_rate ... ok
[INFO] [stdout] test extrusion::tests::short_travels_are_not_flagged ... ok
[INFO] [stdout] test extrusion::tests::a_travel_that_crosses_open_space_unretracted_is_flagged ... ok
[INFO] [stdout] test extrusion::tests::start_gcode_prime_lines_are_neither_checked_nor_counted ... ok
[INFO] [stdout] test extrusion::tests::a_wipe_counts_as_a_retraction_even_though_it_moves ... ok
[INFO] [stdout] test extrusion::tests::the_reference_is_learned_from_the_print_not_one_layer ... ok
[INFO] [stdout] test extrusion::tests::width_round_trips_through_both_flow_models ... ok
[INFO] [stdout] test dashboard::tests::the_source_name_is_escaped_everywhere_it_appears ... ok
[INFO] [stdout] test dashboard::tests::the_document_is_complete_and_self_contained ... ok
[INFO] [stdout] test extrusion::tests::drifting_retractions_are_reported ... ok
[INFO] [stdout] test extrusion::tests::flow_under_the_limit_is_silent ... ok
[INFO] [stdout] test extrusion::tests::one_odd_layer_does_not_poison_the_reference ... ok
[INFO] [stdout] test dashboard::tests::the_reload_interval_has_a_floor ... ok
[INFO] [stdout] test extrusion::tests::a_declared_width_overrides_the_learned_reference ... ok
[INFO] [stdout] test dashboard::tests::the_layer_chart_has_one_bar_per_layer ... ok
[INFO] [stdout] test feature::tests::specificity_order_holds_where_keywords_overlap ... ok
[INFO] [stdout] test grid::tests::a_bead_that_is_wide_as_well_as_tall_is_refused ... ok
[INFO] [stdout] test feature::tests::every_slicer_vocabulary_classifies ... ok
[INFO] [stdout] test geometry::tests::a_bead_thinner_than_a_cell_still_leaves_a_trace ... ok
[INFO] [stdout] test grid::tests::a_disc_with_absurd_coordinates_is_refused ... ok
[INFO] [stdout] test grid::tests::a_non_finite_radius_does_not_stop_the_bead_being_drawn ... ok
[INFO] [stdout] test feature::tests::an_unrecognised_label_demotes_nothing ... ok
[INFO] [stdout] test feature::tests::multibyte_labels_do_not_panic ... ok
[INFO] [stdout] test geometry::tests::a_layer_printed_lower_than_the_last_is_not_supported_by_it ... ok
[INFO] [stdout] test geometry::tests::an_empty_layer_keeps_the_previous_reference ... ok
[INFO] [stdout] test extrusion::tests::with_no_layer_below_the_question_is_left_unanswered ... ok
[INFO] [stdout] test extrusion::tests::without_a_declaration_the_learned_reference_still_applies ... ok
[INFO] [stdout] test feature::tests::a_visible_surface_is_never_demoted ... ok
[INFO] [stdout] test geometry::tests::the_first_layer_has_nothing_below_it ... ok
[INFO] [stdout] test grid::tests::a_wide_but_plausible_bead_is_still_drawn ... ok
[INFO] [stdout] test feature::tests::a_label_longer_than_the_buffer_still_classifies ... ok
[INFO] [stdout] test grid::tests::nearest_finds_the_true_minimum ... ok
[INFO] [stdout] test grid::tests::ordinary_beads_are_untouched_by_the_guard ... ok
[INFO] [stdout] test grid::tests::refusals_survive_clear_because_they_count_for_the_whole_print ... ok
[INFO] [stdout] test grid::tests::flooring_a_coordinate_past_the_integer_range_does_not_wrap ... ok
[INFO] [stdout] test grid::tests::for_each_visits_exactly_the_set_cells ... ok
[INFO] [stdout] test grid::tests::nearest_ring_search_agrees_with_brute_force ... ok
[INFO] [stdout] test grid::tests::scanline_capsule_matches_a_brute_force_bounding_box_scan ... ok
[INFO] [stdout] test geometry::tests::promotion_carries_the_material_across ... ok
[INFO] [stdout] test grid::tests::absurd_coordinates_are_refused_rather_than_walked ... ok
[INFO] [stdout] test grid::tests::any_within_matches_a_brute_force_scan ... ok
[INFO] [stdout] test grid::tests::capsule_area_approximates_the_analytic_value ... ok
[INFO] [stdout] test grid::tests::capsule_does_not_overreach ... ok
[INFO] [stdout] test grid::tests::clear_recycles_tiles_and_empties_the_grid ... ok
[INFO] [stdout] test lexer::tests::swar_find_byte_matches_naive ... ok
[INFO] [stdout] test geometry::tests::invalidating_drops_the_reference ... ok
[INFO] [stdout] test lexer::tests::tolerates_compact_and_lowercase ... ok
[INFO] [stdout] test machine::tests::bambu_and_orca_declarations_are_read ... ok
[INFO] [stdout] test grid::tests::diagonal_capsule_has_no_gaps ... ok
[INFO] [stdout] test machine::tests::a_bambu_feature_label_with_a_leading_space_is_read ... ok
[INFO] [stdout] test grid::tests::nearest_is_zero_over_material ... ok
[INFO] [stdout] test machine::tests::dwell_is_reported_in_seconds ... ok
[INFO] [stdout] test machine::tests::feature_and_layer_comments ... ok
[INFO] [stdout] test lexer::tests::extended_params ... ok
[INFO] [stdout] test lexer::tests::reads_lines_across_refills ... ok
[INFO] [stdout] test lexer::tests::strips_comments_and_checksum ... ok
[INFO] [stdout] test machine::tests::absolute_and_relative_positioning ... ok
[INFO] [stdout] test machine::tests::arc_expands_into_many_segments_sharing_an_id ... ok
[INFO] [stdout] test grid::tests::set_and_get_roundtrip_across_tiles_and_negatives ... ok
[INFO] [stdout] test machine::tests::file_settings_are_captured_with_provenance ... ok
[INFO] [stdout] test grid::tests::setting_twice_counts_once ... ok
[INFO] [stdout] test lexer::tests::splits_words ... ok
[INFO] [stdout] test machine::tests::homing_resets_position_without_emitting_motion ... ok
[INFO] [stdout] test machine::tests::inch_mode_scales_lengths_and_feed ... ok
[INFO] [stdout] test machine::tests::klipper_velocity_limit_is_understood ... ok
[INFO] [stdout] test mesh::tests::a_single_cell_layer_is_a_closed_box ... ok
[INFO] [stdout] test mesh::tests::an_empty_layer_does_not_break_the_stack ... ok
[INFO] [stdout] test machine::tests::volumetric_extrusion_converts_to_filament_mm ... ok
[INFO] [stdout] test machine::tests::g92_e_reset_does_not_create_extrusion ... ok
[INFO] [stdout] test mesh::tests::declared_normals_match_the_winding ... ok
[INFO] [stdout] test mesh::tests::ascii_output_is_a_valid_solid ... ok
[INFO] [stdout] test machine::tests::declared_width_and_height_are_picked_up ... ok
[INFO] [stdout] test mesh::tests::a_gap_between_layers_still_closes ... ok
[INFO] [stdout] test mesh::tests::an_empty_stream_produces_an_empty_but_valid_stl ... ok
[INFO] [stdout] test machine::tests::relative_and_absolute_extrusion_agree ... ok
[INFO] [stdout] test model::tests::a_bad_transform_shows_up_as_anisotropy_rather_than_scale ... ok
[INFO] [stdout] test mesh::tests::resolution_trades_triangles_for_fidelity ... ok
[INFO] [stdout] test mesh::tests::the_enclosed_volume_matches_the_voxel_count ... ok
[INFO] [stdout] test mesh::tests::the_surface_is_closed_every_edge_used_an_even_number_of_times ... ok
[INFO] [stdout] test model::tests::a_binary_stl_whose_header_says_solid_is_still_binary ... ok
[INFO] [stdout] test machine::tests::repeating_a_temperature_does_not_grow_the_snapshot_table ... ok
[INFO] [stdout] test machine::tests::segment_classification ... ok
[INFO] [stdout] test mesh::tests::layers_that_share_no_cells_still_close ... ok
[INFO] [stdout] test mesh::tests::a_prime_line_above_the_first_layer_still_closes ... ok
[INFO] [stdout] test machine::tests::malformed_arc_is_reported_and_degrades_to_a_line ... ok
[INFO] [stdout] test machine::tests::machine_state_is_attributed_to_the_move_it_was_queued_under ... ok
[INFO] [stdout] test machine::tests::modal_motion_repeats ... ok
[INFO] [stdout] test model::tests::a_part_laid_flat_for_printing_is_recognised_as_rotated ... ok
[INFO] [stdout] test model::tests::a_part_that_simply_matches_is_not_called_rotated ... ok
[INFO] [stdout] test model::tests::a_section_adds_up_to_the_volume ... ok
[INFO] [stdout] test model::tests::a_section_of_a_wound_inside_out_mesh_is_still_positive ... ok
[INFO] [stdout] test model::tests::a_section_through_a_cube_is_its_footprint ... ok
[INFO] [stdout] test model::tests::a_uniform_scale_is_not_a_rotation ... ok
[INFO] [stdout] test model::tests::a_degenerate_extent_is_refused_rather_than_divided_by ... ok
[INFO] [stdout] test model::tests::welding_survives_f32_rounding ... ok
[INFO] [stdout] test motion::tests::a_corner_slower_than_the_reference_anyway_is_not_reported ... ok
[INFO] [stdout] test model::tests::a_closed_cube_measures_its_own_volume_and_area ... ok
[INFO] [stdout] test motion::tests::a_mid_stream_jerk_reduction_is_caught ... ok
[INFO] [stdout] test motion::tests::a_right_angle_corner_is_not_a_finding_because_every_part_has_them ... ok
[INFO] [stdout] test model::tests::a_file_that_is_not_an_stl_is_an_error_not_a_panic ... ok
[INFO] [stdout] test motion::tests::a_run_below_the_perceptibility_floor_still_counts_toward_the_total ... ok
[INFO] [stdout] test motion::tests::a_shallow_corner_is_not_reported ... ok
[INFO] [stdout] test motion::tests::a_short_zig_zag_burst_is_below_the_run_threshold ... ok
[INFO] [stdout] test motion::tests::a_stopped_junction_has_no_velocity_step ... ok
[INFO] [stdout] test motion::tests::a_straight_path_raises_nothing ... ok
[INFO] [stdout] test motion::tests::coarse_segments_do_not_trip_the_block_rate_check ... ok
[INFO] [stdout] test motion::tests::a_sustained_run_of_short_segments_is_a_finding_with_the_time_it_costs ... ok
[INFO] [stdout] test motion::tests::a_sustained_zig_zag_in_the_band_is_flagged_as_resonance ... ok
[INFO] [stdout] test motion::tests::a_turn_sharper_than_a_right_angle_is_reported ... ok
[INFO] [stdout] test motion::tests::classic_jerk_firmware_keeps_axis_steps_inside_the_limit ... ok
[INFO] [stdout] test model::tests::an_ascii_stl_round_trips ... ok
[INFO] [stdout] test model::tests::a_hole_shows_up_as_open_edges ... ok
[INFO] [stdout] test model::tests::an_inch_export_shows_up_as_a_scale_of_about_25 ... ok
[INFO] [stdout] test model::tests::an_unrelated_mesh_is_not_mistaken_for_a_rotation ... ok
[INFO] [stdout] test motion::tests::junction_deviation_firmware_raises_no_jerk_findings ... ok
[INFO] [stdout] test motion::tests::one_short_segment_among_long_ones_is_not_a_finding ... ok
[INFO] [stdout] test motion::tests::the_resonance_check_is_silent_unless_a_band_is_stated ... ok
[INFO] [stdout] test model::tests::a_matching_toolpath_is_one_to_one ... ok
[INFO] [stdout] test motion::tests::throttled_fraction_tracks_speed_loss ... ok
[INFO] [stdout] test motion::tests::the_same_corner_is_judged_differently_on_a_stiffer_machine ... ok
[INFO] [stdout] test motion::tests::the_peak_junction_step_is_tracked_even_without_findings ... ok
[INFO] [stdout] test motion::tests::travel_corners_are_ignored ... ok
[INFO] [stdout] test numparse::tests::consumed_length ... ok
[INFO] [stdout] test numparse::tests::integers ... ok
[INFO] [stdout] test geometry::tests::memory_is_flat_in_the_number_of_layers ... ok
[INFO] [stdout] test numparse::tests::long_mantissa_fallback ... ok
[INFO] [stdout] test numparse::tests::matches_std_parser_bitwise ... ok
[INFO] [stdout] test numparse::tests::plain_decimals ... ok
[INFO] [stdout] test output::tests::empty_collections_still_produce_valid_json ... ok
[INFO] [stdout] test numparse::tests::scientific_fallback ... ok
[INFO] [stdout] test motion::tests::tiny_segments_at_speed_trip_the_block_rate_check ... ok
[INFO] [stdout] test overhang::tests::a_slicer_labelled_bridge_is_downgraded_to_info ... ok
[INFO] [stdout] test overhang::tests::a_span_with_nothing_beyond_its_far_end_is_still_an_overhang ... ok
[INFO] [stdout] test overhang::tests::an_anchored_span_between_two_pillars_is_a_bridge ... ok
[INFO] [stdout] test output::tests::csv_has_a_header_and_one_row_per_finding ... ok
[INFO] [stdout] test output::tests::csv_quotes_fields_that_contain_commas ... ok
[INFO] [stdout] test output::tests::json_output_is_well_formed ... ok
[INFO] [stdout] test output::tests::machine_values_carry_their_provenance ... ok
[INFO] [stdout] test overhang::tests::an_anchor_further_away_than_the_bridge_limit_does_not_count ... ok
[INFO] [stdout] test output::tests::numbers_round_trip_readably ... ok
[INFO] [stdout] test overhang::tests::a_travel_does_not_stop_a_span_from_counting_as_anchored ... ok
[INFO] [stdout] test output::tests::strings_are_escaped ... ok
[INFO] [stdout] test overhang::tests::a_wall_receding_by_one_layer_height_reads_as_45_degrees ... ok
[INFO] [stdout] test overhang::tests::a_layer_printed_below_the_last_one_is_not_supported_by_it ... ok
[INFO] [stdout] test output::tests::non_finite_numbers_become_null_not_nan ... ok
[INFO] [stdout] test overhang::tests::an_absurd_bead_width_does_not_overflow_the_probe_count ... ok
[INFO] [stdout] test overhang::tests::a_steep_overhang_is_high_severity ... ok
[INFO] [stdout] test overhang::tests::an_unanchored_span_longer_than_the_bridge_limit_is_not_a_bridge ... ok
[INFO] [stdout] test overhang::tests::the_detector_publishes_its_probe_count ... ok
[INFO] [stdout] test overhang::tests::stacked_identical_layers_raise_nothing ... ok
[INFO] [stdout] test overhang::tests::the_first_layer_is_never_reported ... ok
[INFO] [stdout] test overhang::tests::very_short_excursions_are_ignored_as_noise ... ok
[INFO] [stdout] test planner::tests::retraction_is_planned_on_the_extruder_axis ... ok
[INFO] [stdout] test planner::tests::reversal_forces_a_stop ... ok
[INFO] [stdout] test planner::tests::straight_continuation_is_not_slowed ... ok
[INFO] [stdout] test planner::tests::a_sharper_turn_is_always_slower_than_a_right_angle ... ok
[INFO] [stdout] test planner::tests::long_move_reaches_commanded_feedrate ... ok
[INFO] [stdout] test planner::tests::klipper_square_corner_velocity_is_reproduced ... ok
[INFO] [stdout] test planner::tests::per_axis_feedrate_ceiling_applies ... ok
[INFO] [stdout] test planner::tests::queue_depth_does_not_change_retired_order ... ok
[INFO] [stdout] test overhang::tests::an_empty_layer_does_not_erase_the_support_reference ... ok
[INFO] [stdout] test overhang::tests::extruding_far_from_any_support_is_flagged_as_air ... ok
[INFO] [stdout] test planner::tests::chained_entry_and_exit_speeds_are_consistent ... ok
[INFO] [stdout] test planner::tests::classic_jerk_limits_axis_velocity_steps ... ok
[INFO] [stdout] test planner::tests::planner_invariants_hold_on_a_messy_path ... ok
[INFO] [stdout] test planner::tests::short_move_never_reaches_feedrate ... ok
[INFO] [stdout] test prescan::tests::a_flag_still_wins_over_the_trailer ... ok
[INFO] [stdout] test prescan::tests::a_multibyte_character_where_a_key_would_be_does_not_panic ... ok
[INFO] [stdout] test planner::tests::the_reference_tracks_acceleration_rather_than_being_a_constant ... ok
[INFO] [stdout] test prescan::tests::reads_a_prusaslicer_settings_block ... ok
[INFO] [stdout] test planner::tests::the_right_angle_reference_matches_what_the_planner_does_at_90_degrees ... ok
[INFO] [stdout] test prescan::tests::scanning_rewinds_the_stream ... ok
[INFO] [stdout] test planner::tests::total_time_is_additive_and_positive ... ok
[INFO] [stdout] test prescan::tests::a_short_file_is_handled_without_seeking_past_its_start ... ok
[INFO] [stdout] test prescan::tests::the_tail_wins_when_both_ends_state_a_value ... ok
[INFO] [stdout] test report::tests::a_cluster_keeps_the_worst_measured_severity_of_everything_in_it ... ok
[INFO] [stdout] test report::tests::a_custom_kind_behaves_like_a_built_in_one ... ok
[INFO] [stdout] test prescan::tests::a_valid_trailer_still_parses_after_the_fix ... ok
[INFO] [stdout] test prescan::tests::arbitrary_bytes_do_not_panic ... ok
[INFO] [stdout] test report::tests::a_defect_spanning_many_beads_is_left_alone ... ok
[INFO] [stdout] test report::tests::demotion_stops_at_the_bottom_of_the_scale ... ok
[INFO] [stdout] test report::tests::a_suppressed_finding_never_leaves_a_cluster_without_its_text ... ok
[INFO] [stdout] test prescan::tests::applied_values_are_marked_as_coming_from_the_file ... ok
[INFO] [stdout] test report::tests::different_kinds_never_merge_even_at_the_same_point ... ok
[INFO] [stdout] test prescan::tests::ignores_non_comment_lines_and_junk_values ... ok
[INFO] [stdout] test prescan::tests::reads_the_generator_banner ... ok
[INFO] [stdout] test prescan::tests::takes_the_first_of_a_per_extruder_list ... ok
[INFO] [stdout] test report::tests::a_single_layer_finding_labels_one_layer ... ok
[INFO] [stdout] test report::tests::every_built_in_kind_has_a_distinct_slug ... ok
[INFO] [stdout] test report::tests::distant_findings_stay_separate ... ok
[INFO] [stdout] test report::tests::distinct_corners_stay_distinct_across_layers ... ok
[INFO] [stdout] test report::tests::nearby_findings_merge ... ok
[INFO] [stdout] test report::tests::ranking_puts_worst_first ... ok
[INFO] [stdout] test report::tests::layer_stat_width_is_length_weighted ... ok
[INFO] [stdout] test report::tests::file_integrity_findings_are_never_weighted ... ok
[INFO] [stdout] test report::tests::the_same_feature_across_layers_becomes_one_finding_with_a_layer_range ... ok
[INFO] [stdout] test report::tests::the_same_finding_on_an_outer_wall_is_not_quietened ... ok
[INFO] [stdout] test report::tests::many_short_occurrences_that_merge_are_judged_on_their_total ... ok
[INFO] [stdout] test report::tests::weighting_can_be_turned_off ... ok
[INFO] [stdout] test report::tests::the_floor_moves_with_the_nozzle ... ok
[INFO] [stdout] test serve::tests::a_short_header_line_still_reads ... ok
[INFO] [stdout] test serve::tests::loopback_spellings_are_allowed ... ok
[INFO] [stdout] test report::tests::group_cap_suppresses_but_keeps_counting ... ok
[INFO] [stdout] test prescan::tests::the_banner_at_the_head_and_the_settings_at_the_tail_are_both_found ... ok
[INFO] [stdout] test report::tests::a_defect_shorter_than_one_bead_is_quietened ... ok
[INFO] [stdout] test report::tests::a_finding_on_sparse_infill_is_quietened ... ok
[INFO] [stdout] test serve::tests::percent_decoding_handles_the_shapes_a_browser_sends ... ok
[INFO] [stdout] test serve::tests::a_bad_port_is_a_clear_error ... ok
[INFO] [stdout] test serve::tests::a_header_line_that_never_ends_is_refused ... ok
[INFO] [stdout] test serve::tests::a_token_is_long_and_differs_between_runs ... ok
[INFO] [stdout] test serve::tests::binding_a_routable_address_is_refused ... ok
[INFO] [stdout] test serve::tests::fnv1a_matches_the_known_vectors_the_browser_must_also_produce ... ok
[INFO] [stdout] test report::tests::point_events_are_not_judged_on_length ... ok
[INFO] [stdout] test report::tests::points_straddling_a_cell_boundary_still_merge ... ok
[INFO] [stdout] test report::tests::extent_weighting_can_be_turned_off_and_needs_a_scale ... ok
[INFO] [stdout] test report::tests::feature_and_extent_weighting_compose_without_losing_the_measurement ... ok
[INFO] [stdout] test report::tests::severity_escalates_within_a_cluster ... ok
[INFO] [stdout] test tui::tests::time_formatting_rolls_over_correctly ... ok
[INFO] [stdout] test tui::tests::byte_and_count_formatting ... ok
[INFO] [stdout] test watch::tests::a_file_replaced_rather_than_overwritten_is_waited_for ... ok
[INFO] [stdout] test watch::tests::a_change_is_detected ... ok
[INFO] [stdout] test watch::tests::clearing_is_suppressed_when_the_destination_is_not_a_terminal ... ok
[INFO] [stdout] test watch::tests::the_poll_interval_has_a_floor ... ok
[INFO] [stdout] test serve::tests::the_page_fetches_nothing_at_runtime ... ok
[INFO] [stdout] test tui::tests::quiet_mode_drops_the_graph ... ok
[INFO] [stdout] test serve::tests::query_parameters_are_picked_out_by_name ... ok
[INFO] [stdout] test tui::tests::ascii_mode_emits_only_ascii ... ok
[INFO] [stdout] test watch::tests::an_unchanged_file_keeps_the_watcher_waiting ... ok
[INFO] [stdout] test watch::tests::a_file_still_being_written_is_not_reported_until_it_settles ... ok
[INFO] [stdout] test tui::tests::the_plain_report_contains_no_escape_sequences ... ok
[INFO] [stdout] test tui::tests::the_report_states_the_machine_model_when_verbose ... ok
[INFO] [stdout] test tui::tests::no_line_is_wildly_wider_than_the_terminal ... ok
[INFO] [stdout] test tui::tests::length_formatting_switches_to_metres ... ok
[INFO] [stdout] test serve::tests::the_temporary_file_sits_beside_its_target ... ok
[INFO] [stdout] test tui::tests::a_clean_file_says_so ... ok
[INFO] [stdout] test tui::tests::the_coloured_report_resets_every_sequence_it_opens ... ok
[INFO] [stdout] test planner::tests::the_early_exit_reproduces_a_full_recalculation_exactly ... ok
[INFO] [stdout] test tui::tests::many_layers_are_bucketed_into_a_readable_graph ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 318 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/gcode_inspect-dad4f4fd2a1a425a)
[INFO] [stderr]      Running tests/audit.rs (/opt/rustwide/target/release/deps/audit-aec857a974e21b10)
[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 6 tests
[INFO] [stdout] test audit_weightings_compose_and_never_raise ... ok
[INFO] [stdout] test audit_severity_demote_is_monotone_and_saturating ... ok
[INFO] [stdout] test audit_fit_verdict_branches_are_mutually_exclusive ... ok
[INFO] [stdout] test audit_merge_preserves_the_worst_severity ... ok
[INFO] [stdout] test audit_section_area_at_exact_vertex_heights ... ok
[INFO] [stdout] test audit_window_splice_boundaries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-93592fa042935a38)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test comparing_against_an_unrelated_mesh_says_so ... ok
[INFO] [stdout] test an_empty_input_is_not_an_error ... ok
[INFO] [stdout] test an_implausible_coordinate_is_reported ... ok
[INFO] [stdout] test csv_output_has_a_header_and_uniform_rows ... ok
[INFO] [stdout] test an_unknown_flag_is_rejected_rather_than_ignored ... ok
[INFO] [stdout] test json_output_is_parseable_and_carries_provenance ... ok
[INFO] [stdout] test extent_weighting_is_reachable_from_the_command_line ... ok
[INFO] [stdout] test a_missing_file_fails_with_a_message_naming_it ... ok
[INFO] [stdout] test feature_weighting_quietens_hidden_features ... ok
[INFO] [stdout] test a_non_gcode_file_does_not_panic ... ok
[INFO] [stdout] test reads_standard_input ... ok
[INFO] [stdout] test no_color_environment_variable_is_honoured ... ok
[INFO] [stdout] test serve_is_documented_in_the_help ... ok
[INFO] [stdout] test a_trailing_settings_block_is_read_before_the_toolpath ... ok
[INFO] [stdout] test the_planted_defect_is_actually_found ... ok
[INFO] [stdout] test the_flow_model_follows_the_producer_unless_pinned ... ok
[INFO] [stdout] test version_and_help_succeed_and_are_complete ... ok
[INFO] [stdout] test ascii_mode_emits_only_ascii ... ok
[INFO] [stdout] test the_report_says_what_the_block_rate_costs ... ok
[INFO] [stdout] test a_missing_or_bogus_model_fails_before_the_report ... ok
[INFO] [stdout] test the_layer_range_filter_narrows_the_report ... ok
[INFO] [stdout] test the_server_refuses_to_bind_anything_routable ... ok
[INFO] [stdout] test exit_status_follows_the_gate ... ok
[INFO] [stdout] test malformed_input_neither_panics_nor_hangs ... ok
[INFO] [stdout] test machine_readable_formats_keep_stdout_clean ... ok
[INFO] [stdout] test comparing_against_the_exported_mesh_agrees_with_itself ... ok
[INFO] [stdout] test stl_export_writes_a_closed_binary_mesh ... ok
[INFO] [stdout] test a_coarser_stl_grid_produces_a_smaller_mesh ... ok
[INFO] [stderr]      Running tests/extend.rs (/opt/rustwide/target/release/deps/extend-3417e78c5987b511)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test a_consumer_detector_can_query_the_reconstructed_layer_below ... ok
[INFO] [stdout] test the_detector_lifecycle_is_blocks_then_layer_ends_then_finish ... ok
[INFO] [stdout] test the_analysis_is_inspectable_without_the_terminal_report ... ok
[INFO] [stdout] test several_detectors_run_in_registration_order ... ok
[INFO] [stdout] test built_in_detectors_still_run_alongside_a_custom_one ... ok
[INFO] [stderr]    Doc-tests gcode_inspector
[INFO] [stdout] test a_consumer_detector_sees_machine_state_and_reports_its_own_kind ... ok
[INFO] [stdout] test a_detector_that_does_nothing_costs_nothing_and_changes_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/detector.rs - detector (line 15) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 45) - compile ... ok
[INFO] [stdout] test src/lib.rs - prelude (line 123) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.72s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93", kill_on_drop: false }`
[INFO] [stdout] 5fb51c11812bc6b2331c6ea19101f61058ecce9d67c497b3d5b1d9e59dd4dc93
