[INFO] cloning repository https://github.com/jordimorillo/brickbreaker-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jordimorillo/brickbreaker-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordimorillo%2Fbrickbreaker-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordimorillo%2Fbrickbreaker-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 71ce89c33954ff28bf4661ea8f9e89fff4d0d1e4
[INFO] testing jordimorillo/brickbreaker-rs against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordimorillo%2Fbrickbreaker-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jordimorillo/brickbreaker-rs
[INFO] finished tweaking git repo https://github.com/jordimorillo/brickbreaker-rs
[INFO] tweaked toml for git repo https://github.com/jordimorillo/brickbreaker-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jordimorillo/brickbreaker-rs on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jordimorillo/brickbreaker-rs 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quad-rand v0.2.3
[INFO] [stderr]   Downloaded macroquad_macro v0.1.8
[INFO] [stderr]   Downloaded objc-rs v0.2.8
[INFO] [stderr]   Downloaded miniquad v0.4.8
[INFO] [stderr]   Downloaded fontdue v0.9.3
[INFO] [stderr]   Downloaded ttf-parser v0.21.1
[INFO] [stderr]   Downloaded glam v0.27.0
[INFO] [stderr]   Downloaded macroquad v0.4.14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb
[INFO] running `Command { std: "docker" "start" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", 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" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", 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" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling miniquad v0.4.8
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling quad-rand v0.2.3
[INFO] [stderr]    Compiling glam v0.27.0
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling macroquad v0.4.14
[INFO] [stderr]    Compiling brickbreaker-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.41s
[INFO] running `Command { std: "docker" "inspect" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", 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" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling brickbreaker-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", 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" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/brickbreaker_rs-db5f29af320c3424)
[INFO] [stdout] 
[INFO] [stdout] running 87 tests
[INFO] [stdout] test application::game_service::tests::test_ball_does_not_move_before_launch ... ok
[INFO] [stdout] test application::game_service::tests::test_brick_destruction_awards_score ... ok
[INFO] [stdout] test application::game_service::tests::test_game_over_when_zero_lives_remain ... ok
[INFO] [stdout] test application::game_service::tests::test_ball_moves_when_playing ... ok
[INFO] [stdout] test application::game_service::tests::test_launch_transitions_status_to_playing ... ok
[INFO] [stdout] test application::game_service::tests::test_level_complete_when_all_bricks_gone ... ok
[INFO] [stdout] test application::game_service::tests::test_pause_toggles_status ... ok
[INFO] [stdout] test application::game_service::tests::test_quit_in_playing_state_causes_game_over ... ok
[INFO] [stdout] test application::game_state::tests::test_active_bricks_excludes_destroyed ... ok
[INFO] [stdout] test application::game_state::tests::test_game_over_is_not_active ... ok
[INFO] [stdout] test application::game_state::tests::test_all_bricks_destroyed_returns_all_gone ... ok
[INFO] [stdout] test application::game_state::tests::test_indestructible_bricks_count_as_gone ... ok
[INFO] [stdout] test application::game_state::tests::test_initial_lives_are_three ... ok
[INFO] [stdout] test application::game_state::tests::test_initial_score_is_zero ... ok
[INFO] [stdout] test application::game_state::tests::test_no_bricks_returns_all_gone ... ok
[INFO] [stdout] test application::game_state::tests::test_waiting_to_launch_is_active ... ok
[INFO] [stdout] test application::level::tests::test_bricks_do_not_overlap_right_wall ... ok
[INFO] [stdout] test application::level::tests::test_endless_level_grows_rows ... ok
[INFO] [stdout] test application::game_state::tests::test_initial_status_is_waiting_to_launch ... ok
[INFO] [stdout] test application::level::tests::test_bricks_do_not_overlap_left_wall ... ok
[INFO] [stdout] test application::game_state::tests::test_intact_brick_returns_not_all_gone ... ok
[INFO] [stdout] test application::level::tests::test_level_1_has_40_bricks ... ok
[INFO] [stdout] test application::level::tests::test_level_2_first_row_is_indestructible ... ok
[INFO] [stdout] test application::level::tests::test_level_1_all_normal_bricks ... ok
[INFO] [stdout] test application::level::tests::test_level_2_has_50_bricks ... ok
[INFO] [stdout] test application::level::tests::test_level_3_has_60_bricks ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_aabb_bounds_computed_correctly ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_advance_moves_ball_by_velocity_times_dt ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_with_position_replaces_position ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_advance_with_zero_dt_is_identity ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_with_velocity_replaces_velocity ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_normal_brick_destroyed_after_one_hit ... ok
[INFO] [stdout] test domain::entities::ball::tests::test_advance_does_not_mutate_original ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_normal_brick_has_one_hit ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_normal_brick_not_destroyed_before_hit ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_normal_brick_worth_10_points ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_tough_brick_destroyed_after_two_hits ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_tough_brick_has_two_hits ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_tough_brick_not_destroyed_after_one_hit ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_tough_brick_worth_25_points ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_aabb_bounds ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_move_does_not_mutate_original ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_move_left_decreases_x ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_move_left_clamps_at_left_wall ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_move_right_clamps_at_right_wall ... ok
[INFO] [stdout] test domain::entities::paddle::tests::test_move_right_increases_x ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_ball_does_not_hit_paddle_when_moving_up ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_ball_hits_brick_from_left ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_ball_hits_paddle_overlapping_and_moving_down ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_ball_hits_brick_from_top ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_ball_misses_paddle_to_the_side ... ok
[INFO] [stdout] test application::game_service::tests::test_bottom_wall_decrements_life ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_bottom_wall_collision ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_indestructible_never_destroyed ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_aabb_bounds ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_left_wall_collision ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_hit_does_not_mutate_original ... ok
[INFO] [stdout] test domain::entities::brick::tests::test_indestructible_worth_zero_points ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_top_wall_collision ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_combo_10_gives_triple_multiplier ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_combo_multiplier_activates_at_5 ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_no_collision_with_destroyed_brick ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_combo_multiplier_increases_every_5 ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_normal_brick_no_combo_gives_10 ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_indestructible_brick_always_zero ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_no_wall_collision_center ... ok
[INFO] [stdout] test domain::services::scoring_service::tests::test_tough_brick_no_combo_gives_25 ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_right_wall_collision ... ok
[INFO] [stdout] test domain::services::collision_service::tests::test_no_brick_collision_when_far ... ok
[INFO] [stdout] test domain::value_objects::dimensions::tests::test_half_height ... ok
[INFO] [stdout] test domain::value_objects::dimensions::tests::test_dimensions_stores_size ... ok
[INFO] [stdout] test domain::value_objects::position::tests::test_equality_by_value ... ok
[INFO] [stdout] test domain::value_objects::dimensions::tests::test_half_width ... ok
[INFO] [stdout] test domain::value_objects::position::tests::test_translate_does_not_mutate_original ... ok
[INFO] [stdout] test domain::value_objects::position::tests::test_translate_returns_new_position ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_is_moving_down_when_vy_positive ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_double_reflect_horizontal_is_identity ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_is_not_moving_down_when_vy_negative ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_reflect_horizontal_negates_vx ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_reflect_does_not_mutate_original ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_reflect_vertical_negates_vy ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_scale_preserves_direction ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_speed_computes_magnitude ... ok
[INFO] [stdout] test domain::value_objects::velocity::tests::test_speed_of_zero_vector ... ok
[INFO] [stdout] test domain::value_objects::dimensions::tests::test_equality_by_value ... ok
[INFO] [stdout] test domain::value_objects::position::tests::test_translate_by_zero_is_identity ... ok
[INFO] [stdout] test domain::value_objects::position::tests::test_position_stores_coordinates ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb", kill_on_drop: false }`
[INFO] [stdout] 734c12c0bf83150f50d7d0c13e5b8c898c3169b810f5724afe2ffb7862e3a1fb
