[INFO] cloning repository https://github.com/mgrabmueller/ray_tracer_challenge [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mgrabmueller/ray_tracer_challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmgrabmueller%2Fray_tracer_challenge", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmgrabmueller%2Fray_tracer_challenge'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 96d8de6a72cba97037c35c20298fd752127c7a60 [INFO] testing mgrabmueller/ray_tracer_challenge against 1.59.0 for beta-1.60-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmgrabmueller%2Fray_tracer_challenge" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mgrabmueller/ray_tracer_challenge on toolchain 1.59.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mgrabmueller/ray_tracer_challenge [INFO] finished tweaking git repo https://github.com/mgrabmueller/ray_tracer_challenge [INFO] tweaked toml for git repo https://github.com/mgrabmueller/ray_tracer_challenge written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/mgrabmueller/ray_tracer_challenge already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 60c5c20e9766c62f9205652c999673af13a8fac3f4f89d2abf910e0a861015ea [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "60c5c20e9766c62f9205652c999673af13a8fac3f4f89d2abf910e0a861015ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "60c5c20e9766c62f9205652c999673af13a8fac3f4f89d2abf910e0a861015ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60c5c20e9766c62f9205652c999673af13a8fac3f4f89d2abf910e0a861015ea", kill_on_drop: false }` [INFO] [stdout] 60c5c20e9766c62f9205652c999673af13a8fac3f4f89d2abf910e0a861015ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cc896bb397632194ea4f4d5c0b28d601a72290936cc64214991e38cd73cc3308 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "cc896bb397632194ea4f4d5c0b28d601a72290936cc64214991e38cd73cc3308", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling syn v1.0.84 [INFO] [stderr] Compiling crossbeam-queue v0.3.2 [INFO] [stderr] Compiling serde_json v1.0.73 [INFO] [stderr] Compiling pulldown-cmark v0.8.0 [INFO] [stderr] Compiling ttf-parser v0.14.0 [INFO] [stderr] Compiling winit v0.25.0 [INFO] [stderr] Compiling cpal v0.13.4 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling mint v0.5.8 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling lewton v0.10.2 [INFO] [stderr] Compiling nom v7.1.0 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Compiling euclid v0.22.6 [INFO] [stderr] Compiling float_next_after v0.1.5 [INFO] [stderr] Compiling approx v0.5.0 [INFO] [stderr] Compiling sid v0.6.1 [INFO] [stderr] Compiling ordered-float v2.8.0 [INFO] [stderr] Compiling glam v0.20.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling crossbeam v0.8.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling lyon_geom v0.17.6 [INFO] [stderr] Compiling owned_ttf_parser v0.14.0 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling ab_glyph v0.2.13 [INFO] [stderr] Compiling tempfile v3.2.0 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Compiling xcursor v0.3.4 [INFO] [stderr] Compiling lyon_path v0.17.7 [INFO] [stderr] Compiling glyph_brush_layout v0.2.3 [INFO] [stderr] Compiling lyon_tessellation v0.17.10 [INFO] [stderr] Compiling lyon_algorithms v0.17.7 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling dirs-sys v0.3.6 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling memmap2 v0.1.0 [INFO] [stderr] Compiling mio v0.7.14 [INFO] [stderr] Compiling x11-dl v2.19.1 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling raw-window-handle v0.3.4 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling bzip2-sys v0.1.11+1.0.8 [INFO] [stderr] Compiling nix v0.23.1 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling dirs v3.0.2 [INFO] [stderr] Compiling directories v3.0.2 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling lyon v0.17.10 [INFO] [stderr] Compiling mio-misc v1.2.2 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling bzip2 v0.4.3 [INFO] [stderr] Compiling xdg v2.4.0 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling andrew v0.3.1 [INFO] [stderr] Compiling twox-hash v1.6.2 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling serde_derive v1.0.132 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling smart-default v0.6.0 [INFO] [stderr] Compiling wayland-commons v0.28.6 [INFO] [stderr] Compiling alsa v0.5.0 [INFO] [stderr] Compiling glyph_brush_draw_cache v0.1.5 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling glyph_brush v0.7.3 [INFO] [stderr] Compiling gilrs-core v0.3.2 [INFO] [stderr] Compiling gilrs v0.8.2 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling minimp3 v0.5.1 [INFO] [stderr] Compiling zip v0.5.13 [INFO] [stderr] Compiling wayland-cursor v0.28.6 [INFO] [stderr] Compiling wayland-egl v0.28.6 [INFO] [stderr] Compiling rodio v0.14.0 [INFO] [stderr] Compiling serde v1.0.132 [INFO] [stderr] Compiling cargo-platform v0.1.2 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling cargo_metadata v0.12.3 [INFO] [stderr] Compiling skeptic v0.13.6 [INFO] [stderr] Compiling ggez v0.7.0 [INFO] [stderr] Compiling smithay-client-toolkit v0.12.3 [INFO] [stderr] Compiling glutin v0.27.0 [INFO] [stderr] Compiling old_school_gfx_glutin_ext v0.27.0 [INFO] [stderr] Compiling ray_tracer_challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function is never used: `is_point` [INFO] [stdout] --> src/main.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn is_point(&self) -> bool { [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: `is_vector` [INFO] [stdout] --> src/main.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn is_vector(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `zero` [INFO] [stdout] --> src/main.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn zero() -> Vector { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `negate` [INFO] [stdout] --> src/main.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn negate(a: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `div` [INFO] [stdout] --> src/main.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn div(a: Tuple, d: f32) -> Tuple { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cross` [INFO] [stdout] --> src/main.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | fn cross(a: Tuple, b: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `pixel_at` [INFO] [stdout] --> src/main.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 252 | fn pixel_at(&self, x: usize, y: usize) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `minor` [INFO] [stdout] --> src/main.rs:376:8 [INFO] [stdout] | [INFO] [stdout] 376 | fn minor(&self, row: usize, col: usize) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_x` [INFO] [stdout] --> src/main.rs:493:4 [INFO] [stdout] | [INFO] [stdout] 493 | fn rotation_x(rad: f32) -> Matrix { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shearing` [INFO] [stdout] --> src/main.rs:526:4 [INFO] [stdout] | [INFO] [stdout] 526 | fn shearing(x_y: f32, x_z: f32, y_x: f32, y_z: f32, z_x: f32, z_y: f32) -> Matrix { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transform` [INFO] [stdout] --> src/main.rs:591:8 [INFO] [stdout] | [INFO] [stdout] 591 | fn transform(&self) -> Matrix { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `intersects_at` [INFO] [stdout] --> src/main.rs:709:4 [INFO] [stdout] | [INFO] [stdout] 709 | fn intersects_at(s: &Shape, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Computations` [INFO] [stdout] --> src/main.rs:1006:8 [INFO] [stdout] | [INFO] [stdout] 1006 | struct Computations { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prepare_computations` [INFO] [stdout] --> src/main.rs:1015:4 [INFO] [stdout] | [INFO] [stdout] 1015 | fn prepare_computations(w: &World, i: Intersection, ray: &Ray) -> Computations { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `intersect` [INFO] [stdout] --> src/main.rs:1045:8 [INFO] [stdout] | [INFO] [stdout] 1045 | fn intersect(&self, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `default_test_world` [INFO] [stdout] --> src/main.rs:1065:4 [INFO] [stdout] | [INFO] [stdout] 1065 | fn default_test_world() -> World { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 00s [INFO] running `Command { std: "docker" "inspect" "cc896bb397632194ea4f4d5c0b28d601a72290936cc64214991e38cd73cc3308", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc896bb397632194ea4f4d5c0b28d601a72290936cc64214991e38cd73cc3308", kill_on_drop: false }` [INFO] [stdout] cc896bb397632194ea4f4d5c0b28d601a72290936cc64214991e38cd73cc3308 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f77ecad82083a3e525b33f59db3a5112dbf7aebc01192e66497d702403ecf3d3 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f77ecad82083a3e525b33f59db3a5112dbf7aebc01192e66497d702403ecf3d3", kill_on_drop: false }` [INFO] [stderr] Compiling ray_tracer_challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field is never read: `inside` [INFO] [stdout] --> src/main.rs:1012:5 [INFO] [stdout] | [INFO] [stdout] 1012 | inside: bool, [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.53s [INFO] running `Command { std: "docker" "inspect" "f77ecad82083a3e525b33f59db3a5112dbf7aebc01192e66497d702403ecf3d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f77ecad82083a3e525b33f59db3a5112dbf7aebc01192e66497d702403ecf3d3", kill_on_drop: false }` [INFO] [stdout] f77ecad82083a3e525b33f59db3a5112dbf7aebc01192e66497d702403ecf3d3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4621e4d5c7456acf8e4ea5c54ecd91d03bb092a812754903a01c507cbd307272 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "4621e4d5c7456acf8e4ea5c54ecd91d03bb092a812754903a01c507cbd307272", kill_on_drop: false }` [INFO] [stderr] warning: field is never read: `inside` [INFO] [stderr] --> src/main.rs:1012:5 [INFO] [stderr] | [INFO] [stderr] 1012 | inside: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `ray_tracer_challenge` (bin "ray_tracer_challenge" test) generated 1 warning [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.24s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/ray_tracer_challenge-2ff11fa6c6ffd699) [INFO] [stdout] [INFO] [stdout] running 114 tests [INFO] [stdout] test test::adding_colors ... ok [INFO] [stdout] test test::colors_are_tuples ... ok [INFO] [stdout] test test::construct_inspect_4x4_matrix ... ok [INFO] [stdout] test test::create_point ... ok [INFO] [stdout] test test::create_vector ... ok [INFO] [stdout] test test::creating_a_world ... ok [INFO] [stdout] test test::add_tuples ... ok [INFO] [stdout] test test::changing_spheres_transformation ... ok [INFO] [stdout] test test::constructing_ppm_pixel_data ... ok [INFO] [stdout] test test::default_material ... ok [INFO] [stdout] test test::create_canvas ... ok [INFO] [stdout] test test::determinant_4x4 ... ok [INFO] [stdout] test test::determinant_3x3 ... ok [INFO] [stdout] test test::hit_with_positive_intersections ... ok [INFO] [stdout] test test::div_tuple_by_scalar ... ok [INFO] [stdout] test test::construct_inspect_2x2_matrix ... ok [INFO] [stdout] test test::determinant_2x2 ... ok [INFO] [stdout] test test::constructing_ppm_header ... ok [INFO] [stdout] test test::creating_ray ... ok [INFO] [stdout] test test::aggregating_intersections ... ok [INFO] [stdout] test test::hit_lowest_nonneg_intersection ... ok [INFO] [stdout] test test::cross_product ... ok [INFO] [stdout] test test::hit_with_intersection_neg_t ... ok [INFO] [stdout] test test::hit_with_all_neg_t ... ok [INFO] [stdout] test test::inv_x_rotation ... ok [INFO] [stdout] test test::intersect_sets_object ... ok [INFO] [stdout] test test::lighting_light_behind_surface ... ok [INFO] [stdout] test test::matrix_equality ... ok [INFO] [stdout] test test::intersect_world_with_ray ... ok [INFO] [stdout] test test::invert_matrix ... ok [INFO] [stdout] test test::lighting_eye_opposite_surface_light_offset_45_degrees ... ok [INFO] [stdout] test test::intersecting_scaled_sphere_with_ray ... ok [INFO] [stdout] test test::matrix_inequality ... ok [INFO] [stdout] test test::cofactor ... ok [INFO] [stdout] test test::chained_transformations ... ok [INFO] [stdout] test test::dot_product ... ok [INFO] [stdout] test test::construct_inspect_3x3_matrix ... ok [INFO] [stdout] test test::lighting_between_light_and_surface ... ok [INFO] [stdout] test test::intersection_encapsulates ... ok [INFO] [stdout] test test::intersecting_translated_sphere_with_ray ... ok [INFO] [stdout] test test::lighting_between_light_and_surface_eye_offset_45_degrees ... ok [INFO] [stdout] test test::lighting_eye_in_path_of_reflection ... ok [INFO] [stdout] test test::invert_other_matrix ... ok [INFO] [stdout] test test::invert_third_matrix ... ok [INFO] [stdout] test test::mul_inv_translation_matrix ... ok [INFO] [stdout] test test::mul_translation_matrix ... ok [INFO] [stdout] test test::multiply_identity ... ok [INFO] [stdout] test test::multiply_by_inverse ... ok [INFO] [stdout] test test::mul_tuple_by_scalar ... ok [INFO] [stdout] test test::multiplying_color_by_scalar ... ok [INFO] [stdout] test test::minor_3x3 ... ok [INFO] [stdout] test test::multiply_matrix_and_tuple ... ok [INFO] [stdout] test test::multiplying_colors ... ok [INFO] [stdout] test test::mul_tuple_by_fraction ... ok [INFO] [stdout] test test::multiplying_two_matrices ... ok [INFO] [stdout] test test::normal_on_translated_sphere ... ok [INFO] [stdout] test test::normalize_vec_1 ... ok [INFO] [stdout] test test::negate_tuple ... ok [INFO] [stdout] test test::normal_on_sphere_on_non_axial_point ... ok [INFO] [stdout] test test::normal_on_sphere_on_x_axis ... ok [INFO] [stdout] test test::point_from_distance ... ok [INFO] [stdout] test test::precomputing_state_of_intersection ... ok [INFO] [stdout] test test::ray_intersects_sphere_at_tangent ... ok [INFO] [stdout] test test::ray_intersects_sphere_two_points ... ok [INFO] [stdout] test test::ray_misses_sphere ... ok [INFO] [stdout] test test::reflecting_vector_off_slanted_surface ... ok [INFO] [stdout] test test::normalize_vec_2 ... ok [INFO] [stdout] test test::point_light_has_position_and_intensity ... ok [INFO] [stdout] test test::ray_originates_in_sphere ... ok [INFO] [stdout] test test::reflection_by_scaling ... ok [INFO] [stdout] test test::normalized_magnitude ... ok [INFO] [stdout] test test::reflecting_vector_45_degrees ... ok [INFO] [stdout] test test::rotation_around_z ... ok [INFO] [stdout] test test::scaling_a_ray ... ok [INFO] [stdout] test test::scaling_inverse ... ok [INFO] [stdout] test test::shearing_x_to_z ... ok [INFO] [stdout] test test::shearing_y_to_x ... ok [INFO] [stdout] test test::shearing_y_to_z ... ok [INFO] [stdout] test test::scaling_matrix_vector ... ok [INFO] [stdout] test test::shearing_z_to_x ... ok [INFO] [stdout] test test::shearing_z_to_y ... ok [INFO] [stdout] test test::rotation_around_x ... ok [INFO] [stdout] test test::rotation_around_y ... ok [INFO] [stdout] test test::normal_is_normalized ... ok [INFO] [stdout] test test::shearing_x_to_y ... ok [INFO] [stdout] test test::scaling_matrix_point ... ok [INFO] [stdout] test test::sphere_behind_ray ... ok [INFO] [stdout] test test::sphere_may_be_assigned_material ... ok [INFO] [stdout] test test::spheres_default_transformation ... ok [INFO] [stdout] test test::sub_from_zero_negates ... ok [INFO] [stdout] test test::sphere_has_default_material ... ok [INFO] [stdout] test test::sub_two_vectors ... ok [INFO] [stdout] test test::submatrix_3x3_is_2x2 ... ok [INFO] [stdout] test test::test_invertible ... ok [INFO] [stdout] test test::sub_two_points ... ok [INFO] [stdout] test test::test_noninvertible ... ok [INFO] [stdout] test test::transpose_identity ... ok [INFO] [stdout] test test::subtracting_colors ... ok [INFO] [stdout] test test::submatrix_4x4_is_3x3 ... ok [INFO] [stdout] test test::the_default_world ... ok [INFO] [stdout] test test::translating_a_ray ... ok [INFO] [stdout] test test::vector_magnitude_x ... ok [INFO] [stdout] test test::transformations_in_sequence ... ok [INFO] [stdout] test test::translation_not_affecting_vectors ... ok [INFO] [stdout] test test::sub_vector_from_point ... ok [INFO] [stdout] test test::w_one_is_point ... ok [INFO] [stdout] test test::write_pixels ... ok [INFO] [stdout] test test::w_zero_is_vector ... ok [INFO] [stdout] test test::vector_magnitude_z ... ok [INFO] [stdout] test test::vector_magnitude_y ... ok [INFO] [stdout] test test::vector_magnitude_1 ... ok [INFO] [stdout] test test::transposing ... ok [INFO] [stdout] test test::vector_magnitude_2 ... ok [INFO] [stdout] test test::normal_on_transformed_sphere ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 114 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4621e4d5c7456acf8e4ea5c54ecd91d03bb092a812754903a01c507cbd307272", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4621e4d5c7456acf8e4ea5c54ecd91d03bb092a812754903a01c507cbd307272", kill_on_drop: false }` [INFO] [stdout] 4621e4d5c7456acf8e4ea5c54ecd91d03bb092a812754903a01c507cbd307272