[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] 26a6e8c00d5326549c63ee1ee7fc5a5c142131fd
[INFO] testing artran/ray-tracer against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/artran/ray-tracer on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.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-4-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nalgebra v0.26.2
[INFO] [stderr]   Downloaded simba v0.4.0
[INFO] [stderr]   Downloaded rstest v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8361f2807a9efb982db0f3ff1dd0a482efc476bccbba15a1f514f70028f3d238
[INFO] running `Command { std: "docker" "start" "-a" "8361f2807a9efb982db0f3ff1dd0a482efc476bccbba15a1f514f70028f3d238", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8361f2807a9efb982db0f3ff1dd0a482efc476bccbba15a1f514f70028f3d238", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8361f2807a9efb982db0f3ff1dd0a482efc476bccbba15a1f514f70028f3d238", kill_on_drop: false }`
[INFO] [stdout] 8361f2807a9efb982db0f3ff1dd0a482efc476bccbba15a1f514f70028f3d238
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d106957228fc0d569e7e2fd50b0c8a49d39aea9eea9e8b7b5b2d09e458f0483a
[INFO] running `Command { std: "docker" "start" "-a" "d106957228fc0d569e7e2fd50b0c8a49d39aea9eea9e8b7b5b2d09e458f0483a", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.1
[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 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: method `pixel_at` is never used
[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: method `len` is never used
[INFO] [stdout]   --> src/intersection.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[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: method `with_ambient` is never used
[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: method `with_shininess` is never used
[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: method `with_light_source` is never used
[INFO] [stdout]   --> src/world.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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 14.91s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "d106957228fc0d569e7e2fd50b0c8a49d39aea9eea9e8b7b5b2d09e458f0483a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d106957228fc0d569e7e2fd50b0c8a49d39aea9eea9e8b7b5b2d09e458f0483a", kill_on_drop: false }`
[INFO] [stdout] d106957228fc0d569e7e2fd50b0c8a49d39aea9eea9e8b7b5b2d09e458f0483a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b2d77e70cc2ba36e0cb7bfc3b7d411bf0d41a480aa7f9bfff3d116df967507d
[INFO] running `Command { std: "docker" "start" "-a" "7b2d77e70cc2ba36e0cb7bfc3b7d411bf0d41a480aa7f9bfff3d116df967507d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling quote v1.0.9
[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 rustc_version v0.3.3
[INFO] [stderr]    Compiling num-bigint v0.1.44
[INFO] [stderr]    Compiling num-complex v0.1.43
[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: method `with_shininess` is never used
[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 9.20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2, rstest v0.10.0, rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "7b2d77e70cc2ba36e0cb7bfc3b7d411bf0d41a480aa7f9bfff3d116df967507d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b2d77e70cc2ba36e0cb7bfc3b7d411bf0d41a480aa7f9bfff3d116df967507d", kill_on_drop: false }`
[INFO] [stdout] 7b2d77e70cc2ba36e0cb7bfc3b7d411bf0d41a480aa7f9bfff3d116df967507d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 37f939a95333768964cc60a88749648983c79cbc688c69f8ffeb240feedf7793
[INFO] running `Command { std: "docker" "start" "-a" "37f939a95333768964cc60a88749648983c79cbc688c69f8ffeb240feedf7793", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: method `with_shininess` is never used
[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.24s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2, rstest v0.10.0, rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracer-a800664e0ba6fb5d)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test canvas::tests::new_canvas_has_height ... ok
[INFO] [stdout] test canvas::tests::new_canvas_has_width ... ok
[INFO] [stdout] test canvas::tests::new_canvas_is_black ... ok
[INFO] [stdout] test canvas::tests::pixels_can_be_read_from ... ok
[INFO] [stdout] test canvas::tests::pixels_can_be_written_to ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_ends_with_newline_character ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_image_data ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_magic ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_lines_less_than_70_chars ... ok
[INFO] [stdout] test color::tests::adding_colours ... ok
[INFO] [stdout] test color::tests::displaying_colours ... ok
[INFO] [stdout] test color::tests::displaying_colours_clamps_to_zero_or_255 ... ok
[INFO] [stdout] test canvas::tests::saved_canvas_has_correct_width_and_height ... ok
[INFO] [stdout] test color::tests::multiplying_colours ... ok
[INFO] [stdout] test color::tests::scaling_colours ... ok
[INFO] [stdout] test camera::tests::constructing_a_camera ... ok
[INFO] [stdout] test color::tests::subtracting_colours ... 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 camera::tests::the_pixel_size_for_a_vertical_canvas ... ok
[INFO] [stdout] test camera::tests::constructing_a_ray_through_a_corner_of_the_canvas ... ok
[INFO] [stdout] test intersection::tests::an_intersection_encapsulates_t_and_object ... ok
[INFO] [stdout] test intersection::tests::aggregating_intersections ... ok
[INFO] [stdout] test intersection::tests::the_hit_is_always_the_lowest_nonnegative_intersection ... ok
[INFO] [stdout] test intersection::tests::precomputing_the_state_of_an_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_some_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 light::tests::a_point_light_has_a_position_and_intensity ... ok
[INFO] [stdout] test intersection::tests::the_hit_when_an_intersection_occurs_on_the_outside ... 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_the_light_and_the_surface ... ok
[INFO] [stdout] test material::tests::lighting_with_the_eye_between_light_and_surface_eye_offset_45_deg ... ok
[INFO] [stdout] test material::tests::the_default_material ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_2x2_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_4x4_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_another_matrix ... ok
[INFO] [stdout] test matrix::tests::matrices_constructed_from_rows ... ok
[INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_3x3_matrix ... ok
[INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_third_matrix ... ok
[INFO] [stdout] test material::tests::lighting_with_the_light_behind_the_surface ... ok
[INFO] [stdout] test material::tests::lighting_with_eye_in_the_path_of_the_reflection_vector ... ok
[INFO] [stdout] test matrix::tests::matrices_with_the_different_values_are_not_equal ... ok
[INFO] [stdout] test matrix::tests::matrices_indexed_by_row_col ... ok
[INFO] [stdout] test matrix::tests::multiplying_a_product_by_its_inverse ... ok
[INFO] [stdout] test matrix::tests::multiplying_identity_matrix_by_a_tuple ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices ... 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 matrix::tests::transposing_a_matrix ... 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 matrix::tests::matrices_with_the_same_values_are_equal ... ok
[INFO] [stdout] test matrix::tests::multiplying_matrices_by_tuples ... ok
[INFO] [stdout] test ray::tests::creating_and_querying_a_ray ... ok
[INFO] [stdout] test ray::tests::translating_a_ray ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_a_tangent ... ok
[INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_two_points ... ok
[INFO] [stdout] test sphere::tests::a_sphere_has_a_default_material ... ok
[INFO] [stdout] test sphere::tests::a_sphere_may_be_assigned_a_material ... ok
[INFO] [stdout] test ray::tests::scaling_a_ray ... ok
[INFO] [stdout] test ray::tests::computing_a_point_from_a_distance ... ok
[INFO] [stdout] test sphere::tests::changing_a_spheres_transformation ... 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::a_sphere_is_behind_a_ray ... ok
[INFO] [stdout] test sphere::tests::a_spheres_default_transformation ... ok
[INFO] [stdout] test camera::tests::rendering_a_world_with_a_camera ... ok
[INFO] [stdout] test sphere::tests::a_ray_originates_inside_a_sphere ... ok
[INFO] [stdout] test sphere::tests::the_normal_is_a_normalized_vector ... ok
[INFO] [stdout] test sphere::tests::a_ray_misses_a_sphere ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_x_axis ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_scaled_sphere_with_a_ray ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_y_axis ... ok
[INFO] [stdout] test sphere::tests::intersecting_a_translated_sphere_with_a_ray ... 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_x_in_proportion_to_z ... ok
[INFO] [stdout] test sphere::tests::the_normal_on_a_sphere_at_a_point_on_the_z_axis ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_x ... 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_y ... ok
[INFO] [stdout] test transform::tests::individual_transformations_are_applied_in_sequence ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_y ... 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::an_arbitrary_view_transformation ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_x_axis ... ok
[INFO] [stdout] test transform::tests::chained_transformations_must_be_applied_in_reverse_order ... ok
[INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_z ... ok
[INFO] [stdout] test transform::tests::rotating_a_point_around_the_y_axis ... ok
[INFO] [stdout] test transform::tests::multiplying_by_a_translation_matrix ... ok
[INFO] [stdout] test transform::tests::a_view_transformation_matrix_looking_in_positive_z_direction ... ok
[INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_scaling_matrix ... 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_inverse_of_an_x_rotation_rotates_in_the_opposite_direction ... 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 tuple::tests::adding_a_vector_to_a_point_returns_a_new_point ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_vector ... ok
[INFO] [stdout] test tuple::tests::dot_product_of_two_vectors_is_scalar ... 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 tuple::tests::negating_a_tuple_returns_the_negative_tuple ... ok
[INFO] [stdout] test tuple::tests::negating_a_vector_returns_the_negative_vector ... ok
[INFO] [stdout] test tuple::tests::normalized_vector_is_a_unit_vector ... ok
[INFO] [stdout] test tuple::tests::negative_vector_has_positive_magnitude ... ok
[INFO] [stdout] test tuple::tests::point_has_three_coordinates ... ok
[INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction ... 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::normalizing_vector_returns_unit_vector_same_direction2 ... 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::reflecting_a_vector_approaching_at_45_deg ... ok
[INFO] [stdout] test transform::tests::translation_does_not_affect_vectors ... 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::vector_has_magnitude ... ok
[INFO] [stdout] test tuple::tests::unit_vector_x_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_not_commutative ... ok
[INFO] [stdout] test tuple::tests::unit_vector_y_has_magnitude_of_1 ... ok
[INFO] [stdout] test tuple::tests::vector_has_three_coordinates ... ok
[INFO] [stdout] test material::tests::lighting_with_the_surface_in_shadow ... ok
[INFO] [stdout] test tuple::tests::vector_returns_true_for_is_vector_false_for_is_point ... 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 tuple::tests::unit_vector_z_has_magnitude_of_1 ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_1 ... ok
[INFO] [stdout] test world::tests::creating_a_world ... 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 tuple::tests::vector_has_w_of_0 ... ok
[INFO] [stdout] test world::tests::shading_an_intersection_from_the_inside ... ok
[INFO] [stdout] test world::tests::shading_an_intersection ... ok
[INFO] [stdout] test world::tests::the_color_when_a_ray_misses ... ok
[INFO] [stdout] test world::tests::test_is_shadowed::case_4 ... 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 camera::tests::constructing_a_ray_when_the_camera_is_transformed ... FAILED
[INFO] [stdout] test ray::tests::passing_a_vector_for_origin_causes_panic - should panic ... ok
[INFO] [stdout] test ray::tests::passing_a_point_for_direction_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:     0x55e30298174a - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x55e30298174a - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55e30298174a - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x55e30298174a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55e3029a5bde - core::fmt::write::h5a4baaff1bcd3eb5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
[INFO] [stdout]    5:     0x55e30297ebc5 - std::io::Write::write_fmt::h478f79c628ef31d1
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
[INFO] [stdout]    6:     0x55e302981515 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x55e302981515 - std::sys_common::backtrace::print::h54ca9458b876c8bf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x55e3029832df - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
[INFO] [stdout]    9:     0x55e302982f9f - std::panicking::default_hook::ha3500da57aa4ac4f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:287:9
[INFO] [stdout]   10:     0x55e30291d437 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf1b89dd137ece34
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   11:     0x55e30291d437 - test::test_main::{{closure}}::h9081a79f20e75698
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:135:21
[INFO] [stdout]   12:     0x55e302983a0d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6507bddc3eebb4a5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   13:     0x55e302983a0d - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:696:13
[INFO] [stdout]   14:     0x55e302928028 - std::panicking::begin_panic::{{closure}}::h2ed35cf90f57b389
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:612:9
[INFO] [stdout]   15:     0x55e30292892a - std::sys_common::backtrace::__rust_end_short_backtrace::h68ea13e70d73f283
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x55e302927f43 - std::panicking::begin_panic::hdb7fd932a925fae0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:611:12
[INFO] [stdout]   17:     0x55e3028c0217 - spectral::AssertionFailure<T>::fail::h67e3e814ffd785f5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:343:9
[INFO] [stdout]   18:     0x55e3028b778e - spectral::Spec<S>::is_equal_to::h63cb9d9030342269
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/spectral-0.6.0/src/lib.rs:428:13
[INFO] [stdout]   19:     0x55e3028ea3d0 - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::h03234d078213d744
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:223:9
[INFO] [stdout]   20:     0x55e3028ea087 - ray_tracer::camera::tests::constructing_a_ray_when_the_camera_is_transformed::{{closure}}::hde1bd96e7d450aeb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/camera.rs:213:60
[INFO] [stdout]   21:     0x55e3028a0015 - core::ops::function::FnOnce::call_once::h7a467edac94abb9c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x55e30292281f - core::ops::function::FnOnce::call_once::h7d969581be7d0075
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55e30292281f - test::__rust_begin_short_backtrace::hca25a52684e56655
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:656:18
[INFO] [stdout]   24:     0x55e3028f3e3c - test::run_test::{{closure}}::ha8ac744c4af1a4bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:647:30
[INFO] [stdout]   25:     0x55e3028f3e3c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7b411a9ed45bdecf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55e3029217e6 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd05328869a8ed200
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   27:     0x55e3029217e6 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0c601ce20bd5b2be
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   28:     0x55e3029217e6 - std::panicking::try::do_call::ha4be5c164fe30854
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   29:     0x55e3029217e6 - std::panicking::try::h604546f3609af05f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   30:     0x55e3029217e6 - std::panic::catch_unwind::h5bfa8afe44c9c2f9
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   31:     0x55e3029217e6 - test::run_test_in_process::hd50dee55dd63e6aa
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:679:27
[INFO] [stdout]   32:     0x55e3029217e6 - test::run_test::run_test_inner::{{closure}}::h4aa0f433aa85cea8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:573:39
[INFO] [stdout]   33:     0x55e3028ee4b1 - test::run_test::run_test_inner::{{closure}}::had56431adf24b4d6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:600:37
[INFO] [stdout]   34:     0x55e3028ee4b1 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha8d9890e0c73bf13
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   35:     0x55e3028f3ecb - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h251832bcb4a95327
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:560:17
[INFO] [stdout]   36:     0x55e3028f3ecb - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8fdff598fa414831
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   37:     0x55e3028f3ecb - std::panicking::try::do_call::h455dd2f7764a950f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   38:     0x55e3028f3ecb - std::panicking::try::had6f23b7b73ae72a
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   39:     0x55e3028f3ecb - std::panic::catch_unwind::ha6a5ca3915b4dad0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   40:     0x55e3028f3ecb - std::thread::Builder::spawn_unchecked_::{{closure}}::h883b72ef75da6231
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   41:     0x55e3028f3ecb - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb7dff73dc8bd2ccb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55e302987da3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h39990b24eedef2ab
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   43:     0x55e302987da3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h01a027258444143b
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   44:     0x55e302987da3 - std::sys::unix::thread::Thread::new::thread_start::ha4f1cdd9c25884ba
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7ff71a523b43 - <unknown>
[INFO] [stdout]   46:     0x7ff71a5b4bb4 - __clone
[INFO] [stdout]   47:                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.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ray-tracer`
[INFO] running `Command { std: "docker" "inspect" "37f939a95333768964cc60a88749648983c79cbc688c69f8ffeb240feedf7793", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37f939a95333768964cc60a88749648983c79cbc688c69f8ffeb240feedf7793", kill_on_drop: false }`
[INFO] [stdout] 37f939a95333768964cc60a88749648983c79cbc688c69f8ffeb240feedf7793
