[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 beta-2020-10-09 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-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Swiftaff/rust_ray_tracer_challenge on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "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-11/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" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded read_input v0.8.4
[INFO] [stderr]   Downloaded last-git-commit v0.2.0
[INFO] [stderr]   Downloaded libgit2-sys v0.12.3+1.0.0
[INFO] [stderr]   Downloaded git2 v0.13.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2cadb6d87014d65a456fdcac38f790c4f99ccb06db141da5acd0191af476cdf6
[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" "2cadb6d87014d65a456fdcac38f790c4f99ccb06db141da5acd0191af476cdf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2cadb6d87014d65a456fdcac38f790c4f99ccb06db141da5acd0191af476cdf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cadb6d87014d65a456fdcac38f790c4f99ccb06db141da5acd0191af476cdf6", kill_on_drop: false }`
[INFO] [stdout] 2cadb6d87014d65a456fdcac38f790c4f99ccb06db141da5acd0191af476cdf6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf357705298dbc97ec478e46799cba0193abc4e10586fb80a1a9c08156e7e99d
[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" "bf357705298dbc97ec478e46799cba0193abc4e10586fb80a1a9c08156e7e99d", kill_on_drop: false }`
[INFO] [stderr]    Compiling read_input v0.8.4
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling jobserver v0.1.21
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling tiff v0.4.0
[INFO] [stderr]    Compiling png v0.16.2
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rayon v1.3.0
[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 num-integer v0.1.42
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling chrono v0.4.11
[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 21s
[INFO] running `Command { std: "docker" "inspect" "bf357705298dbc97ec478e46799cba0193abc4e10586fb80a1a9c08156e7e99d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf357705298dbc97ec478e46799cba0193abc4e10586fb80a1a9c08156e7e99d", kill_on_drop: false }`
[INFO] [stdout] bf357705298dbc97ec478e46799cba0193abc4e10586fb80a1a9c08156e7e99d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--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] 0db8c2935047a346080381d57ba7d5b2bf771bf3277ad3459e69de6d7902cc1a
[INFO] running `Command { std: "docker" "start" "-a" "0db8c2935047a346080381d57ba7d5b2bf771bf3277ad3459e69de6d7902cc1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling ryu v1.0.3
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]    Compiling oorandom v11.1.0
[INFO] [stderr]    Compiling regex v1.3.7
[INFO] [stderr]    Compiling plotters v0.2.12
[INFO] [stderr]    Compiling bstr v0.2.12
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]    Compiling serde_json v1.0.51
[INFO] [stderr]    Compiling criterion-plot v0.4.1
[INFO] [stderr]    Compiling csv v1.1.3
[INFO] [stderr]    Compiling tinytemplate v1.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.106
[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 31.46s
[INFO] running `Command { std: "docker" "inspect" "0db8c2935047a346080381d57ba7d5b2bf771bf3277ad3459e69de6d7902cc1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0db8c2935047a346080381d57ba7d5b2bf771bf3277ad3459e69de6d7902cc1a", kill_on_drop: false }`
[INFO] [stdout] 0db8c2935047a346080381d57ba7d5b2bf771bf3277ad3459e69de6d7902cc1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0ab14ff2568aa554d3c33e5a026a0ccc74c27f2eec74d8f9cda71b5ba5d8616b
[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" "0ab14ff2568aa554d3c33e5a026a0ccc74c27f2eec74d8f9cda71b5ba5d8616b", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/rust_ray_tracer_challenge-02f12a92b8d43dbd
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test tuples::tests::test_color_is_rgb ... ok
[INFO] [stdout] test tuples::tests::test_colors_scalar_multiply ... ok
[INFO] [stdout] test tuples::tests::test_colors_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_colors_subtract ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector ... ok
[INFO] [stdout] test tuples::tests::test_colors_add ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_point_error ... 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 tuples::tests::test_dot_product_point_vector_error ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_two_vectors ... 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_vector100 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector_neg123 ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_dividing_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_multiply_point_by_fraction ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_error ... 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_projectile_has_position_velocity ... ok
[INFO] [stdout] test tuples::tests::test_reflect_vector_45degrees ... ok
[INFO] [stdout] test tuples::tests::test_point_is_a_tuplew1 ... 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_point_vector_is_equal_to_point ... ok
[INFO] [stdout] test tuples::tests::test_tuple_add_vector_point_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_tuple_subtract_point_vector_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_vector_point_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal_less_than_epsilon ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal ... ok
[INFO] [stdout] test tuples::tests::test_tuple_subtract_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_vector_point_error ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector123 ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuplew0 ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuple_w0 ... ok
[INFO] [stdout] test tuples::tests::test_vector_normalize123 ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_not_equal_more_than_epsilon ... 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_vector_normalize100 ... 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-5346fa839f80244f
[INFO] [stdout] 
[INFO] [stdout] running 217 tests
[INFO] [stdout] test camera::tests::test_constructing_a_camera ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_horizontal_canvas ... ok
[INFO] [stdout] test canvas::tests::test_str_from_color_get ... ok
[INFO] [stdout] test canvas::tests::test_str_from_canvas_data_get_long_lines_splitting ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_when_camera_is_transformed ... ok
[INFO] [stdout] test canvas::tests::test_str_remove_trailing_space ... ok
[INFO] [stdout] test canvas::tests::test_str_remove_trailing_space_no_effect ... ok
[INFO] [stdout] test canvas::tests::test_str_from_canvas_data_get ... ok
[INFO] [stdout] test canvas::tests::test_ppm_get_tail ... ok
[INFO] [stdout] test intersections::tests::test_hit_all_intersections_negative_t ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_through_center_of_canvas ... ok
[INFO] [stdout] test intersections::tests::test_aggregating_intersections ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_vertical_canvas ... ok
[INFO] [stdout] test intersections::tests::test_hit_all_intersections_positive_t ... ok
[INFO] [stdout] test canvas::tests::test_ppm_get_header ... ok
[INFO] [stdout] test intersections::tests::test_hit_should_offset_the_point ... ok
[INFO] [stdout] test intersections::tests::test_hit_some_intersections_negative_t ... ok
[INFO] [stdout] test camera::tests::test_constructing_ray_through_corner_of_canvas ... ok
[INFO] [stdout] test intersections::tests::test_prepare_computations ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_with_a_perpendicular_viewing_angle ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_under_total_internal_reflection ... ok
[INFO] [stdout] test lights::tests::test_lighting_with_surface_in_shadow ... ok
[INFO] [stdout] test materials::tests::test_lighting_eye_in_path_reflection_vector ... ok
[INFO] [stdout] test materials::tests::test_lighting_eye_opposite_surface_light_offset_45deg ... ok
[INFO] [stdout] test intersections::tests::test_finding_n1_and_n2_at_various_intersections ... ok
[INFO] [stdout] test materials::tests::test_lighting_light_behind_surface ... ok
[INFO] [stdout] test intersections::tests::test_hit_always_lowest_nonnegative ... ok
[INFO] [stdout] test materials::tests::test_lighting_surface_eye_light_eye_offset_45deg ... ok
[INFO] [stdout] test materials::tests::test_lighting_surface_eye_light ... ok
[INFO] [stdout] test intersections::tests::test_precomputing_the_reflection_vector ... ok
[INFO] [stdout] test materials::tests::test_transparency_and_refractive_index_for_default_material ... ok
[INFO] [stdout] test intersections::tests::test_hit_intersection_inside ... ok
[INFO] [stdout] test materials::tests::test_default_material ... ok
[INFO] [stdout] test lights::tests::test_light_point_has_position_intensity ... ok
[INFO] [stdout] test intersections::tests::test_hit_intersection_outside ... ok
[INFO] [stdout] test intersections::tests::test_schlick_approximation_with_a_small_angle_and_n2_greater_than_n1 ... ok
[INFO] [stdout] test materials::tests::test_lighting_with_a_pattern_applied ... ok
[INFO] [stdout] test canvas::tests::test_pixel_canvas ... ok
[INFO] [stdout] test canvas::tests::test_pixel_write ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m3 ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m3 ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m4 ... ok
[INFO] [stdout] test matrices::tests::test_matrix2_determinant ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m2 ... ok
[INFO] [stdout] test intersections::tests::test_intersection_has_t_and_object ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_cofactor ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_equal_m4 ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_determinant ... ok
[INFO] [stdout] test matrices::tests::test_matrices_are_not_equal_m2 ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_minor ... ok
[INFO] [stdout] test matrices::tests::test_matrix3_submatrix2 ... ok
[INFO] [stdout] test matrices::tests::test_matrix4 ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse_again ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_is_invertible_not ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_transpose_identity ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_inverse_third ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_tuple_multiply ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_transpose ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_submatrix3 ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_multiply ... ok
[INFO] [stdout] test materials::tests::test_refelectivity_for_default_material ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_multiply_identity ... 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_stripe_pattern_is_constant_in_z ... ok
[INFO] [stdout] test patterns::tests::test_a_pattern_with_an_object_transformation ... 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_assigning_a_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_checkers_should_repeat_in_x ... ok
[INFO] [stdout] test patterns::tests::test_the_default_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_a_stripe_pattern_alternates_in_x ... ok
[INFO] [stdout] test patterns::tests::test_a_pattern_with_a_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_a_pattern_transformation ... ok
[INFO] [stdout] test patterns::tests::test_a_stripe_pattern_is_constant_in_y ... ok
[INFO] [stdout] test patterns::tests::test_creating_a_stripe_pattern ... ok
[INFO] [stdout] test planes::tests::test_ray_intersects_plane_from_above ... ok
[INFO] [stdout] test matrices::tests::test_matrix3 ... ok
[INFO] [stdout] test rays::tests::test_point_from_distance ... ok
[INFO] [stdout] test planes::tests::test_ray_intersects_plane_from_below ... ok
[INFO] [stdout] test planes::tests::test_intersect_with_a_coplanar_ray ... ok
[INFO] [stdout] test intersections::tests::test_the_under_point_is_offset_below_the_surface ... ok
[INFO] [stdout] test patterns::tests::test_a_gradient_linearly_interpolates_between_colors ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_both_an_object_and_a_pattern_transformation ... ok
[INFO] [stdout] test planes::tests::test_a_plane_is_a_shape ... ok
[INFO] [stdout] test spheres::tests::test_a_helper_for_producing_a_sphere_with_a_glassy_material ... ok
[INFO] [stdout] test planes::tests::test_intersect_ray_parallel_to_plane ... ok
[INFO] [stdout] test patterns::tests::test_stripes_with_an_object_transformation ... ok
[INFO] [stdout] test rays::tests::test_ray ... ok
[INFO] [stdout] test rays::tests::test_scaling_ray ... ok
[INFO] [stdout] test spheres::tests::test_a_sphere_is_a_shape ... ok
[INFO] [stdout] test shapes::tests::test_shapes_default_transformation ... ok
[INFO] [stdout] test spheres::tests::test_intersect_scaled_sphere_with_ray ... ok
[INFO] [stdout] test spheres::tests::test_intersect_sets_object_on_intersection ... ok
[INFO] [stdout] test shapes::tests::test_shapes_have_unique_ids ... ok
[INFO] [stdout] test rays::tests::test_translate_ray ... ok
[INFO] [stdout] test shapes::tests::test_assign_material_to_shape ... ok
[INFO] [stdout] test spheres::tests::test_intersect_translated_sphere_with_ray ... ok
[INFO] [stdout] test shapes::tests::test_intersecting_a_scaled_shape_with_a_ray ... ok
[INFO] [stdout] test spheres::tests::test_ray_misses_sphere ... ok
[INFO] [stdout] test spheres::tests::test_normal_on_transformed_sphere ... ok
[INFO] [stdout] test spheres::tests::test_sphere_is_behind_ray ... ok
[INFO] [stdout] test spheres::tests::test_normal_on_translated_sphere ... ok
[INFO] [stdout] test spheres::tests::test_ray_originates_inside_sphere ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_point_x_axis ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_nonaxial_point ... ok
[INFO] [stdout] test spheres::tests::test_ray_intersects_sphere_at_two_points ... ok
[INFO] [stdout] test spheres::tests::test_ray_intersects_sphere_at_two_identical_points_tangent ... ok
[INFO] [stdout] test spheres::tests::test_spheres_have_unique_ids ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_x_axis ... ok
[INFO] [stdout] test matrices::tests::test_matrix2 ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_x_axis_opposite ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_y_axis ... ok
[INFO] [stdout] test transformations::tests::test_rotating_point_z_axis ... ok
[INFO] [stdout] test transformations::tests::test_scaling_point ... ok
[INFO] [stdout] test transformations::tests::test_shearing_x_y ... ok
[INFO] [stdout] test transformations::tests::test_matrix_multiply_inverse_translation ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_at_point_z_axis ... ok
[INFO] [stdout] test transformations::tests::test_shearing_y_x ... ok
[INFO] [stdout] test shapes::tests::test_computing_the_normal_on_a_translated_shape ... ok
[INFO] [stdout] test transformations::tests::test_shearing_x_z ... ok
[INFO] [stdout] test transformations::tests::test_shearing_z_x ... ok
[INFO] [stdout] test transformations::tests::test_shearing_y_z ... ok
[INFO] [stdout] test transformations::tests::test_shearing_z_y ... ok
[INFO] [stdout] test transformations::tests::test_translation_not_affect_vectors ... ok
[INFO] [stdout] test transformations::tests::test_transformations ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_arbitrary ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_matrix_default ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_matrix_looking_in_positive_z_direction ... ok
[INFO] [stdout] test transformations::tests::test_view_transformation_moves_world ... ok
[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_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_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_dividing_point_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dividing_vector_by_scalar ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_point_error ... 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_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_vector100 ... ok
[INFO] [stdout] test tuples::tests::test_get_magnitude_of_vector123 ... 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_fraction ... ok
[INFO] [stdout] test tuples::tests::test_negate_vector_is_equal_to_error ... ok
[INFO] [stdout] test tuples::tests::test_multiply_vector_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_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_point_vector_is_equal_to_point ... 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_subtract_point_vector_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_tuple_subtract_vector_vector_is_equal_to_vector ... ok
[INFO] [stdout] test tuples::tests::test_tuples_are_equal ... 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_tuples_are_not_equal_more_than_epsilon ... ok
[INFO] [stdout] test tuples::tests::test_vector_is_a_tuple_w0 ... 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 spheres::tests::test_sphere_normal_at_point_y_axis ... ok
[INFO] [stdout] test transformations::tests::test_inverse_scaling ... ok
[INFO] [stdout] test transformations::tests::test_matrix_multiply ... ok
[INFO] [stdout] test transformations::tests::test_reflection ... ok
[INFO] [stdout] test transformations::tests::test_scaling_vector ... ok
[INFO] [stdout] test tuples::tests::test_cross_product_vector_vector_reversed ... ok
[INFO] [stdout] test worlds::tests::test_intersect_world_with_ray ... 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_color_ray_hits ... ok
[INFO] [stdout] test worlds::tests::test_no_shadow_when_object_behind_light ... ok
[INFO] [stdout] test worlds::tests::test_color_ray_misses ... ok
[INFO] [stdout] test tuples::tests::test_dot_product_point_vector_error ... ok
[INFO] [stdout] test matrices::tests::test_matrix4_is_invertible ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_at_maximum_recursive_depth ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_for_nonreflective_material ... ok
[INFO] [stdout] test spheres::tests::test_sphere_normal_is_normalized_vector ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_under_total_internal_reflection ... ok
[INFO] [stdout] test shapes::tests::test_computing_the_normal_on_a_transformed_shape ... ok
[INFO] [stdout] test worlds::tests::test_default_world ... ok
[INFO] [stdout] test shapes::tests::test_intersecting_a_translated_shape_with_a_ray ... ok
[INFO] [stdout] test worlds::tests::test_color_at_with_mutually_reflective_surfaces ... ok
[INFO] [stdout] test worlds::tests::test_shadow_when_something_between_point_and_light ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_with_an_opaque_surface ... ok
[INFO] [stdout] test worlds::tests::test_reflected_color_for_reflective_material ... ok
[INFO] [stdout] test worlds::tests::test_refracted_color_at_maximum_recursive_depth ... 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 worlds::tests::test_refracted_color_with_refracted_ray ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection_from_inside ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_reflective_material ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_a_reflective_transparent_material ... ok
[INFO] [stdout] test worlds::tests::test_shading_intersection_in_shadow ... ok
[INFO] [stdout] test worlds::tests::test_shade_hit_with_a_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" "0ab14ff2568aa554d3c33e5a026a0ccc74c27f2eec74d8f9cda71b5ba5d8616b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ab14ff2568aa554d3c33e5a026a0ccc74c27f2eec74d8f9cda71b5ba5d8616b", kill_on_drop: false }`
[INFO] [stdout] 0ab14ff2568aa554d3c33e5a026a0ccc74c27f2eec74d8f9cda71b5ba5d8616b
