[INFO] cloning repository https://github.com/artran/ray-tracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/artran/ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 12ac628cb0bee4ecb74e8040f0733c0915504c3a
[INFO] testing artran/ray-tracer against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer" "/workspace/builds/worker-1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/artran/ray-tracer on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/artran/ray-tracer
[INFO] finished tweaking git repo https://github.com/artran/ray-tracer
[INFO] tweaked toml for git repo https://github.com/artran/ray-tracer written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/artran/ray-tracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 655d9391d1de515aa135662bd983970a64750eef3d149cf50ef83240b6457bdd
[INFO] running `Command { std: "docker" "start" "-a" "655d9391d1de515aa135662bd983970a64750eef3d149cf50ef83240b6457bdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "655d9391d1de515aa135662bd983970a64750eef3d149cf50ef83240b6457bdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "655d9391d1de515aa135662bd983970a64750eef3d149cf50ef83240b6457bdd", kill_on_drop: false }`
[INFO] [stdout] 655d9391d1de515aa135662bd983970a64750eef3d149cf50ef83240b6457bdd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57b7c499d06e082bb8f3e787e963bc70ee48a1fd230d3bb14623e0c1484e7a31
[INFO] running `Command { std: "docker" "start" "-a" "57b7c499d06e082bb8f3e787e963bc70ee48a1fd230d3bb14623e0c1484e7a31", kill_on_drop: false }`
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling matrixmultiply v0.3.1
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling simba v0.4.0
[INFO] [stderr]    Compiling nalgebra v0.26.2
[INFO] [stderr]    Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function is never used: `pixel_at`
[INFO] [stdout]   --> src/canvas.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn pixel_at(&self, x: usize, y: usize) -> Color {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `len`
[INFO] [stdout]   --> src/intersection.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/light.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(position: Vector4<f32>, intensity: Color) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_ambient`
[INFO] [stdout]   --> src/material.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn with_ambient(mut self, ambient: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_shininess`
[INFO] [stdout]   --> src/material.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn with_shininess(mut self, shininess: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_light_source`
[INFO] [stdout]   --> src/world.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn with_light_source(mut self, light_source: PointLight) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 36.06s
[INFO] running `Command { std: "docker" "inspect" "57b7c499d06e082bb8f3e787e963bc70ee48a1fd230d3bb14623e0c1484e7a31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57b7c499d06e082bb8f3e787e963bc70ee48a1fd230d3bb14623e0c1484e7a31", kill_on_drop: false }`
[INFO] [stdout] 57b7c499d06e082bb8f3e787e963bc70ee48a1fd230d3bb14623e0c1484e7a31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0f7e5fd86ae851a6276e54895020fcd0d1649cb8a9d4210584db5e0ad370f8d
[INFO] running `Command { std: "docker" "start" "-a" "f0f7e5fd86ae851a6276e54895020fcd0d1649cb8a9d4210584db5e0ad370f8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling num-bigint v0.1.44
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling rstest v0.10.0
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling spectral v0.6.0
[INFO] [stderr]    Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function is never used: `with_shininess`
[INFO] [stdout]   --> src/material.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn with_shininess(mut self, shininess: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 20.11s
[INFO] running `Command { std: "docker" "inspect" "f0f7e5fd86ae851a6276e54895020fcd0d1649cb8a9d4210584db5e0ad370f8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0f7e5fd86ae851a6276e54895020fcd0d1649cb8a9d4210584db5e0ad370f8d", kill_on_drop: false }`
[INFO] [stdout] f0f7e5fd86ae851a6276e54895020fcd0d1649cb8a9d4210584db5e0ad370f8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 31a314c9434ae0384e55f39453e3aba07c69ecebb92d4a26957d75fad8ab3b4f
[INFO] running `Command { std: "docker" "start" "-a" "31a314c9434ae0384e55f39453e3aba07c69ecebb92d4a26957d75fad8ab3b4f", kill_on_drop: false }`
[INFO] [stderr] warning: associated function is never used: `with_shininess`
[INFO] [stderr]   --> src/material.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn with_shininess(mut self, shininess: f32) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/ray_tracer-787a6e1e4f31ad7e)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test camera::tests::constructing_a_ray_through_a_corner_of_the_canvas ... ok
[INFO] [stdout] test camera::tests::constructing_a_ray_through_the_center_of_the_canvas ... ok
[INFO] [stdout] test camera::tests::the_pixel_size_for_a_horizontal_canvas ... ok
[INFO] [stdout] test canvas::tests::new_canvas_is_black ... ok
[INFO] [stdout] test canvas::tests::pixels_can_be_written_to ... ok
[INFO] [stdout] test canvas::tests::new_canvas_has_width ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_ends_with_newline_character ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_all_intersections_have_positive_t ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_all_intersections_have_negative_t ... ok
[INFO] [stdout] test camera::tests::constructing_a_camera ... ok
[INFO] [stdout] test material::tests::lighting_with_the_eye_between_light_and_surface_eye_offset_45_deg ... ok
[INFO] [stdout] test canvas::tests::pixels_can_be_read_from ... ok
[INFO] [stdout] test canvas::tests::new_canvas_has_height ... ok
[INFO] [stdout] test camera::tests::the_pixel_size_for_a_vertical_canvas ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_2x2_matrix ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_lines_less_than_70_chars ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_magic ... ok
[INFO] [stdout] test material::tests::lighting_with_the_light_behind_the_surface ... ok
[INFO] [stdout] test material::tests::the_default_material ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_image_data ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_3x3_matrix ... ok
[INFO] [stdout] test material::tests::lighting_with_the_surface_in_shadow ... ok
[INFO] [stdout] test matrix::tests::matrices_constructed_from_rows ... ok
[INFO] [stdout] test matrix::tests::matrices_indexed_by_row_col ... ok
[INFO] [stdout] test matrix::tests::matrices_with_the_different_values_are_not_equal ... ok
[INFO] [stdout] test matrix::tests::matrices_with_the_same_values_are_equal ... ok
[INFO] [stdout] test matrix::tests::multiplying_a_product_by_its_inverse ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_width_and_height ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_4x4_matrix ... ok
[INFO] [stdout] test matrix::tests::multiplying_identity_matrix_by_a_tuple ... ok
[INFO] [stdout] test matrix::tests::transposing_a_matrix ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices_by_tuples ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_matrix ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrix_by_the_identity_matrix ... ok
[INFO] [stdout] test matrix::tests::testing_a_noninvertible_matrix_for_invertibility ... ok
[INFO] [stdout] test color::tests::displaying_colours ... ok
[INFO] [stdout] test camera::tests::rendering_a_world_with_a_camera ... ok
[INFO] [stdout] test color::tests::displaying_colours_clamps_to_zero_or_255 ... ok
[INFO] [stdout] test color::tests::multiplying_colours ... ok
[INFO] [stdout] test color::tests::subtracting_colours ... ok
[INFO] [stdout] test color::tests::adding_colours ... ok
[INFO] [stdout] test intersection::tests::precomputing_the_state_of_an_intersection ... ok
[INFO] [stdout] test matrix::tests::testing_an_invertible_matrix_for_invertibility ... ok
[INFO] [stdout] test matrix::tests::transposing_the_identity_matrix_return_identity ... ok
[INFO] [stdout] test ray::tests::computing_a_point_from_a_distance ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_an_intersection_occurs_on_the_outside ... ok
[INFO] [stdout] test ray::tests::creating_and_querying_a_ray ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_some_intersections_have_negative_t ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_a_tangent ... ok
[INFO] [stdout] test sphere::tests::computing_the_normal_on_a_transformed_sphere ... ok
[INFO] [stdout] test sphere::tests::computing_the_normal_on_a_translated_sphere ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_translated_sphere_with_a_ray ... ok
[INFO] [stdout] test sphere::tests::the_normal_is_a_normalized_vector ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_x_axis ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_x_in_proportion_to_y ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_x_in_proportion_to_z ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_x ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_z_axis ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_y_axis ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_z ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_x ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_y ... ok
[INFO] [stdout] test ray::tests::translating_a_ray ... ok
[INFO] [stdout] test transform::tests::a_view_transformation_matrix_looking_in_positive_z_direction ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_scaled_sphere_with_a_ray ... ok
[INFO] [stdout] test transform::tests::multiplying_by_a_translation_matrix ... ok
[INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_scaling_matrix ... ok
[INFO] [stdout] test transform::tests::an_arbitrary_view_transformation ... ok
[INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_translation_matrix ... ok
[INFO] [stdout] test transform::tests::reflection_is_scaling_by_a_negative_value ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_x_axis ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_y_axis ... ok
[INFO] [stdout] test transform::tests::chained_transformations_must_be_applied_in_reverse_order ... ok
[INFO] [stdout] test transform::tests::individual_transformations_are_applied_in_sequence ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_z_axis ... ok
[INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_point ... ok
[INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_vector ... ok
[INFO] [stdout] test transform::tests::the_transformation_matrix_for_the_default_orientation ... ok
[INFO] [stdout] test transform::tests::the_view_transformation_moves_the_world ... ok
[INFO] [stdout] test transform::tests::translation_does_not_affect_vectors ... ok
[INFO] [stdout] test material::tests::lighting_with_the_eye_between_the_light_and_the_surface ... ok
[INFO] [stdout] test transform::tests::the_inverse_of_an_x_rotation_rotates_in_the_opposite_direction ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_another_matrix ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_an_intersection_occurs_on_the_inside ... ok
[INFO] [stdout] test intersection::tests::aggregating_intersections ... ok
[INFO] [stdout] test ray::tests::scaling_a_ray ... ok
[INFO] [stdout] test tuple::tests::dot_product_of_two_vectors_is_scalar ... ok
[INFO] [stdout] test material::tests::lighting_with_eye_in_the_path_of_the_reflection_vector ... ok
[INFO] [stdout] test tuple::tests::point_has_w_of_1 ... ok
[INFO] [stdout] test tuple::tests::point_returns_true_for_is_point_false_for_is_vector ... ok
[INFO] [stdout] test tuple::tests::reflecting_a_vector_approaching_at_45_deg ... ok
[INFO] [stdout] test tuple::tests::reflecting_a_vector_off_a_slanted_surface ... ok
[INFO] [stdout] test tuple::tests::subtracting_a_vector_from_a_point_returns_a_new_point ... ok
[INFO] [stdout] test tuple::tests::subtracting_two_points_returns_a_vector ... ok
[INFO] [stdout] test tuple::tests::tuple_can_be_indexed ... ok
[INFO] [stdout] test tuple::tests::tuple_can_be_indexed_mutably ... ok
[INFO] [stdout] test tuple::tests::tuple_returns_false_for_is_vector_false_for_is_point ... ok
[INFO] [stdout] test tuple::tests::unit_vector_x_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::unit_vector_y_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::unit_vector_z_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::vector_has_magnitude ... ok
[INFO] [stdout] test tuple::tests::vector_has_three_coordinates ... ok
[INFO] [stdout] test tuple::tests::vector_has_w_of_0 ... ok
[INFO] [stdout] test tuple::tests::vector_returns_true_for_is_vector_false_for_is_point ... ok
[INFO] [stdout] test world::tests::creating_a_world ... ok
[INFO] [stdout] test world::tests::intersect_a_world_with_a_ray ... ok
[INFO] [stdout] test world::tests::shade_hit_is_given_an_intersection_in_shadow ... ok
[INFO] [stdout] test world::tests::shading_an_intersection ... ok
[INFO] [stdout] test world::tests::shading_an_intersection_from_the_inside ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_1 ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_2 ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_3 ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_4 ... ok
[INFO] [stdout] test world::tests::the_color_when_a_ray_hits ... ok
[INFO] [stdout] test tuple::tests::point_has_three_coordinates ... ok
[INFO] [stdout] test intersection::tests::the_hit_is_always_the_lowest_nonnegative_intersection ... ok
[INFO] [stdout] test material::tests::lighting_with_eye_opposite_surface_light_offset_45_deg ... ok
[INFO] [stdout] test intersection::tests::the_hit_should_offset_the_point ... ok
[INFO] [stdout] test color::tests::scaling_colours ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_third_matrix ... ok
[INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction2 ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_two_points ... ok
[INFO] [stdout] test light::tests::a_point_light_has_a_position_and_intensity ... ok
[INFO] [stdout] test sphere::tests::a_ray_misses_a_sphere ... ok
[INFO] [stdout] test intersection::tests::an_intersection_encapsulates_t_and_object ... ok
[INFO] [stdout] test sphere::tests::a_ray_originates_inside_a_sphere ... ok
[INFO] [stdout] test sphere::tests::a_sphere_is_behind_a_ray ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_non_axial_point ... ok
[INFO] [stdout] test sphere::tests::a_sphere_has_a_default_material ... ok
[INFO] [stdout] test tuple::tests::negative_vector_has_positive_magnitude ... ok
[INFO] [stdout] test sphere::tests::a_sphere_may_be_assigned_a_material ... ok
[INFO] [stdout] test tuple::tests::normalized_vector_is_a_unit_vector ... ok
[INFO] [stdout] test sphere::tests::a_spheres_default_transformation ... ok
[INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction ... ok
[INFO] [stdout] test sphere::tests::changing_a_spheres_transformation ... ok
[INFO] [stdout] test tuple::tests::adding_a_vector_to_a_point_returns_a_new_point ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_not_commutative ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_vector ... ok
[INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_fraction_scales_the_tuple ... ok
[INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_scalar_scales_the_tuple ... ok
[INFO] [stdout] test camera::tests::constructing_a_ray_when_the_camera_is_transformed ... FAILED
[INFO] [stdout] test world::tests::the_color_when_a_ray_misses ... ok
[INFO] [stdout] test tuple::tests::negating_a_vector_returns_the_negative_vector ... ok
[INFO] [stdout] test tuple::tests::negating_a_tuple_returns_the_negative_tuple ... ok
[INFO] [stdout] test ray::tests::passing_a_point_for_direction_causes_panic - should panic ... ok
[INFO] [stdout] test world::tests::the_color_with_an_intersection_behind_the_ray ... ok
[INFO] [stdout] test ray::tests::passing_a_vector_for_origin_causes_panic - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- camera::tests::constructing_a_ray_when_the_camera_is_transformed stdout ----
[INFO] [stdout] thread 'camera::tests::constructing_a_ray_when_the_camera_is_transformed' panicked at '
[INFO] [stdout] 	[31mexpected: <Matrix { data: [[0.0, 2.0, -5.0, 1.0]] }>
[INFO] [stdout] 	 but was: <Matrix { data: [[0.0, 2.0, -5.0000005, 1.0]] }>[0m
[INFO] [stdout] 
[INFO] [stdout] 	[1mat location: src/camera.rs:223[0m
[INFO] [stdout] ', /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:343:9
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55808dbf5e90 - std::backtrace_rs::backtrace::libunwind::trace::h34055254b57d8e79
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55808dbf5e90 - std::backtrace_rs::backtrace::trace_unsynchronized::h8f1e3fbd9afff6ec
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55808dbf5e90 - std::sys_common::backtrace::_print_fmt::h3a99a796b770c360
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55808dbf5e90 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h32d1f94a80615d18
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55808dc18f3c - core::fmt::write::h306731c068f7162c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/fmt/mod.rs:1110:17
[INFO] [stdout]    5:     0x55808dbf2db5 - std::io::Write::write_fmt::h87f19b0a2cd190bc
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/io/mod.rs:1588:15
[INFO] [stdout]    6:     0x55808dbf7ffb - std::sys_common::backtrace::_print::h5abaa2601a852287
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55808dbf7ffb - std::sys_common::backtrace::print::h8d81445442bb638f
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55808dbf7ffb - std::panicking::default_hook::{{closure}}::hcfe804496a9fa747
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55808dbf7b0c - std::panicking::default_hook::hbea8e3ccf2ba8901
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55808dbf86c4 - std::panicking::rust_panic_with_hook::h7ee9e1a2d0f8975a
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55808dba2db0 - std::panicking::begin_panic::{{closure}}::hb0496ce5608cab79
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:542:9
[INFO] [stdout]   12:     0x55808dba329f - std::sys_common::backtrace::__rust_end_short_backtrace::hea6fb91f8ea35c48
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55808dba2cab - std::panicking::begin_panic::h28096e259dc895d3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:541:12
[INFO] [stdout]   14:     0x55808daf5858 - spectral::AssertionFailure<T>::fail::h498a827b15fdb4bb
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:343:9
[INFO] [stdout]   15:     0x55808daebe4e - spectral::Spec<S>::is_equal_to::hc63a2f58a45b8455
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:428:13
[INFO] [stdout]   16:     0x55808db6650c - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::h5d5a312bf3cbe755
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:223:9
[INFO] [stdout]   17:     0x55808db6618a - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::{{closure}}::h39f9ee6f4d5c2fbb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:213:5
[INFO] [stdout]   18:     0x55808db5d98e - core::ops::function::FnOnce::call_once::hc368047876a03ca0
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   19:     0x55808db8f633 - core::ops::function::FnOnce::call_once::h152e7e439ff59e19
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55808db8f633 - test::__rust_begin_short_backtrace::h0908f3b1fdbb72ab
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:577:5
[INFO] [stdout]   21:     0x55808db8e0f0 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf6d2a51e5587546c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   22:     0x55808db8e0f0 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8af660f3a89ef593
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   23:     0x55808db8e0f0 - std::panicking::try::do_call::hd36aef60f84b6d36
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   24:     0x55808db8e0f0 - std::panicking::try::h9932b4480e69817c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   25:     0x55808db8e0f0 - std::panic::catch_unwind::h6aa177099cfff5f8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   26:     0x55808db8e0f0 - test::run_test_in_process::h5884d6f2d99e20c3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:600:18
[INFO] [stdout]   27:     0x55808db8e0f0 - test::run_test::run_test_inner::{{closure}}::h6fdc58c6d5f5b6e3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:492:39
[INFO] [stdout]   28:     0x55808db677a2 - test::run_test::run_test_inner::{{closure}}::h408365d67a78ade8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:519:37
[INFO] [stdout]   29:     0x55808db677a2 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb560b77c4f701523
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   30:     0x55808db6b358 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf2e7831dad93c597
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:481:17
[INFO] [stdout]   31:     0x55808db6b358 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd2e08783d8be4d02
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   32:     0x55808db6b358 - std::panicking::try::do_call::h062597b7acfd6b82
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   33:     0x55808db6b358 - std::panicking::try::h0d7b79db04c14552
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   34:     0x55808db6b358 - std::panic::catch_unwind::hb01a0b5e7c8cd43b
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   35:     0x55808db6b358 - std::thread::Builder::spawn_unchecked::{{closure}}::h5bde48cc887e0d1e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:480:30
[INFO] [stdout]   36:     0x55808db6b358 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h745ea30807a29e55
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   37:     0x55808dbfd1b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ece6cfefaff1005
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   38:     0x55808dbfd1b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8b48e55c21f193e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   39:     0x55808dbfd1b7 - std::sys::unix::thread::Thread::new::thread_start::h8c7c4450dba62914
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys/unix/thread.rs:71:17
[INFO] [stdout]   40:     0x7f4274f58609 - start_thread
[INFO] [stdout]   41:     0x7f4274d2a293 - clone
[INFO] [stdout]   42:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     camera::tests::constructing_a_ray_when_the_camera_is_transformed
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 147 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--bin ray-tracer'
[INFO] running `Command { std: "docker" "inspect" "31a314c9434ae0384e55f39453e3aba07c69ecebb92d4a26957d75fad8ab3b4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31a314c9434ae0384e55f39453e3aba07c69ecebb92d4a26957d75fad8ab3b4f", kill_on_drop: false }`
[INFO] [stdout] 31a314c9434ae0384e55f39453e3aba07c69ecebb92d4a26957d75fad8ab3b4f
