[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 beta-2021-08-01 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-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/artran/ray-tracer on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-5/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" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee97fd83504915ef56facc0d1cdc092323e44bce2c921827e89892f197915be8
[INFO] running `Command { std: "docker" "start" "-a" "ee97fd83504915ef56facc0d1cdc092323e44bce2c921827e89892f197915be8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee97fd83504915ef56facc0d1cdc092323e44bce2c921827e89892f197915be8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee97fd83504915ef56facc0d1cdc092323e44bce2c921827e89892f197915be8", kill_on_drop: false }`
[INFO] [stdout] ee97fd83504915ef56facc0d1cdc092323e44bce2c921827e89892f197915be8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b64dd1ca4b54208182c29138ce6a47dda0e247dc3e5c941a7714ea100cbb592
[INFO] running `Command { std: "docker" "start" "-a" "5b64dd1ca4b54208182c29138ce6a47dda0e247dc3e5c941a7714ea100cbb592", kill_on_drop: false }`
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling num-integer v0.1.44
[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 num-rational v0.3.2
[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 30.91s
[INFO] running `Command { std: "docker" "inspect" "5b64dd1ca4b54208182c29138ce6a47dda0e247dc3e5c941a7714ea100cbb592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b64dd1ca4b54208182c29138ce6a47dda0e247dc3e5c941a7714ea100cbb592", kill_on_drop: false }`
[INFO] [stdout] 5b64dd1ca4b54208182c29138ce6a47dda0e247dc3e5c941a7714ea100cbb592
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 25e7203dbeb642070090166182282d6ed5cf725b8c277374bb44619a69ea2102
[INFO] running `Command { std: "docker" "start" "-a" "25e7203dbeb642070090166182282d6ed5cf725b8c277374bb44619a69ea2102", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling num-iter v0.1.42
[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 27.95s
[INFO] running `Command { std: "docker" "inspect" "25e7203dbeb642070090166182282d6ed5cf725b8c277374bb44619a69ea2102", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25e7203dbeb642070090166182282d6ed5cf725b8c277374bb44619a69ea2102", kill_on_drop: false }`
[INFO] [stdout] 25e7203dbeb642070090166182282d6ed5cf725b8c277374bb44619a69ea2102
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 22007ee96d54280f04692de50f33e0ca9d3f66da9190d6c1abc25b72f6bf9309
[INFO] running `Command { std: "docker" "start" "-a" "22007ee96d54280f04692de50f33e0ca9d3f66da9190d6c1abc25b72f6bf9309", 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: `ray-tracer` (bin "ray-tracer" test) generated 1 warning
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/ray_tracer-e779dd6a566aed05)
[INFO] [stdout] running 148 tests
[INFO] [stdout] test camera::tests::constructing_a_camera ... 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::saved_canvas_has_correct_magic ... ok
[INFO] [stdout] test camera::tests::constructing_a_ray_through_a_corner_of_the_canvas ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_width_and_height ... ok
[INFO] [stdout] test canvas::tests::pixels_can_be_written_to ... ok
[INFO] [stdout] test color::tests::scaling_colours ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_ends_with_newline_character ... ok
[INFO] [stdout] test light::tests::a_point_light_has_a_position_and_intensity ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_image_data ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_lines_less_than_70_chars ... 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 canvas::tests::pixels_can_be_read_from ... ok
[INFO] [stdout] test canvas::tests::new_canvas_is_black ... ok
[INFO] [stdout] test color::tests::subtracting_colours ... ok
[INFO] [stdout] test intersection::tests::aggregating_intersections ... ok
[INFO] [stdout] test intersection::tests::an_intersection_encapsulates_t_and_object ... ok
[INFO] [stdout] test intersection::tests::precomputing_the_state_of_an_intersection ... ok
[INFO] [stdout] test intersection::tests::the_hit_is_always_the_lowest_nonnegative_intersection ... ok
[INFO] [stdout] test intersection::tests::the_hit_should_offset_the_point ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_all_intersections_have_negative_t ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_all_intersections_have_positive_t ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_an_intersection_occurs_on_the_inside ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_an_intersection_occurs_on_the_outside ... ok
[INFO] [stdout] test material::tests::lighting_with_eye_in_the_path_of_the_reflection_vector ... ok
[INFO] [stdout] test material::tests::lighting_with_eye_opposite_surface_light_offset_45_deg ... ok
[INFO] [stdout] test material::tests::lighting_with_the_eye_between_light_and_surface_eye_offset_45_deg ... ok
[INFO] [stdout] test material::tests::lighting_with_the_eye_between_the_light_and_the_surface ... ok
[INFO] [stdout] test canvas::tests::new_canvas_has_width ... ok
[INFO] [stdout] test canvas::tests::new_canvas_has_height ... ok
[INFO] [stdout] test material::tests::lighting_with_the_light_behind_the_surface ... ok
[INFO] [stdout] test camera::tests::the_pixel_size_for_a_vertical_canvas ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_some_intersections_have_negative_t ... ok
[INFO] [stdout] test material::tests::lighting_with_the_surface_in_shadow ... ok
[INFO] [stdout] test camera::tests::rendering_a_world_with_a_camera ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_third_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_another_matrix ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrix_by_the_identity_matrix ... ok
[INFO] [stdout] test matrix::tests::matrices_with_the_same_values_are_equal ... ok
[INFO] [stdout] test matrix::tests::matrices_indexed_by_row_col ... 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::creating_and_querying_a_ray ... ok
[INFO] [stdout] test matrix::tests::testing_a_noninvertible_matrix_for_invertibility ... ok
[INFO] [stdout] test matrix::tests::transposing_a_matrix ... ok
[INFO] [stdout] test ray::tests::computing_a_point_from_a_distance ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices_by_tuples ... ok
[INFO] [stdout] test color::tests::adding_colours ... ok
[INFO] [stdout] test matrix::tests::matrices_constructed_from_rows ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_matrix ... ok
[INFO] [stdout] test color::tests::displaying_colours ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_4x4_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_3x3_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_2x2_matrix ... ok
[INFO] [stdout] test matrix::tests::multiplying_identity_matrix_by_a_tuple ... ok
[INFO] [stdout] test matrix::tests::matrices_with_the_different_values_are_not_equal ... ok
[INFO] [stdout] test material::tests::the_default_material ... ok
[INFO] [stdout] test matrix::tests::multiplying_a_product_by_its_inverse ... ok
[INFO] [stdout] test ray::tests::translating_a_ray ... ok
[INFO] [stdout] test ray::tests::scaling_a_ray ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_a_tangent ... ok
[INFO] [stdout] test sphere::tests::a_sphere_has_a_default_material ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_z_axis ... ok
[INFO] [stdout] test sphere::tests::computing_the_normal_on_a_translated_sphere ... ok
[INFO] [stdout] test sphere::tests::a_ray_misses_a_sphere ... ok
[INFO] [stdout] test sphere::tests::a_sphere_is_behind_a_ray ... ok
[INFO] [stdout] test sphere::tests::a_spheres_default_transformation ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_x_axis ... ok
[INFO] [stdout] test transform::tests::chained_transformations_must_be_applied_in_reverse_order ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_translated_sphere_with_a_ray ... ok
[INFO] [stdout] test transform::tests::individual_transformations_are_applied_in_sequence ... ok
[INFO] [stdout] test sphere::tests::a_ray_originates_inside_a_sphere ... ok
[INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_translation_matrix ... ok
[INFO] [stdout] test sphere::tests::a_sphere_may_be_assigned_a_material ... ok
[INFO] [stdout] test transform::tests::multiplying_by_a_translation_matrix ... ok
[INFO] [stdout] test transform::tests::an_arbitrary_view_transformation ... ok
[INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_scaling_matrix ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_scaled_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_y_axis ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_y ... ok
[INFO] [stdout] test transform::tests::a_view_transformation_matrix_looking_in_positive_z_direction ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_x_in_proportion_to_y ... 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::reflection_is_scaling_by_a_negative_value ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_z_axis ... ok
[INFO] [stdout] test transform::tests::the_inverse_of_an_x_rotation_rotates_in_the_opposite_direction ... ok
[INFO] [stdout] test tuple::tests::negative_vector_has_positive_magnitude ... ok
[INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_scalar_scales_the_tuple ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_not_commutative ... ok
[INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_fraction_scales_the_tuple ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_vector ... ok
[INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_vector ... ok
[INFO] [stdout] test transform::tests::the_view_transformation_moves_the_world ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_two_points ... ok
[INFO] [stdout] test tuple::tests::dot_product_of_two_vectors_is_scalar ... ok
[INFO] [stdout] test sphere::tests::changing_a_spheres_transformation ... ok
[INFO] [stdout] test tuple::tests::reflecting_a_vector_approaching_at_45_deg ... ok
[INFO] [stdout] test sphere::tests::computing_the_normal_on_a_transformed_sphere ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_non_axial_point ... 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_x_in_proportion_to_z ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_x ... ok
[INFO] [stdout] test tuple::tests::normalized_vector_is_a_unit_vector ... ok
[INFO] [stdout] test transform::tests::translation_does_not_affect_vectors ... ok
[INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction ... ok
[INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_point ... ok
[INFO] [stdout] test tuple::tests::negating_a_tuple_returns_the_negative_tuple ... ok
[INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction2 ... ok
[INFO] [stdout] test transform::tests::the_transformation_matrix_for_the_default_orientation ... ok
[INFO] [stdout] test tuple::tests::negating_a_vector_returns_the_negative_vector ... ok
[INFO] [stdout] test tuple::tests::adding_a_vector_to_a_point_returns_a_new_point ... ok
[INFO] [stdout] test tuple::tests::point_has_three_coordinates ... 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::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::tuple_can_be_indexed_mutably ... ok
[INFO] [stdout] test tuple::tests::vector_has_w_of_0 ... ok
[INFO] [stdout] test world::tests::shading_an_intersection ... ok
[INFO] [stdout] test tuple::tests::vector_returns_true_for_is_vector_false_for_is_point ... ok
[INFO] [stdout] test tuple::tests::unit_vector_z_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::subtracting_two_points_returns_a_vector ... 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::tuple_returns_false_for_is_vector_false_for_is_point ... 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 tuple::tests::tuple_can_be_indexed ... ok
[INFO] [stdout] test tuple::tests::vector_has_three_coordinates ... ok
[INFO] [stdout] test camera::tests::constructing_a_ray_when_the_camera_is_transformed ... FAILED
[INFO] [stdout] test world::tests::test_is_shadowed::case_3 ... ok
[INFO] [stdout] test world::tests::the_color_when_a_ray_misses ... ok
[INFO] [stdout] test world::tests::the_color_with_an_intersection_behind_the_ray ... ok
[INFO] [stdout] test world::tests::the_color_when_a_ray_hits ... ok
[INFO] [stdout] test world::tests::creating_a_world ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_4 ... ok
[INFO] [stdout] test tuple::tests::vector_has_magnitude ... ok
[INFO] [stdout] test world::tests::intersect_a_world_with_a_ray ... ok
[INFO] [stdout] test ray::tests::passing_a_point_for_direction_causes_panic - should panic ... ok
[INFO] [stdout] test world::tests::shade_hit_is_given_an_intersection_in_shadow ... ok
[INFO] [stdout] test ray::tests::passing_a_vector_for_origin_causes_panic - should panic ... ok
[INFO] [stdout] test world::tests::shading_an_intersection_from_the_inside ... 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:     0x559f47582e30 - std::backtrace_rs::backtrace::libunwind::trace::hff4d1766e93f64f1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x559f47582e30 - std::backtrace_rs::backtrace::trace_unsynchronized::h56bbc8eb78770bcb
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x559f47582e30 - std::sys_common::backtrace::_print_fmt::h5c8e75464faca780
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x559f47582e30 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h48b88277def8b362
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x559f475a5e9c - core::fmt::write::h3381b3176fe2b3d3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/fmt/mod.rs:1115:17
[INFO] [stdout]    5:     0x559f4757fd95 - std::io::Write::write_fmt::h5f34a676f60246b5
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/io/mod.rs:1665:15
[INFO] [stdout]    6:     0x559f47584fab - std::sys_common::backtrace::_print::ha537687d6c17dd0d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x559f47584fab - std::sys_common::backtrace::print::h61376ae57d131d72
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x559f47584fab - std::panicking::default_hook::{{closure}}::h0f7208c0b9644a54
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x559f47584abc - std::panicking::default_hook::hdac7fc06578c14ce
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x559f47585674 - std::panicking::rust_panic_with_hook::h72b21c283da3d1ef
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x559f47532200 - std::panicking::begin_panic::{{closure}}::hfdb4675588bc3602
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:542:9
[INFO] [stdout]   12:     0x559f475326ef - std::sys_common::backtrace::__rust_end_short_backtrace::h4adb690331e3ed9a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x559f475320fb - std::panicking::begin_panic::h3d6f048af6cd6609
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:541:12
[INFO] [stdout]   14:     0x559f47489de8 - spectral::AssertionFailure<T>::fail::haa99d4511a3b962c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:343:9
[INFO] [stdout]   15:     0x559f4747cdde - spectral::Spec<S>::is_equal_to::h602757c66c52705e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:428:13
[INFO] [stdout]   16:     0x559f474e8a5c - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::hcd098838075df298
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:223:9
[INFO] [stdout]   17:     0x559f474e86da - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::{{closure}}::hf762bd9bcef69a3e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:213:5
[INFO] [stdout]   18:     0x559f474d51ae - core::ops::function::FnOnce::call_once::h553737825ddd2067
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   19:     0x559f4752bd33 - core::ops::function::FnOnce::call_once::hbb52c4519d3137b0
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x559f4752bd33 - test::__rust_begin_short_backtrace::h86fe3a2a5a5121af
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:578:5
[INFO] [stdout]   21:     0x559f4752a7e8 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd956bc3d57399be
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   22:     0x559f4752a7e8 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40dc93e0ddb5938a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   23:     0x559f4752a7e8 - std::panicking::try::do_call::h90d07750cb47c562
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   24:     0x559f4752a7e8 - std::panicking::try::h063c84733ad2a629
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   25:     0x559f4752a7e8 - std::panic::catch_unwind::h0c464836a84e7c08
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   26:     0x559f4752a7e8 - test::run_test_in_process::h5cb06ef620b157fc
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:601:18
[INFO] [stdout]   27:     0x559f4752a7e8 - test::run_test::run_test_inner::{{closure}}::h76f677f4b93f9828
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:493:39
[INFO] [stdout]   28:     0x559f474f8f7d - test::run_test::run_test_inner::{{closure}}::h366d01fe04f4d67a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:520:37
[INFO] [stdout]   29:     0x559f474f8f7d - std::sys_common::backtrace::__rust_begin_short_backtrace::h7dfa0de4eb395af2
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   30:     0x559f474fd748 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf0a74bb58798037f
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:476:17
[INFO] [stdout]   31:     0x559f474fd748 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb024e854818586ac
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   32:     0x559f474fd748 - std::panicking::try::do_call::hb2dd9f1d0d48e41d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   33:     0x559f474fd748 - std::panicking::try::h4717ae7bac8b2bf3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   34:     0x559f474fd748 - std::panic::catch_unwind::h0dc8a061326ce8d8
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   35:     0x559f474fd748 - std::thread::Builder::spawn_unchecked::{{closure}}::haa369e2d6fd00aa1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:475:30
[INFO] [stdout]   36:     0x559f474fd748 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h36dcf3de8b056f17
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   37:     0x559f4758a217 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h65c29e4642be2358
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   38:     0x559f4758a217 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0f8f7fbbd9fffbf
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   39:     0x559f4758a217 - std::sys::unix::thread::Thread::new::thread_start::h2fd22fee3ca77b65
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys/unix/thread.rs:74:17
[INFO] [stdout]   40:     0x7fbcf291c609 - start_thread
[INFO] [stdout]   41:     0x7fbcf26ee293 - 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.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--bin ray-tracer'
[INFO] running `Command { std: "docker" "inspect" "22007ee96d54280f04692de50f33e0ca9d3f66da9190d6c1abc25b72f6bf9309", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22007ee96d54280f04692de50f33e0ca9d3f66da9190d6c1abc25b72f6bf9309", kill_on_drop: false }`
[INFO] [stdout] 22007ee96d54280f04692de50f33e0ca9d3f66da9190d6c1abc25b72f6bf9309
