[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] 41c4a2ca9972c36ae638ecb7d8b9634eeccc82fe [INFO] testing gmrowe/rayst against beta-2022-02-22 for beta-1.60-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmrowe%2Frayst" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gmrowe/rayst on toolchain beta-2022-02-22 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2/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-2/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" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "+beta-2022-02-22" "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] 2aaf52c9e97d9469930f26079a8cdea74688911f38374552485989061573a86e [INFO] running `Command { std: "docker" "start" "-a" "2aaf52c9e97d9469930f26079a8cdea74688911f38374552485989061573a86e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2aaf52c9e97d9469930f26079a8cdea74688911f38374552485989061573a86e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2aaf52c9e97d9469930f26079a8cdea74688911f38374552485989061573a86e", kill_on_drop: false }` [INFO] [stdout] 2aaf52c9e97d9469930f26079a8cdea74688911f38374552485989061573a86e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47c831c9aae4ec128ad8e83c08161597e341399b66cea99c20ec552e899173df [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" "47c831c9aae4ec128ad8e83c08161597e341399b66cea99c20ec552e899173df", kill_on_drop: false }` [INFO] [stderr] Compiling rayst v0.1.0 (/opt/rustwide/workdir) [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] = note: `#[warn(dead_code)]` on by default [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: `t` [INFO] [stdout] --> src/intersections.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn t(&self) -> f64 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `point` [INFO] [stdout] --> src/intersections.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn point(&self) -> Tup { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `inside` [INFO] [stdout] --> src/intersections.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn inside(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `push` [INFO] [stdout] --> src/intersections.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn push(mut self, i: Intersection) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/intersections.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_ambient` [INFO] [stdout] --> src/materials.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn with_ambient(self, ambient: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_shininess` [INFO] [stdout] --> src/materials.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn with_shininess(self, shininess: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `black` [INFO] [stdout] --> src/materials.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | fn black() -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/matrix.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | fn new(width: usize, height: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_transform` [INFO] [stdout] --> src/spheres.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn set_transform(self, transform: Mat4) -> 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:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | 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:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | 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:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | 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:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | 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: `is_point` [INFO] [stdout] --> src/tup.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn is_point(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_vector` [INFO] [stdout] --> src/tup.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn is_vector(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `objects` [INFO] [stdout] --> src/world.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn objects(&self) -> &[Sphere] { [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: `GREEN` [INFO] [stdout] --> src/color.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / pub const GREEN: Color = [INFO] [stdout] 17 | | Color { red: 0.0, green: 1.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: 1.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAGENTA` [INFO] [stdout] --> src/color.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / pub const MAGENTA: Color = [INFO] [stdout] 23 | | Color { red: 1.0, green: 0.0, blue: 1.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CYAN` [INFO] [stdout] --> src/color.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / pub const CYAN: Color = [INFO] [stdout] 26 | | Color { red: 0.0, green: 1.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: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.60s [INFO] running `Command { std: "docker" "inspect" "47c831c9aae4ec128ad8e83c08161597e341399b66cea99c20ec552e899173df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47c831c9aae4ec128ad8e83c08161597e341399b66cea99c20ec552e899173df", kill_on_drop: false }` [INFO] [stdout] 47c831c9aae4ec128ad8e83c08161597e341399b66cea99c20ec552e899173df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "+beta-2022-02-22" "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] 8aac66c526f4723909138f970ad0ead591c055d000531e3d6b5da1eff684b614 [INFO] running `Command { std: "docker" "start" "-a" "8aac66c526f4723909138f970ad0ead591c055d000531e3d6b5da1eff684b614", kill_on_drop: false }` [INFO] [stderr] Compiling rayst v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function is never used: `with_shininess` [INFO] [stdout] --> src/materials.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn with_shininess(self, shininess: f64) -> Self { [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: `black` [INFO] [stdout] --> src/materials.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | fn black() -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/matrix.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | 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: `GREEN` [INFO] [stdout] --> src/color.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / pub const GREEN: Color = [INFO] [stdout] 17 | | Color { red: 0.0, green: 1.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: 1.0, blue: 0.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAGENTA` [INFO] [stdout] --> src/color.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / pub const MAGENTA: Color = [INFO] [stdout] 23 | | Color { red: 1.0, green: 0.0, blue: 1.0 }; [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CYAN` [INFO] [stdout] --> src/color.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / pub const CYAN: Color = [INFO] [stdout] 26 | | Color { red: 0.0, green: 1.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: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.87s [INFO] running `Command { std: "docker" "inspect" "8aac66c526f4723909138f970ad0ead591c055d000531e3d6b5da1eff684b614", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8aac66c526f4723909138f970ad0ead591c055d000531e3d6b5da1eff684b614", kill_on_drop: false }` [INFO] [stdout] 8aac66c526f4723909138f970ad0ead591c055d000531e3d6b5da1eff684b614 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "+beta-2022-02-22" "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] 2ff9c42c6392d10ae550635b17e0dc67054583853c70f66dee9f107d18146f69 [INFO] running `Command { std: "docker" "start" "-a" "2ff9c42c6392d10ae550635b17e0dc67054583853c70f66dee9f107d18146f69", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] warning: associated function is never used: `with_shininess` [INFO] [stdout] running 193 tests [INFO] [stderr] --> src/materials.rs:32:12 [INFO] [stdout] test camera::camera_test::a_camera_stores_its_field_of_view ... ok [INFO] [stderr] | [INFO] [stdout] test canvas::canvas_tests::a_canvas_can_output_ppm_data ... ok [INFO] [stderr] 32 | pub fn with_shininess(self, shininess: f64) -> Self { [INFO] [stdout] test canvas::canvas_tests::a_canvas_pixel_can_be_written_to ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test canvas::canvas_tests::a_canvas_stored_its_height ... ok [INFO] [stderr] | [INFO] [stdout] test canvas::canvas_tests::a_canvas_stores_its_width ... ok [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] test canvas::canvas_tests::a_new_canvas_has_all_black_pixels ... ok [INFO] [stderr] [INFO] [stdout] test color::color_tests::blue_color_can_be_created_from_hex_value ... ok [INFO] [stderr] warning: associated function is never used: `black` [INFO] [stdout] test color::color_tests::black_color_can_be_created_from_hex_value ... ok [INFO] [stderr] --> src/materials.rs:71:8 [INFO] [stdout] test color::color_tests::arbitrary_color_can_be_created_from_hex_value ... ok [INFO] [stderr] | [INFO] [stdout] test canvas::canvas_tests::ppm_are_terminated_by_a_newline_character ... ok [INFO] [stderr] 71 | fn black() -> Color { [INFO] [stdout] test canvas::canvas_tests::a_canvas_can_enumerate_pixels ... ok [INFO] [stderr] | ^^^^^ [INFO] [stdout] test canvas::canvas_tests::long_lines_in_ppm_files_should_be_split ... ok [INFO] [stderr] [INFO] [stdout] test color::color_tests::colors_can_be_added ... ok [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stdout] test color::color_tests::colors_can_be_multiplied_by_a_color ... ok [INFO] [stderr] --> src/matrix.rs:228:8 [INFO] [stdout] test color::color_tests::colors_can_be_multiplied_by_a_scalar ... ok [INFO] [stderr] | [INFO] [stdout] test color::color_tests::colors_can_be_subtracted ... ok [INFO] [stderr] 228 | fn new(width: usize, height: usize) -> Self { [INFO] [stdout] test color::color_tests::colors_have_a_blue_component ... ok [INFO] [stderr] | ^^^ [INFO] [stdout] test color::color_tests::colors_have_a_green_component ... ok [INFO] [stderr] [INFO] [stdout] test color::color_tests::colors_have_a_red_component ... ok [INFO] [stderr] warning: constant is never used: `RED` [INFO] [stdout] test camera::camera_test::a_camera_stores_its_vsize ... ok [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: `GREEN` [INFO] [stderr] --> src/color.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | / pub const GREEN: Color = [INFO] [stderr] 17 | | Color { red: 0.0, green: 1.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: 1.0, blue: 0.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MAGENTA` [INFO] [stderr] --> src/color.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub const MAGENTA: Color = [INFO] [stderr] 23 | | Color { red: 1.0, green: 0.0, blue: 1.0 }; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `CYAN` [INFO] [stderr] --> src/color.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub const CYAN: Color = [INFO] [stderr] 26 | | Color { red: 0.0, green: 1.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 13 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rayst-c51ccc493cf84d03) [INFO] [stdout] test color::color_tests::green_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_camera_stores_its_transform ... 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_a_t ... ok [INFO] [stdout] test intersections::intersections_test::an_intersection_encapsulates_an_object ... 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_inside ... ok [INFO] [stdout] test intersections::intersections_test::the_computation_can_determine_that_the_intersection_occurs_on_outside ... 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_state_of_an_intersection_can_be_precomputed ... ok [INFO] [stdout] test intersections::intersections_test::when_all_intersections_have_negative_t_hit_returns_nothing ... ok [INFO] [stdout] test intersections::intersections_test::when_all_intersectons_are_positive_hit_returns_the_smallest_t ... ok [INFO] [stdout] test intersections::intersections_test::when_there_are_negative_intersections_hit_returns_smallest_positive_t ... 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 materials::materials_test::default_material_has_a_color ... 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 materials::materials_test::default_material_has_shininess ... ok [INFO] [stdout] test materials::materials_test::default_material_has_specular_reflection ... 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 materials::materials_test::lighting_with_eye_in_path_of_reflection ... 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_light_behind_surface ... ok [INFO] [stdout] test materials::materials_test::lighting_with_surface_in_shadow ... 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 matrix::matrix_tests::multiplying_a_product_by_its_inverse_yields_original_matrix ... 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_cofactor_of_element_1_0_of_a_mat3_does_change_signs ... ok [INFO] [stdout] test matrix::matrix_tests::the_determinant_of_a_2x2_matrix_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_determinant_of_a_mat3_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_second_matrix_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_inverse_of_an_invertable_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 matrix::matrix_tests::the_submatrix_of_a_mat3_is_a_mat2 ... ok [INFO] [stdout] test camera::camera_test::a_camera_stores_its_hsize ... ok [INFO] [stdout] test intersections::intersections_test::intersections_can_be_aggregated ... ok [INFO] [stdout] test intersections::intersections_test::the_hit_should_offset_in_the_direction_of_the_normal ... ok [INFO] [stdout] test matrix::matrix_tests::the_submatrix_of_a_mat4_is_a_mat3 ... ok [INFO] [stdout] test camera::camera_test::a_ray_through_the_center_of_the_canvas_can_be_calculated ... ok [INFO] [stdout] test matrix::matrix_tests::the_transpose_of_the_identity_matrix_is_the_identity_matrix ... 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_direction ... ok [INFO] [stdout] test camera::camera_test::a_ray_through_a_corner_of_the_canvas_can_be_calculated ... ok [INFO] [stdout] test rays::rays_test::a_ray_has_an_origin ... ok [INFO] [stdout] test camera::camera_test::camera_knows_pixel_size_for_horizontal_canvas ... 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 rays::rays_test::when_a_ray_is_translated_its_vector_is_unchanged ... ok [INFO] [stdout] test camera::camera_test::a_ray_can_be_calculated_when_camera_is_transfomed ... 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_ray_in_front_of_sphere_has_two_intersections ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_intersects_a_sphere_at_two_points ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_transforms_a_ray_before_calculating_intersects_when_scaled ... 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_ray_originating_from_inside_a_sphere_intersects_in_negative_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_ray_can_completely_miss_a_sphere ... 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_originating_from_inside_a_sphere_intersects_in_positive_distance ... ok [INFO] [stdout] test spheres::spheres_test::a_spheres_default_transformation_is_the_identity_matrix ... 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_sphere_can_be_assigned_a_material ... ok [INFO] [stdout] test spheres::spheres_test::a_sphere_has_a_default_material ... ok [INFO] [stdout] test rays::rays_test::when_a_ray_is_scaled_its_direction_changes ... 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_spheres_transform_can_be_set ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_nonaxial_point ... 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::the_normal_on_a_sphere_is_a_normalized_vector ... ok [INFO] [stdout] test transforms::tramsforms_test::chained_transformations_are_applied_in_reverse_order ... ok [INFO] [stdout] test transforms::tramsforms_test::individual_transformations_are_applied_in_sequence ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_translated_sphere ... ok [INFO] [stdout] test transforms::tramsforms_test::inverse_of_rotation_x_rotates_in_opposite_direction ... 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_x_matrix_reflects_a_point_across_the_x_axis ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_reflect_z_matrix_reflects_a_point_across_the_z_axis ... ok [INFO] [stdout] test spheres::spheres_test::both_tangent_intersections_returned_are_same ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_translation_matrix_does_not_affect_vector ... ok [INFO] [stdout] test transforms::tramsforms_test::default_view_transform_orientation_returns_identity_matrix ... ok [INFO] [stdout] test spheres::spheres_test::can_determine_the_first_ray_sphere_intersection ... ok [INFO] [stdout] test spheres::spheres_test::intersect_sets_the_object_of_the_intersecton ... ok [INFO] [stdout] test spheres::spheres_test::can_determine_the_second_ray_sphere_intersection ... ok [INFO] [stdout] test transforms::tramsforms_test::multiplying_by_reflect_y_matrix_reflects_a_point_across_the_y_axis ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_transformed_sphere ... ok [INFO] [stdout] test spheres::spheres_test::the_object_of_both_intersections_is_the_same ... ok [INFO] [stdout] test spheres::spheres_test::two_spheres_are_not_the_same ... 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_a_scaling_matrix_scales_all_values_in_point ... ok [INFO] [stdout] test spheres::spheres_test::the_normal_on_a_sphere_at_a_point_on_z_axis ... ok [INFO] [stdout] test transforms::tramsforms_test::mutliplying_by_shearing_transfomation_moves_x_in_proportion_to_y ... 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_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::view_transform_looking_in_positive_z_direction ... 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::reflection_is_scaling_by_a_negative_value ... 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 spheres::spheres_test::the_normal_on_a_sphere_at_a_point_on_y_axis ... 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::mutriplying_by_rotation_x_can_rotate_a_point_around_the_x_axis_one_quarter ... ok [INFO] [stdout] test transforms::tramsforms_test::view_transform_moves_the_world ... 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::mutliplying_by_shearing_transfomation_moves_z_in_proportion_to_x ... 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::mutliplying_by_shearing_transfomation_moves_z_in_proportion_to_y ... 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_y_in_proportion_to_x ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_1_is_a_point ... 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_0_1 ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_0_1_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::normalize_vector_4_0_0 ... ok [INFO] [stdout] test tup::tup_tests::point_creates_tuples_with_w_equals_1 ... ok [INFO] [stdout] test tup::tup_tests::reflecting_a_vector_approaching_at_45_degrees ... ok [INFO] [stdout] test tup::tup_tests::same_points_are_equal ... 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_not_vector ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_z_value ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_multiplied_by_a_fractional_scalar ... ok [INFO] [stdout] test tup::tup_tests::subtacting_a_vector_from_zero_vector_negates_it ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_multiplied_by_a_scaler ... ok [INFO] [stdout] test tup::tup_tests::a_tup_where_w_equals_0_is_not_a_point ... ok [INFO] [stdout] test tup::tup_tests::same_vectors_are_equal ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_w_value ... ok [INFO] [stdout] test tup::tup_tests::reflecting_a_vector_across_a_slanted_surface ... ok [INFO] [stdout] test tup::tup_tests::a_tup_can_be_divided_by_a_scalar ... ok [INFO] [stdout] test tup::tup_tests::magnitude_of_vector_1_0_0 ... ok [INFO] [stdout] test camera::camera_test::camera_knows_pixel_size_for_vertical_canvas ... ok [INFO] [stdout] test tup::tup_tests::a_tup_stores_ites_y_value ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_negated ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_subtracted ... ok [INFO] [stdout] test world::world_test::no_shadow_when_object_is_behind_light ... ok [INFO] [stdout] test tup::tup_tests::subtracting_a_vector_from_a_point_yields_a_point ... ok [INFO] [stdout] test tup::tup_tests::two_vectors_have_a_cross_product ... 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::vectors_and_points_are_not_equal ... ok [INFO] [stdout] test tup::tup_tests::vector_creates_tuples_with_w_equals_0 ... ok [INFO] [stdout] test tup::tup_tests::tups_can_be_added ... ok [INFO] [stdout] test tup::tup_tests::two_tups_have_a_dot_product ... ok [INFO] [stdout] test world::world_test::an_new_world_has_default_black_light_source ... ok [INFO] [stdout] test world::world_test::no_shadow_when_object_is_behind_point ... ok [INFO] [stdout] test world::world_test::intersect_a_world_with_a_ray ... ok [INFO] [stdout] test world::world_test::shade_hit_responds_correctly_when_given_an_intersection_in_shadow ... ok [INFO] [stdout] test world::world_test::no_shadows_when_nothing_is_colinear_with_point_and_light ... ok [INFO] [stdout] test world::world_test::is_shadowed_when_object_between_point_and_light ... 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::shading_an_intersection_from_the_outside ... ok [INFO] [stdout] test world::world_test::the_color_with_intersection_behind_a_ray ... ok [INFO] [stdout] test world::world_test::shading_an_intersection_from_the_inside ... ok [INFO] [stdout] test world::world_test::an_new_world_has_no_objects ... ok [INFO] [stdout] test camera::camera_test::a_world_can_be_rendered_from_a_camera ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 193 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2ff9c42c6392d10ae550635b17e0dc67054583853c70f66dee9f107d18146f69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ff9c42c6392d10ae550635b17e0dc67054583853c70f66dee9f107d18146f69", kill_on_drop: false }` [INFO] [stdout] 2ff9c42c6392d10ae550635b17e0dc67054583853c70f66dee9f107d18146f69