[INFO] cloning repository https://github.com/gmrowe/rayst [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gmrowe/rayst" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmrowe%2Frayst", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmrowe%2Frayst'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6e9cdd2ffa1c4a0c78b8e5332f38a92880a764b4 [INFO] testing gmrowe/rayst against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmrowe%2Frayst" "/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/gmrowe/rayst on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/gmrowe/rayst [INFO] finished tweaking git repo https://github.com/gmrowe/rayst [INFO] tweaked toml for git repo https://github.com/gmrowe/rayst written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/gmrowe/rayst already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 70de4dc8fc61b14a7833f7d0d7ecb9db4490f2b4efa15bb970cb22e6eeb87134 [INFO] running `Command { std: "docker" "start" "-a" "70de4dc8fc61b14a7833f7d0d7ecb9db4490f2b4efa15bb970cb22e6eeb87134", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "70de4dc8fc61b14a7833f7d0d7ecb9db4490f2b4efa15bb970cb22e6eeb87134", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70de4dc8fc61b14a7833f7d0d7ecb9db4490f2b4efa15bb970cb22e6eeb87134", kill_on_drop: false }` [INFO] [stdout] 70de4dc8fc61b14a7833f7d0d7ecb9db4490f2b4efa15bb970cb22e6eeb87134 [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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5a57b19024edbe5842611d18f4f1c5b922e1cedbccbe3ff4ae7dc01e86821327 [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" "5a57b19024edbe5842611d18f4f1c5b922e1cedbccbe3ff4ae7dc01e86821327", kill_on_drop: false }` [INFO] [stderr] Compiling rayst v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function is never used: `back_wall` [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn back_wall() -> Plane { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `plane_wall_color` [INFO] [stdout] --> src/main.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn plane_wall_color() -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transform` [INFO] [stdout] --> src/camera.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn transform(&self) -> Mat4 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `pixels_mut` [INFO] [stdout] --> src/canvas.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn pixels_mut(&mut self) -> PixelsMut { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `index` [INFO] [stdout] --> src/canvas.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | fn index(&self, x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `write_pixel` [INFO] [stdout] --> src/canvas.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn write_pixel(mut self, x: usize, y: usize, c: Color) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `pixel_at` [INFO] [stdout] --> src/canvas.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn pixel_at(&self, x: usize, y: usize) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `break_line` [INFO] [stdout] --> src/canvas.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | fn break_line(s: &str, max_len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_ppm` [INFO] [stdout] --> src/canvas.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn to_ppm(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_LINE_LEN` [INFO] [stdout] --> src/canvas.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | const MAX_LINE_LEN: usize = 70; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/matrix.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | fn new(width: usize, height: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `glass_sphere` [INFO] [stdout] --> src/spheres.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn glass_sphere() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `reflect_x` [INFO] [stdout] --> src/transforms.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn reflect_x() -> Mat4 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `reflect_y` [INFO] [stdout] --> src/transforms.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn reflect_y() -> Mat4 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `reflect_z` [INFO] [stdout] --> src/transforms.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn reflect_z() -> Mat4 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_z` [INFO] [stdout] --> src/transforms.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn rotation_z(radians: f64) -> Mat4 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shearing` [INFO] [stdout] --> src/transforms.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn shearing(dx_y: f64, dx_z: f64, dy_x: f64, dy_z: f64, dz_x: f64, dz_y: f64) -> Mat4 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `assert_nearly_eq` [INFO] [stdout] --> src/test_helpers.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn assert_nearly_eq(a: f64, b: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `default_test_world` [INFO] [stdout] --> src/test_helpers.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn default_test_world() -> World { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `num_objects` [INFO] [stdout] --> src/world.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn num_objects(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `WHITE` [INFO] [stdout] --> src/color.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / pub const WHITE: Color = [INFO] [stdout] 11 | | Color { red: 1.0, green: 1.0, blue: 1.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RED` [INFO] [stdout] --> src/color.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / pub const RED: Color = [INFO] [stdout] 14 | | Color { red: 1.0, green: 0.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BLUE` [INFO] [stdout] --> src/color.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / pub const BLUE: Color = [INFO] [stdout] 20 | | Color { red: 0.0, green: 0.0, blue: 1.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `YELLOW` [INFO] [stdout] --> src/color.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub const YELLOW: Color = [INFO] [stdout] 29 | | Color { red: 1.0, green: 1.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NAVY` [INFO] [stdout] --> src/color.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | / pub const NAVY: Color = [INFO] [stdout] 32 | | Color { red: 0.0, green: 0.0, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `TEAL` [INFO] [stdout] --> src/color.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | / pub const TEAL: Color = [INFO] [stdout] 35 | | Color { red: 0.0, green: 0.5, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `OLIVE` [INFO] [stdout] --> src/color.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / pub const OLIVE: Color = [INFO] [stdout] 38 | | Color { red: 0.5, green: 0.5, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GRAY` [INFO] [stdout] --> src/color.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | / pub const GRAY: Color = [INFO] [stdout] 41 | | Color { red: 0.5, green: 0.5, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.00s [INFO] running `Command { std: "docker" "inspect" "5a57b19024edbe5842611d18f4f1c5b922e1cedbccbe3ff4ae7dc01e86821327", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a57b19024edbe5842611d18f4f1c5b922e1cedbccbe3ff4ae7dc01e86821327", kill_on_drop: false }` [INFO] [stdout] 5a57b19024edbe5842611d18f4f1c5b922e1cedbccbe3ff4ae7dc01e86821327 [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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d2d3b2cee2fba37f36204f3715f99bbdb75bc5c98635660cb0f7ffbb53f72abf [INFO] running `Command { std: "docker" "start" "-a" "d2d3b2cee2fba37f36204f3715f99bbdb75bc5c98635660cb0f7ffbb53f72abf", kill_on_drop: false }` [INFO] [stderr] Compiling rayst v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function is never used: `back_wall` [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn back_wall() -> Plane { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `plane_wall_color` [INFO] [stdout] --> src/main.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn plane_wall_color() -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/matrix.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | fn new(width: usize, height: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RED` [INFO] [stdout] --> src/color.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / pub const RED: Color = [INFO] [stdout] 14 | | Color { red: 1.0, green: 0.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BLUE` [INFO] [stdout] --> src/color.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / pub const BLUE: Color = [INFO] [stdout] 20 | | Color { red: 0.0, green: 0.0, blue: 1.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `YELLOW` [INFO] [stdout] --> src/color.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub const YELLOW: Color = [INFO] [stdout] 29 | | Color { red: 1.0, green: 1.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NAVY` [INFO] [stdout] --> src/color.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | / pub const NAVY: Color = [INFO] [stdout] 32 | | Color { red: 0.0, green: 0.0, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `TEAL` [INFO] [stdout] --> src/color.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | / pub const TEAL: Color = [INFO] [stdout] 35 | | Color { red: 0.0, green: 0.5, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `OLIVE` [INFO] [stdout] --> src/color.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / pub const OLIVE: Color = [INFO] [stdout] 38 | | Color { red: 0.5, green: 0.5, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GRAY` [INFO] [stdout] --> src/color.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | / pub const GRAY: Color = [INFO] [stdout] 41 | | Color { red: 0.5, green: 0.5, blue: 0.5 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.89s [INFO] running `Command { std: "docker" "inspect" "d2d3b2cee2fba37f36204f3715f99bbdb75bc5c98635660cb0f7ffbb53f72abf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2d3b2cee2fba37f36204f3715f99bbdb75bc5c98635660cb0f7ffbb53f72abf", kill_on_drop: false }` [INFO] [stdout] d2d3b2cee2fba37f36204f3715f99bbdb75bc5c98635660cb0f7ffbb53f72abf [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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c3bbf702399a976a364a82108d7bab3a7f346f00c1cb4ee5c6ed4bc6fc1e7667 [INFO] running `Command { std: "docker" "start" "-a" "c3bbf702399a976a364a82108d7bab3a7f346f00c1cb4ee5c6ed4bc6fc1e7667", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] warning: function is never used: `back_wall` [INFO] [stdout] running 239 tests [INFO] [stderr] --> src/main.rs:121:4 [INFO] [stderr] | [INFO] [stderr] 121 | fn back_wall() -> Plane { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `plane_wall_color` [INFO] [stderr] --> src/main.rs:139:4 [INFO] [stderr] | [INFO] [stderr] 139 | fn plane_wall_color() -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/matrix.rs:234:8 [INFO] [stderr] | [INFO] [stderr] 234 | fn new(width: usize, height: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `RED` [INFO] [stderr] --> src/color.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub const RED: Color = [INFO] [stderr] 14 | | Color { red: 1.0, green: 0.0, blue: 0.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `BLUE` [INFO] [stderr] --> src/color.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub const BLUE: Color = [INFO] [stderr] 20 | | Color { red: 0.0, green: 0.0, blue: 1.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `YELLOW` [INFO] [stderr] --> src/color.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / pub const YELLOW: Color = [INFO] [stderr] 29 | | Color { red: 1.0, green: 1.0, blue: 0.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `NAVY` [INFO] [stderr] --> src/color.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub const NAVY: Color = [INFO] [stderr] 32 | | Color { red: 0.0, green: 0.0, blue: 0.5 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `TEAL` [INFO] [stderr] --> src/color.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / pub const TEAL: Color = [INFO] [stderr] 35 | | Color { red: 0.0, green: 0.5, blue: 0.5 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `OLIVE` [INFO] [stderr] --> src/color.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub const OLIVE: Color = [INFO] [stderr] 38 | | Color { red: 0.5, green: 0.5, blue: 0.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `GRAY` [INFO] [stderr] --> src/color.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub const GRAY: Color = [INFO] [stderr] 41 | | Color { red: 0.5, green: 0.5, blue: 0.5 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: `rayst` (bin "rayst" test) generated 10 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rayst-ff0bbe33711b8327) [INFO] [stdout] test camera::camera_test::a_camera_stores_its_hsize ... ok [INFO] [stdout] test camera::camera_test::a_camera_stores_its_transform ... ok [INFO] [stdout] test camera::camera_test::a_camera_stores_its_vsize ... ok [INFO] [stdout] test camera::camera_test::a_camera_stores_its_field_of_view ... ok [INFO] [stdout] test color::color_tests::arbitrary_color_can_be_created_from_hex_value ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_can_enumerate_pixels ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_can_output_ppm_data ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_pixel_can_be_written_to ... ok [INFO] [stdout] test color::color_tests::colors_can_be_multiplied_by_a_color ... ok [INFO] [stdout] test color::color_tests::colors_can_be_added ... ok [INFO] [stdout] test color::color_tests::colors_can_be_subtracted ... ok [INFO] [stdout] test camera::camera_test::camera_knows_pixel_size_for_vertical_canvas ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_stored_its_height ... ok [INFO] [stdout] test color::color_tests::black_color_can_be_created_from_hex_value ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_can_construct_a_ppm_header ... ok [INFO] [stdout] test camera::camera_test::a_ray_through_a_corner_of_the_canvas_can_be_calculated ... ok [INFO] [stdout] test color::color_tests::colors_have_a_blue_component ... ok [INFO] [stdout] test color::color_tests::green_color_can_be_created_from_hex_value ... ok [INFO] [stdout] test color::color_tests::colors_have_a_red_component ... ok [INFO] [stdout] test color::color_tests::colors_have_a_green_component ... ok [INFO] [stdout] test color::color_tests::red_color_can_be_created_from_hex_value ... ok [INFO] [stdout] test intersections::intersections_test::an_intersection_encapsulates_an_object ... ok [INFO] [stdout] test canvas::canvas_tests::a_canvas_stores_its_width ... ok [INFO] [stdout] test intersections::intersections_test::correctly_calculates_n1_and_n2_at_different_iotersections ... ok [INFO] [stdout] test canvas::canvas_tests::a_new_canvas_has_all_black_pixels ... ok [INFO] [stdout] test canvas::canvas_tests::long_lines_in_ppm_files_should_be_split ... ok [INFO] [stdout] test canvas::canvas_tests::ppm_are_terminated_by_a_newline_character ... ok [INFO] [stdout] test color::color_tests::blue_color_can_be_created_from_hex_value ... ok [INFO] [stdout] test color::color_tests::colors_can_be_multiplied_by_a_scalar ... ok [INFO] [stdout] test camera::camera_test::a_ray_can_be_calculated_when_camera_is_transfomed ... ok [INFO] [stdout] test intersections::intersections_test::the_hit_should_offset_the_point_by_a_small_amount ... ok [INFO] [stdout] test intersections::intersections_test::the_computation_can_determine_that_the_intersection_occurs_on_inside ... ok [INFO] [stdout] test intersections::intersections_test::intersections_can_be_aggregated ... ok [INFO] [stdout] test intersections::intersections_test::hit_always_returns_the_smallest_nonnegative_intersection ... ok [INFO] [stdout] test intersections::intersections_test::the_computation_can_determine_that_the_intersection_occurs_on_outside ... ok [INFO] [stdout] test camera::camera_test::a_ray_through_the_center_of_the_canvas_can_be_calculated ... ok [INFO] [stdout] test materials::materials_test::default_material_has_a_color ... ok [INFO] [stdout] test lights::lights_test::a_point_light_has_intensity ... ok [INFO] [stdout] test lights::lights_test::a_point_light_has_position ... ok [INFO] [stdout] test intersections::intersections_test::the_hit_should_offset_in_the_direction_of_the_normal ... ok [INFO] [stdout] test materials::materials_test::default_material_has_ambient_reflection ... ok [INFO] [stdout] test materials::materials_test::default_material_has_diffuse_reflection ... ok [INFO] [stdout] test intersections::intersections_test::the_state_of_an_intersection_can_be_precomputed ... ok [INFO] [stdout] test intersections::intersections_test::under_point_is_offset_just_below_surface ... ok [INFO] [stdout] test materials::materials_test::lighting_with_light_behind_surface ... ok [INFO] [stdout] test materials::materials_test::material_has_a_default_reflectivity ... ok [INFO] [stdout] test materials::materials_test::material_has_a_default_refractive_index ... ok [INFO] [stdout] test materials::materials_test::material_has_a_default_transparancy ... ok [INFO] [stdout] test materials::materials_test::material_refractive_index_is_settable ... ok [INFO] [stdout] test materials::materials_test::material_transparancy_is_settable ... ok [INFO] [stdout] test matrix::matrix_tests::a_matrix_can_be_transposed ... ok [INFO] [stdout] test matrix::matrix_tests::a_matrix_with_a_nonzero_determinant_is_invertable ... ok [INFO] [stdout] test matrix::matrix_tests::a_matrix_with_a_zero_determinant_is_not_invertable ... ok [INFO] [stdout] test matrix::matrix_tests::construct_and_inspect_a_2x2_matrix ... ok [INFO] [stdout] test matrix::matrix_tests::construct_and_inspect_a_3x3_matrix ... ok [INFO] [stdout] test matrix::matrix_tests::construct_and_inspect_a_4x4_matrix ... ok [INFO] [stdout] test matrix::matrix_tests::different_matrices_are_not_equal ... ok [INFO] [stdout] test matrix::matrix_tests::identical_matrices_are_equal ... ok [INFO] [stdout] test matrix::matrix_tests::matrices_can_be_multiplied_by_other_matrices ... ok [INFO] [stdout] test matrix::matrix_tests::matrices_can_be_multiplied_by_tuples ... ok [INFO] [stdout] test matrix::matrix_tests::multiplying_a_matrix_by_identity_matrix_yields_original ... ok [INFO] [stdout] test intersections::intersections_test::when_all_intersectons_are_positive_hit_returns_the_smallest_t ... ok [INFO] [stdout] test materials::materials_test::default_material_has_shininess ... ok [INFO] [stdout] test materials::materials_test::lighting_with_eye_in_path_of_reflection ... ok [INFO] [stdout] test materials::materials_test::default_material_has_specular_reflection ... ok [INFO] [stdout] test intersections::intersections_test::when_there_are_negative_intersections_hit_returns_smallest_positive_t ... ok [INFO] [stdout] test materials::materials_test::lighting_with_eye_opposite_surface_light_offset_45_degrees ... ok [INFO] [stdout] test materials::materials_test::lighting_with_surface_in_shadow ... ok [INFO] [stdout] test matrix::matrix_tests::the_determinant_of_a_2x2_matrix_can_be_calculated ... ok [INFO] [stdout] test intersections::intersections_test::when_all_intersections_have_negative_t_hit_returns_nothing ... ok [INFO] [stdout] test matrix::matrix_tests::the_determinant_of_a_mat3_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::multiplying_a_product_by_its_inverse_yields_original_matrix ... ok [INFO] [stdout] test materials::materials_test::lighting_a_material_with_a_pattern ... ok [INFO] [stdout] test materials::materials_test::lighting_with_eye_between_light_and_surface ... ok [INFO] [stdout] test materials::materials_test::lighting_with_eye_between_light_and_surface_eye_offset_45_degrees ... ok [INFO] [stdout] test matrix::matrix_tests::the_cofactor_of_element_1_0_of_a_mat3_does_change_signs ... ok [INFO] [stdout] test matrix::matrix_tests::the_cofactor_of_element_0_0_of_a_mat3_does_not_change_signs ... ok [INFO] [stdout] test matrix::matrix_tests::the_transpose_of_the_identity_matrix_is_the_identity_matrix ... ok [INFO] [stdout] test patterns::patterns_test::a_default_pattern_has_an_identity_transformation ... ok [INFO] [stdout] test patterns::patterns_test::a_gradient_pattern_linearly_interpolates_between_colors ... ok [INFO] [stdout] test patterns::patterns_test::a_checkers_pattern_repeats_in_x ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_can_have_a_pattern_and_object_transformation ... ok [INFO] [stdout] test matrix::matrix_tests::the_submatrix_of_a_mat4_is_a_mat3 ... ok [INFO] [stdout] test matrix::matrix_tests::the_inverse_of_a_second_matrix_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_determinant_of_a_mat4_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_inverse_of_a_third_matrix_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_minor_of_an_element_of_a_mat3_can_be_calculated ... ok [INFO] [stdout] test patterns::patterns_test::a_checkers_pattern_repeats_in_z ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_can_have_an_object_transformation ... ok [INFO] [stdout] test matrix::matrix_tests::the_inverse_of_an_invertable_matrix_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_submatrix_of_a_mat3_is_a_mat2 ... ok [INFO] [stdout] test patterns::patterns_test::a_checkers_pattern_repeats_in_y ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_can_have_a_pattern_transformation ... ok [INFO] [stdout] test patterns::patterns_test::a_stripe_pattern_is_constant_in_z ... ok [INFO] [stdout] test patterns::patterns_test::a_stripe_pattern_can_be_created ... ok [INFO] [stdout] test patterns::patterns_test::a_transform_can_be_assigned_to_a_pattern ... ok [INFO] [stdout] test patterns::patterns_test::a_stripe_pattern_is_changes_with_x ... ok [INFO] [stdout] test planes::planes_test::a_ray_can_intersect_a_plane_from_below ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_correctly_handles_an_object_transformation ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_correctly_handles_a_pattern_plus_object_transformation ... ok [INFO] [stdout] test patterns::patterns_test::a_ring_pattern_extends_in_x_and_z ... ok [INFO] [stdout] test patterns::patterns_test::a_stripe_pattern_is_constant_in_y ... ok [INFO] [stdout] test patterns::patterns_test::a_pattern_correctly_handles_a_pattern_transformation ... ok [INFO] [stdout] test planes::planes_test::a_ray_can_intersect_a_plane_from_above ... ok [INFO] [stdout] test camera::camera_test::camera_knows_pixel_size_for_horizontal_canvas ... ok [INFO] [stdout] test planes::planes_test::a_ray_coplanar_with_a_plane_never_intersects_the_plane ... ok [INFO] [stdout] test rays::rays_test::a_ray_has_an_direction ... ok [INFO] [stdout] test planes::planes_test::the_normal_of_a_plane_is_constant_everywhere ... ok [INFO] [stdout] test rays::rays_test::when_a_ray_is_translated_its_vector_is_unchanged ... ok [INFO] [stdout] test rays::rays_test::a_point_can_be_computed_from_a_ray_and_distance ... ok [INFO] [stdout] test rays::rays_test::a_ray_has_an_origin ... ok [INFO] [stdout] test planes::planes_test::a_ray_parallel_to_a_plane_never_intersects_the_plane ... ok [INFO] [stdout] test rays::rays_test::when_a_ray_is_scaled_its_direction_changes ... ok [INFO] [stdout] test rays::rays_test::when_a_ray_is_scaled_its_origin_changes ... ok [INFO] [stdout] test rays::rays_test::when_a_ray_is_translated_its_origin_changes ... ok [INFO] [stdout] test shapes::shape_tests::a_scaled_shape_can_intersect_with_a_ray ... ok [INFO] [stdout] test intersections::intersections_test::an_intersection_encapsulates_a_t ... ok [INFO] [stdout] test shapes::shape_tests::a_shape_should_have_a_default_material ... ok [INFO] [stdout] test intersections::intersections_test::the_refection_vector_should_be_precomputed ... ok [INFO] [stdout] test shapes::shape_tests::a_material_should_be_assignable_to_a_shape ... ok [INFO] [stdout] test spheres::spheres_test::a_glass_sphere_has_a_transparency_of_1 ... ok [INFO] [stdout] test shapes::shape_tests::a_transform_should_be_assignable_to_a_shape ... ok [INFO] [stdout] test shapes::shape_tests::the_normal_on_a_translated_shape_can_be_calculates ... ok [INFO] [stdout] test spheres::spheres_test::a_glass_sphere_has_a_refractive_index_of_1_5 ... ok [INFO] [stdout] test shapes::shape_tests::the_normal_on_a_tranformed_shape_can_be_calculates ... ok [INFO] [stdout] test shapes::shape_tests::a_translated_shape_can_intersect_with_a_ray ... ok [INFO] [stdout] test shapes::shape_tests::shape_should_have_a_default_transformation ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_can_completely_miss_a_sphere ... ok [INFO] [stdout] test spheres::spheres_test::a_spheres_transform_can_be_set ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_in_front_of_sphere_has_intersects_a_second_time_in_negative_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_in_front_of_sphere_has_intersects_in_negative_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_originating_from_inside_a_sphere_intersects_in_negative_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_originating_from_inside_a_sphere_intersects_in_positive_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_transforms_a_ray_before_calculating_intersects_when_translated ... ok [INFO] [stdout] test spheres::spheres_test::a_spheres_default_transformation_is_the_identity_matrix ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_point_on_z_axis ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_is_a_normalized_vector ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_transformed_sphere ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_translated_sphere ... ok [INFO] [stdout] test spheres::spheres_test::can_determine_the_first_ray_sphere_intersection ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_point_on_x_axis ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_intersects_a_sphere_at_two_points ... ok [INFO] [stdout] test spheres::spheres_test::can_determine_the_second_ray_sphere_intersection ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_in_front_of_sphere_has_two_intersections ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_nonaxial_point ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_has_a_default_material ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_originating_from_inside_a_sphere_has_two_intersections ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_transforms_a_ray_before_calculating_intersects_when_scaled ... ok [INFO] [stdout] test spheres::spheres_test::intersect_sets_the_object_of_the_intersecton ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_intersecting_a_sphere_at_a_tangent_reutrns_two_intersections ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_can_be_assigned_a_material ... ok [INFO] [stdout] test spheres::spheres_test::both_tangent_intersections_returned_are_same ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_point_on_y_axis ... ok [INFO] [stdout] test spheres::spheres_test::two_spheres_are_not_the_same ... ok [INFO] [stdout] test transforms::tramsforms_test::chained_transformations_are_applied_in_reverse_order ... ok [INFO] [stdout] test transforms::tramsforms_test::default_view_transform_orientation_returns_identity_matrix ... ok [INFO] [stdout] test transforms::tramsforms_test::individual_transformations_are_applied_in_sequence ... ok [INFO] [stdout] test spheres::spheres_test::the_object_of_both_intersections_is_the_same ... ok [INFO] [stdout] test transforms::tramsforms_test::inverse_of_rotation_x_rotates_in_opposite_direction ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_a_scaling_matrix_scales_all_values_in_point ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_inverse_of_translation_matrix_moves_point_in_reverse ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_inverse_scaling_matrix_scales_in_opposite_dir ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_reflect_y_matrix_reflects_a_point_across_the_y_axis ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_translation_matrix_moves_point ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplyinng_by_a_scaling_matrix_scales_the_length_of_a_vector ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_reflect_x_matrix_reflects_a_point_across_the_x_axis ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_y_in_proportion_to_z ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_z_in_proportion_to_y ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_y_can_rotate_a_point_around_the_y_axis_one_half ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_z_can_rotate_a_point_around_the_z_axis_one_eighth ... ok [INFO] [stdout] test transforms::tramsforms_test::view_transform_can_accur_in_arbitrary_directions ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_z_can_rotate_a_point_around_the_z_axis_one_half ... ok [INFO] [stdout] test transforms::tramsforms_test::view_transform_looking_in_positive_z_direction ... ok [INFO] [stdout] test transforms::tramsforms_test::reflection_is_scaling_by_a_negative_value ... ok [INFO] [stdout] test transforms::tramsforms_test::view_transform_moves_the_world ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_divided_by_a_scalar ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_multiplied_by_a_fractional_scalar ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_multiplied_by_a_scaler ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_w_value ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_y_value ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_z_value ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_0_is_a_vector ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_its_x_value ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_1_is_a_point ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_0_is_not_a_point ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_1_is_not_vector ... ok [INFO] [stdout] test tup::tup_tests::adding_point_and_vector_produces_a_point ... ok [INFO] [stdout] test tup::tup_tests::adding_two_vectors_produces_a_vector ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_0_1_0 ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_0_0_1 ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_1_0_0 ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_1_2_3 ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_neg_1_neg_2_neg_3 ... ok [INFO] [stdout] test tup::tup_tests::normalize_vector_1_2_3 ... ok [INFO] [stdout] test tup::tup_tests::reflecting_a_vector_approaching_at_45_degrees ... ok [INFO] [stdout] test tup::tup_tests::normalize_vector_4_0_0 ... ok [INFO] [stdout] test tup::tup_tests::reflecting_a_vector_across_a_slanted_surface ... ok [INFO] [stdout] test tup::tup_tests::same_points_are_equal ... ok [INFO] [stdout] test tup::tup_tests::same_vectors_are_equal ... ok [INFO] [stdout] test tup::tup_tests::subtracting_a_vector_from_a_point_yields_a_point ... ok [INFO] [stdout] test tup::tup_tests::subtacting_a_vector_from_zero_vector_negates_it ... ok [INFO] [stdout] test tup::tup_tests::subtracting_two_vectors_yields_a_vector ... ok [INFO] [stdout] test tup::tup_tests::the_magnitude_of_a_normalized_vector_is_1 ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_negated ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_x_in_proportion_to_z ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_reflect_z_matrix_reflects_a_point_across_the_z_axis ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_translation_matrix_does_not_affect_vector ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_x_in_proportion_to_y ... ok [INFO] [stdout] test tup::tup_tests::point_creates_tuples_with_w_equals_1 ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_z_in_proportion_to_x ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_y_can_rotate_a_point_around_the_y_axis_one_eighth ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_y_in_proportion_to_x ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_x_can_rotate_a_point_around_the_x_axis_one_eighth ... ok [INFO] [stdout] test transforms::tramsforms_test::mutriplying_by_rotation_x_can_rotate_a_point_around_the_x_axis_one_quarter ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_added ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_subtracted ... ok [INFO] [stdout] test tup::tup_tests::two_tups_have_a_dot_product ... ok [INFO] [stdout] test tup::tup_tests::two_vectors_have_a_cross_product ... ok [INFO] [stdout] test tup::tup_tests::vectors_and_points_are_not_equal ... ok [INFO] [stdout] test tup::tup_tests::vector_creates_tuples_with_w_equals_0 ... ok [INFO] [stdout] test world::world_test::is_shadowed_when_object_between_point_and_light ... ok [INFO] [stdout] test world::world_test::no_shadow_when_object_is_behind_point ... ok [INFO] [stdout] test world::world_test::an_new_world_has_default_black_light_source ... ok [INFO] [stdout] test world::world_test::an_new_world_has_no_objects ... ok [INFO] [stdout] test world::world_test::intersect_a_world_with_a_ray ... ok [INFO] [stdout] test world::world_test::the_reflected_color_for_a_reflective_material ... ok [INFO] [stdout] test world::world_test::no_shadows_when_nothing_is_colinear_with_point_and_light ... ok [INFO] [stdout] test world::world_test::no_shadow_when_object_is_behind_light ... ok [INFO] [stdout] test world::world_test::shade_hit_responds_correctly_when_given_an_intersection_in_shadow ... ok [INFO] [stdout] test world::world_test::shading_an_intersection_from_the_inside ... ok [INFO] [stdout] test world::world_test::shading_an_intersection_from_the_outside ... ok [INFO] [stdout] test world::world_test::the_color_when_a_ray_hits_an_object_from_outside ... ok [INFO] [stdout] test world::world_test::the_color_when_a_ray_misses_an_object ... ok [INFO] [stdout] test world::world_test::the_color_with_intersection_behind_a_ray ... ok [INFO] [stdout] test world::world_test::the_reflected_color_at_max_recursion_depth ... ok [INFO] [stdout] test world::world_test::the_reflected_color_for_a_nonreflective_material_is_black ... ok [INFO] [stdout] test world::world_test::mutually_reflective_surfaces_dont_cause_infinite_recursion ... ok [INFO] [stdout] test world::world_test::shade_hit_incorporates_the_reflected_color ... ok [INFO] [stdout] test camera::camera_test::a_world_can_be_rendered_from_a_camera ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 239 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c3bbf702399a976a364a82108d7bab3a7f346f00c1cb4ee5c6ed4bc6fc1e7667", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3bbf702399a976a364a82108d7bab3a7f346f00c1cb4ee5c6ed4bc6fc1e7667", kill_on_drop: false }` [INFO] [stdout] c3bbf702399a976a364a82108d7bab3a7f346f00c1cb4ee5c6ed4bc6fc1e7667