[INFO] cloning repository https://github.com/Swiftaff/rust_ray_tracer_challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Swiftaff/rust_ray_tracer_challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftaff%2Frust_ray_tracer_challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftaff%2Frust_ray_tracer_challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe6dd26a57cc5574dbcde434449bb35047c1d25a
[INFO] testing Swiftaff/rust_ray_tracer_challenge against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwiftaff%2Frust_ray_tracer_challenge" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Swiftaff/rust_ray_tracer_challenge on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Swiftaff/rust_ray_tracer_challenge
[INFO] finished tweaking git repo https://github.com/Swiftaff/rust_ray_tracer_challenge
[INFO] tweaked toml for git repo https://github.com/Swiftaff/rust_ray_tracer_challenge written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/Swiftaff/rust_ray_tracer_challenge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d1a2b3aba0f45740dbe10929db1dddfa5ca88bfeff33460dcdf280d98b5ebb3a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d1a2b3aba0f45740dbe10929db1dddfa5ca88bfeff33460dcdf280d98b5ebb3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1a2b3aba0f45740dbe10929db1dddfa5ca88bfeff33460dcdf280d98b5ebb3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1a2b3aba0f45740dbe10929db1dddfa5ca88bfeff33460dcdf280d98b5ebb3a", kill_on_drop: false }`
[INFO] [stdout] d1a2b3aba0f45740dbe10929db1dddfa5ca88bfeff33460dcdf280d98b5ebb3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 91d05dfdfe8462f8dfc99b89405ae805c386264cd6c7cb94ce8535ed4e9e4283
[INFO] running `Command { std: "docker" "start" "-a" "91d05dfdfe8462f8dfc99b89405ae805c386264cd6c7cb94ce8535ed4e9e4283", kill_on_drop: false }`
[INFO] [stderr]    Compiling read_input v0.8.4
[INFO] [stderr]    Compiling jobserver v0.1.21
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling chrono v0.4.11
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling openssl-sys v0.9.55
[INFO] [stderr]    Compiling libz-sys v1.0.25
[INFO] [stderr]    Compiling libssh2-sys v0.2.16
[INFO] [stderr]    Compiling libgit2-sys v0.12.3+1.0.0
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling jpeg-decoder v0.1.18
[INFO] [stderr]    Compiling git2 v0.13.2
[INFO] [stderr]    Compiling image v0.23.3
[INFO] [stderr]    Compiling last-git-commit v0.2.0
[INFO] [stderr]    Compiling rust_ray_tracer_challenge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::patterns`
[INFO] [stdout]    --> src/worlds.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     use crate::patterns;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::planes`
[INFO] [stdout]    --> src/worlds.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     use crate::planes;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] running `Command { std: "docker" "inspect" "91d05dfdfe8462f8dfc99b89405ae805c386264cd6c7cb94ce8535ed4e9e4283", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91d05dfdfe8462f8dfc99b89405ae805c386264cd6c7cb94ce8535ed4e9e4283", kill_on_drop: false }`
[INFO] [stdout] 91d05dfdfe8462f8dfc99b89405ae805c386264cd6c7cb94ce8535ed4e9e4283
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aedf6750a57bf70a6b314c229a4f0adb3ac0c0edc47c65e62f8665be80b4938a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "aedf6750a57bf70a6b314c229a4f0adb3ac0c0edc47c65e62f8665be80b4938a", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.6.17
[INFO] [stderr]    Compiling oorandom v11.1.0
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.51
[INFO] [stderr]    Compiling plotters v0.2.12
[INFO] [stderr]    Compiling bstr v0.2.12
[INFO] [stderr]    Compiling serde_derive v1.0.106
[INFO] [stderr]    Compiling csv v1.1.3
[INFO] [stderr]    Compiling criterion-plot v0.4.1
[INFO] [stderr]    Compiling tinytemplate v1.0.3
[INFO] [stderr]    Compiling regex v1.3.7
[INFO] [stderr]    Compiling criterion v0.3.1
[INFO] [stderr]    Compiling rust_ray_tracer_challenge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 28.04s
[INFO] running `Command { std: "docker" "inspect" "aedf6750a57bf70a6b314c229a4f0adb3ac0c0edc47c65e62f8665be80b4938a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aedf6750a57bf70a6b314c229a4f0adb3ac0c0edc47c65e62f8665be80b4938a", kill_on_drop: false }`
[INFO] [stdout] aedf6750a57bf70a6b314c229a4f0adb3ac0c0edc47c65e62f8665be80b4938a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] ed41b3afcc5e0d7474bbb58b54e54ae9ae5d0775eb02132f22721a6ad927657e
[INFO] running `Command { std: "docker" "start" "-a" "ed41b3afcc5e0d7474bbb58b54e54ae9ae5d0775eb02132f22721a6ad927657e", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/rust_ray_tracer_challenge-a09a21bbb84023b0
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test tuples::tests::test_color_is_rgb ... ok
[INFO] [stdout] test tuples::tests::test_colors_add ... ok
[INFO] [stdout] test tuples::tests::test_colors_subtract ... ok
[INFO] [stdout] test tuples::tests::test_colors_scalar_multiply ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_point_point_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_point_vector_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_point_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector_reversed ... ok
[INFO] [stdout] test tuples::tests::test_dividing_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dividing_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_vector_error ... ok
[INFO] [stdout] test tuples::tests::test_colors_multiply ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_two_vectors ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_vector_point_error ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_point_error ... ok
[INFO] [stdout] test tuples::tests::test_environment_has_gravity_wind ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector001 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector010 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector123 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector100 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector_neg123 ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_neg_vector ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_point_is_a_tuple_w1 ... ok
[INFO] [stdout] test tuples::tests::test_point_is_a_tuplew1 ... ok
[INFO] [stdout] test tuples::tests::test_projectile_has_position_velocity ... ok
[INFO] [stdout] test tuples::tests::test_reflect_vector_45degrees ... ok
[INFO] [stdout] test tuples::tests::test_reflect_vector_slanted_surface ... ok
[INFO] [stdout] test tuples::tests::test_tick_creates_projectile ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_point_point_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_vector_point_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_point_point_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_point_vector_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_point_vector_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal_less_than_epsilon ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_vector_point_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuple_w0 ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal_more_than_epsilon ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuplew0 ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize100 ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize123 ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize_point_is_error ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize_vec_mag_is_equal_to1 ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/rust_ray_tracer_challenge-227d2c46c0185f5b
[INFO] [stdout] 
[INFO] [stdout] running 217 tests
[INFO] [stdout] test canvas::tests::test_pixel_canvas ... ok
[INFO] [stdout] test canvas::tests::test_pixel_write ... ok
[INFO] [stdout] test canvas::tests::test_ppm_get_header ... ok
[INFO] [stdout] test camera::tests::test_constructing_a_camera ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_horizontal_canvas ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_vertical_canvas ... ok
[INFO] [stdout] test canvas::tests::test_str_remove_trailing_space_no_effect ... ok
[INFO] [stdout] test canvas::tests::test_str_from_color_get ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_when_camera_is_transformed ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_through_center_of_canvas ... ok
[INFO] [stdout] test canvas::tests::test_str_from_canvas_data_get ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_through_corner_of_canvas ... ok
[INFO] [stdout] test intersections::tests::test_hit_some_intersections_negative_t ... ok
[INFO] [stdout] test canvas::tests::test_str_from_canvas_data_get_long_lines_splitting ... ok
[INFO] [stdout] test intersections::tests::test_hit_intersection_inside ... ok
[INFO] [stdout] test intersections::tests::test_hit_always_lowest_nonnegative ... ok
[INFO] [stdout] test intersections::tests::test_aggregating_intersections ... ok
[INFO] [stdout] test canvas::tests::test_ppm_get_tail ... ok
[INFO] [stdout] test intersections::tests::test_precomputing_the_reflection_vector ... ok
[INFO] [stdout] test materials::tests::test_default_material ... ok
[INFO] [stdout] test intersections::tests::test_prepare_computations ... ok
[INFO] [stdout] test materials::tests::test_lighting_eye_in_path_reflection_vector ... ok
[INFO] [stdout] test intersections::tests::test_hit_should_offset_the_point ... ok
[INFO] [stdout] test canvas::tests::test_str_remove_trailing_space ... ok
[INFO] [stdout] test intersections::tests::test_hit_all_intersections_positive_t ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_with_a_small_angle_and_n2_greater_than_n1 ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_under_total_internal_reflection ... ok
[INFO] [stdout] test intersections::tests::test_finding_n1_and_n2_at_various_intersections ... ok
[INFO] [stdout] test materials::tests::test_lighting_surface_eye_light ... ok
[INFO] [stdout] test intersections::tests::test_intersection_has_t_and_object ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_with_a_perpendicular_viewing_angle ... ok
[INFO] [stdout] test materials::tests::test_lighting_surface_eye_light_eye_offset_45deg ... ok
[INFO] [stdout] test materials::tests::test_refelectivity_for_default_material ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m4 ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m3 ... ok
[INFO] [stdout] test lights::tests::test_lighting_with_surface_in_shadow ... ok
[INFO] [stdout] test intersections::tests::test_hit_all_intersections_negative_t ... ok
[INFO] [stdout] test materials::tests::test_lighting_eye_opposite_surface_light_offset_45deg ... ok
[INFO] [stdout] test lights::tests::test_light_point_has_position_intensity ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m2 ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m2 ... ok
[INFO] [stdout] test materials::tests::test_lighting_light_behind_surface ... ok
[INFO] [stdout] test intersections::tests::test_the_under_point_is_offset_below_the_surface ... ok
[INFO] [stdout] test materials::tests::test_lighting_with_a_pattern_applied ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_cofactor ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m3 ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_determinant ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_minor ... ok
[INFO] [stdout] test matrices::tests::test_matrix3 ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_submatrix2 ... ok
[INFO] [stdout] test matrices::tests::test_matrix4 ... ok
[INFO] [stdout] test matrices::tests::test_matrix2_determinant ... ok
[INFO] [stdout] test matrices::tests::test_matrix2 ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m4 ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse ... ok
[INFO] [stdout] test intersections::tests::test_hit_intersection_outside ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_is_invertible ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_determinant ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_multiply_by_inverse ... ok
[INFO] [stdout] test patterns::tests::test_a_ring_should_extend_in_both_x_and_z ... ok
[INFO] [stdout] test patterns::tests::test_a_pattern_with_both_an_object_and_a_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_a_stripe_pattern_alternates_in_x ... ok
[INFO] [stdout] test patterns::tests::test_a_stripe_pattern_is_constant_in_z ... ok
[INFO] [stdout] test patterns::tests::test_assigning_a_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_a_stripe_pattern_is_constant_in_y ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse_third ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_multiply_identity ... ok
[INFO] [stdout] test patterns::tests::test_a_pattern_with_an_object_transformation ... ok
[INFO] [stdout] test patterns::tests::test_checkers_should_repeat_in_x ... ok
[INFO] [stdout] test patterns::tests::test_creating_a_stripe_pattern ... ok
[INFO] [stdout] test planes::tests::test_a_plane_is_a_shape ... ok
[INFO] [stdout] test patterns::tests::test_the_default_pattern_transformation ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse_again ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_multiply ... ok
[INFO] [stdout] test patterns::tests::test_a_gradient_linearly_interpolates_between_colors ... ok
[INFO] [stdout] test materials::tests::test_transparency_and_refractive_index_for_default_material ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_tuple_multiply ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_is_invertible_not ... ok
[INFO] [stdout] test planes::tests::test_intersect_with_a_coplanar_ray ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_a_pattern_transformation ... ok
[INFO] [stdout] test rays::tests::test_scaling_ray ... ok
[INFO] [stdout] test rays::tests::test_ray ... ok
[INFO] [stdout] test rays::tests::test_point_from_distance ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_both_an_object_and_a_pattern_transformation ... ok
[INFO] [stdout] test rays::tests::test_translate_ray ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_transpose_identity ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_transpose ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_submatrix3 ... ok
[INFO] [stdout] test planes::tests::test_intersect_ray_parallel_to_plane ... ok
[INFO] [stdout] test planes::tests::test_ray_intersects_plane_from_above ... ok
[INFO] [stdout] test shapes::tests::test_intersecting_a_translated_shape_with_a_ray ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_an_object_transformation ... ok
[INFO] [stdout] test spheres::tests::test_a_helper_for_producing_a_sphere_with_a_glassy_material ... ok
[INFO] [stdout] test shapes::tests::test_shapes_have_unique_ids ... ok
[INFO] [stdout] test shapes::tests::test_intersecting_a_scaled_shape_with_a_ray ... ok
[INFO] [stdout] test spheres::tests::test_intersect_translated_sphere_with_ray ... ok
[INFO] [stdout] test spheres::tests::test_a_sphere_is_a_shape ... ok
[INFO] [stdout] test spheres::tests::test_intersect_sets_object_on_intersection ... ok
[INFO] [stdout] test spheres::tests::test_ray_intersects_sphere_at_two_identical_points_tangent ... ok
[INFO] [stdout] test spheres::tests::test_normal_on_translated_sphere ... ok
[INFO] [stdout] test spheres::tests::test_ray_misses_sphere ... ok
[INFO] [stdout] test spheres::tests::test_ray_originates_inside_sphere ... ok
[INFO] [stdout] test spheres::tests::test_intersect_scaled_sphere_with_ray ... ok
[INFO] [stdout] test spheres::tests::test_sphere_is_behind_ray ... ok
[INFO] [stdout] test planes::tests::test_ray_intersects_plane_from_below ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_is_normalized_vector ... ok
[INFO] [stdout] test spheres::tests::test_ray_intersects_sphere_at_two_points ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_point_x_axis ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_x_axis ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_nonaxial_point ... ok
[INFO] [stdout] test shapes::tests::test_computing_the_normal_on_a_translated_shape ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_point_y_axis ... ok
[INFO] [stdout] test patterns::tests::test_a_pattern_with_a_pattern_transformation ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_y_axis ... ok
[INFO] [stdout] test transformations::tests::test_shearing_x_y ... ok
[INFO] [stdout] test transformations::tests::test_inverse_scaling ... ok
[INFO] [stdout] test transformations::tests::test_shearing_y_x ... ok
[INFO] [stdout] test transformations::tests::test_shearing_x_z ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_point_z_axis ... ok
[INFO] [stdout] test transformations::tests::test_shearing_z_x ... ok
[INFO] [stdout] test transformations::tests::test_matrix_multiply_inverse_translation ... ok
[INFO] [stdout] test transformations::tests::test_scaling_point ... ok
[INFO] [stdout] test spheres::tests::test_spheres_have_unique_ids ... ok
[INFO] [stdout] test transformations::tests::test_reflection ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_z_axis ... ok
[INFO] [stdout] test transformations::tests::test_shearing_z_y ... ok
[INFO] [stdout] test transformations::tests::test_transformations ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_x_axis_opposite ... ok
[INFO] [stdout] test shapes::tests::test_computing_the_normal_on_a_transformed_shape ... ok
[INFO] [stdout] test tuples::tests::test_colors_multiply ... ok
[INFO] [stdout] test tuples::tests::test_colors_scalar_multiply ... ok
[INFO] [stdout] test tuples::tests::test_colors_subtract ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_point_point_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_point_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_point_vector_error ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector_reversed ... ok
[INFO] [stdout] test tuples::tests::test_dividing_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_point_error ... ok
[INFO] [stdout] test transformations::tests::test_translation_not_affect_vectors ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_moves_world ... ok
[INFO] [stdout] test tuples::tests::test_dividing_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_vector_error ... ok
[INFO] [stdout] test tuples::tests::test_color_is_rgb ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_matrix_looking_in_positive_z_direction ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_arbitrary ... ok
[INFO] [stdout] test tuples::tests::test_colors_add ... ok
[INFO] [stdout] test tuples::tests::test_environment_has_gravity_wind ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_matrix_default ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_two_vectors ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_vector_point_error ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector010 ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_neg_vector ... ok
[INFO] [stdout] test tuples::tests::test_point_is_a_tuple_w1 ... ok
[INFO] [stdout] test tuples::tests::test_point_is_a_tuplew1 ... ok
[INFO] [stdout] test tuples::tests::test_projectile_has_position_velocity ... ok
[INFO] [stdout] test tuples::tests::test_reflect_vector_slanted_surface ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector001 ... ok
[INFO] [stdout] test transformations::tests::test_matrix_multiply ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector_neg123 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector100 ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_tick_creates_projectile ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector123 ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_point_point_is_equal_to_error ... ok
[INFO] [stdout] test shapes::tests::test_assign_material_to_shape ... ok
[INFO] [stdout] test shapes::tests::test_shapes_default_transformation ... ok
[INFO] [stdout] test transformations::tests::test_shearing_y_z ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_point_vector_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_point_point_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuplew0 ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test spheres::tests::test_normal_on_transformed_sphere ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize123 ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_vector_point_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_vector_point_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize_point_is_error ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_point_vector_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_reflect_vector_45degrees ... ok
[INFO] [stdout] test worlds::tests::test_color_ray_hits ... ok
[INFO] [stdout] test worlds::tests::test_color_ray_misses ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal_more_than_epsilon ... ok
[INFO] [stdout] test worlds::tests::test_color_with_intersection_behind_ray ... ok
[INFO] [stdout] test worlds::tests::test_creating_a_world ... ok
[INFO] [stdout] test transformations::tests::test_scaling_vector ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal_less_than_epsilon ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuple_w0 ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize_vec_mag_is_equal_to1 ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_at_maximum_recursive_depth ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize100 ... ok
[INFO] [stdout] test worlds::tests::test_intersect_world_with_ray ... ok
[INFO] [stdout] test worlds::tests::test_color_at_with_mutually_reflective_surfaces ... ok
[INFO] [stdout] test worlds::tests::test_no_shadow_when_object_behind_light ... ok
[INFO] [stdout] test worlds::tests::test_default_world ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_for_nonreflective_material ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_at_maximum_recursive_depth ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection_from_inside ... ok
[INFO] [stdout] test worlds::tests::test_no_shadow_when_nothing_between_point_and_light ... ok
[INFO] [stdout] test worlds::tests::test_no_shadow_when_object_behind_point ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_for_reflective_material ... ok
[INFO] [stdout] test worlds::tests::test_shadow_when_something_between_point_and_light ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_under_total_internal_reflection ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_reflective_material ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_with_an_opaque_surface ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_with_refracted_ray ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_a_transparent_material ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection_in_shadow ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_a_reflective_transparent_material ... ok
[INFO] [stdout] test camera::tests::test_rendering_world_with_camera ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 217 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rust_ray_tracer_challenge
[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
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ed41b3afcc5e0d7474bbb58b54e54ae9ae5d0775eb02132f22721a6ad927657e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed41b3afcc5e0d7474bbb58b54e54ae9ae5d0775eb02132f22721a6ad927657e", kill_on_drop: false }`
[INFO] [stdout] ed41b3afcc5e0d7474bbb58b54e54ae9ae5d0775eb02132f22721a6ad927657e
