[INFO] cloning repository https://github.com/felgru/ray-tracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/felgru/ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelgru%2Fray-tracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelgru%2Fray-tracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 95bba6470a7cc11a7b7e4efd25686fe78aaea3ac [INFO] testing felgru/ray-tracer/95bba6470a7cc11a7b7e4efd25686fe78aaea3ac against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_getrandom_patch_2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelgru%2Fray-tracer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/felgru/ray-tracer [INFO] finished tweaking git repo https://github.com/felgru/ray-tracer [INFO] tweaked toml for git repo https://github.com/felgru/ray-tracer written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/felgru/ray-tracer on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/felgru/ray-tracer already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bytemuck v1.9.1 [INFO] [stderr] Downloaded wide v0.7.4 [INFO] [stderr] Downloaded bit_field v0.10.1 [INFO] [stderr] Downloaded lebe v0.5.1 [INFO] [stderr] Downloaded simba v0.7.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.8 [INFO] [stderr] Downloaded png v0.17.5 [INFO] [stderr] Downloaded syn v1.0.90 [INFO] [stderr] Downloaded crossbeam-channel v0.5.4 [INFO] [stderr] Downloaded image v0.24.1 [INFO] [stderr] Downloaded jpeg-decoder v0.2.4 [INFO] [stderr] Downloaded tiff v0.7.1 [INFO] [stderr] Downloaded exr v1.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a31a102231cdc986894dc54a3ce34f4f58ede22763c44bdb29cb786a5d34f2e9 [INFO] running `Command { std: "docker" "start" "-a" "a31a102231cdc986894dc54a3ce34f4f58ede22763c44bdb29cb786a5d34f2e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a31a102231cdc986894dc54a3ce34f4f58ede22763c44bdb29cb786a5d34f2e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a31a102231cdc986894dc54a3ce34f4f58ede22763c44bdb29cb786a5d34f2e9", kill_on_drop: false }` [INFO] [stdout] a31a102231cdc986894dc54a3ce34f4f58ede22763c44bdb29cb786a5d34f2e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] f9bfe50ba8eeecdc7ba2a986f48c93664c67373b113d18bf2602c47ce489e2c4 [INFO] running `Command { std: "docker" "start" "-a" "f9bfe50ba8eeecdc7ba2a986f48c93664c67373b113d18bf2602c47ce489e2c4", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling syn v1.0.90 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.8 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling quote v1.0.17 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling bytemuck v1.9.1 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.6 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling deflate v1.0.0 [INFO] [stderr] Compiling nanorand v0.7.0 [INFO] [stderr] Compiling safe_arch v0.6.0 [INFO] [stderr] Compiling spin v0.9.2 [INFO] [stderr] Compiling crossbeam-channel v0.5.4 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling weezl v0.1.5 [INFO] [stderr] Compiling futures-sink v0.3.21 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling wide v0.7.4 [INFO] [stderr] Compiling flate2 v1.0.22 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling miniz_oxide v0.5.1 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling bit_field v0.10.1 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling lebe v0.5.1 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling gif v0.11.3 [INFO] [stderr] Compiling png v0.17.5 [INFO] [stderr] Compiling tiff v0.7.1 [INFO] [stderr] Compiling simba v0.7.1 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling jpeg-decoder v0.2.4 [INFO] [stderr] Compiling pin-project-internal v1.0.10 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling pin-project v1.0.10 [INFO] [stderr] Compiling flume v0.10.12 [INFO] [stderr] Compiling exr v1.4.1 [INFO] [stderr] Compiling nalgebra v0.30.1 [INFO] [stderr] Compiling image v0.24.1 [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `t` and `inside` are never read [INFO] [stdout] --> src/world.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 210 | struct PreparedComputations { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 211 | pub t: f64, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub inside: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersections.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter<'_, Intersection> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `Command { std: "docker" "inspect" "f9bfe50ba8eeecdc7ba2a986f48c93664c67373b113d18bf2602c47ce489e2c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9bfe50ba8eeecdc7ba2a986f48c93664c67373b113d18bf2602c47ce489e2c4", kill_on_drop: false }` [INFO] [stdout] f9bfe50ba8eeecdc7ba2a986f48c93664c67373b113d18bf2602c47ce489e2c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 74908a89b2f3b43ce686e36f77ecaf2bde9a550190ff793c2fa138fd82bbfaff [INFO] running `Command { std: "docker" "start" "-a" "74908a89b2f3b43ce686e36f77ecaf2bde9a550190ff793c2fa138fd82bbfaff", kill_on_drop: false }` [INFO] [stdout] warning: fields `t` and `inside` are never read [INFO] [stdout] --> src/world.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 210 | struct PreparedComputations { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 211 | pub t: f64, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub inside: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersections.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter<'_, Intersection> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersections.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter(&self) -> std::slice::Iter<'_, Intersection> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.58s [INFO] running `Command { std: "docker" "inspect" "74908a89b2f3b43ce686e36f77ecaf2bde9a550190ff793c2fa138fd82bbfaff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74908a89b2f3b43ce686e36f77ecaf2bde9a550190ff793c2fa138fd82bbfaff", kill_on_drop: false }` [INFO] [stdout] 74908a89b2f3b43ce686e36f77ecaf2bde9a550190ff793c2fa138fd82bbfaff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 4aafa3c6dbfa0f34f260e72bdf6adc31af16671153c7412e85a6b97e4b407cf3 [INFO] running `Command { std: "docker" "start" "-a" "4aafa3c6dbfa0f34f260e72bdf6adc31af16671153c7412e85a6b97e4b407cf3", kill_on_drop: false }` [INFO] [stderr] warning: fields `t` and `inside` are never read [INFO] [stderr] --> src/world.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 210 | struct PreparedComputations { [INFO] [stderr] | -------------------- fields in this struct [INFO] [stderr] 211 | pub t: f64, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub inside: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/intersections.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stderr] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 61 | pub fn iter(&self) -> std::slice::Iter<'_, Intersection> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `ray-tracer` (lib) generated 2 warnings (run `cargo fix --lib -p ray-tracer` to apply 1 suggestion) [INFO] [stderr] warning: `ray-tracer` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/ray_tracer-7e422ffaeadfd2b4) [INFO] [stdout] [INFO] [stdout] running 137 tests [INFO] [stdout] test camera::tests::constructing_a_camera ... ok [INFO] [stdout] test camera::tests::constructing_a_ray_through_the_center_of_the_canvas ... ok [INFO] [stdout] test camera::tests::constructing_a_ray_through_a_corner_of_the_canvas ... ok [INFO] [stdout] test camera::tests::constructing_a_ray_when_the_camera_is_transformed ... ok [INFO] [stdout] test camera::tests::pixel_size_for_vertical_canvas ... ok [INFO] [stdout] test camera::tests::pixel_size_for_horizontal_canvas ... ok [INFO] [stdout] test canvas::tests::canvas_construction ... ok [INFO] [stdout] test canvas::tests::writing_pixel_to_canvas ... ok [INFO] [stdout] test color::tests::add_colors ... ok [INFO] [stdout] test color::tests::multiply_color_by_scalar ... ok [INFO] [stdout] test csg::tests::constructing_a_csg ... ok [INFO] [stdout] test color::tests::subtract_colors ... ok [INFO] [stdout] test csg::tests::evaluating_the_rule_for_a_csg_operation ... ok [INFO] [stdout] test color::tests::default_color ... ok [INFO] [stdout] test color::tests::multiply_colors ... ok [INFO] [stdout] test csg::tests::filtering_a_list_of_intersections ... ok [INFO] [stdout] test color::tests::color_values ... ok [INFO] [stdout] test geometry::tests::reflecting_a_vector_off_a_slanted_surface ... ok [INFO] [stdout] test csg::tests::ray_hits_a_csg_object ... ok [INFO] [stdout] test csg::tests::ray_misses_csg_object ... ok [INFO] [stdout] test geometry::tests::arbitrary_view_transformation ... ok [INFO] [stdout] test geometry::tests::reflection_of_45degree_approach ... ok [INFO] [stdout] test geometry::tests::view_transform_for_default_orientation ... ok [INFO] [stdout] test geometry::tests::view_transform_looking_in_positive_z_direction ... ok [INFO] [stdout] test group::tests::adding_a_child_to_a_group ... ok [INFO] [stdout] test geometry::tests::view_transform_moves_the_world ... ok [INFO] [stdout] test group::tests::creating_an_empty_group ... ok [INFO] [stdout] test group::tests::intersecting_a_ray_with_an_empty_group ... ok [INFO] [stdout] test intersections::tests::hit_is_always_lowest_nonnegative_intersection ... ok [INFO] [stdout] test intersections::tests::aggregating_intersections ... ok [INFO] [stdout] test intersections::tests::hit_when_all_intersections_have_negative_t ... ok [INFO] [stdout] test intersections::tests::hit_when_all_intersections_have_positive_t ... ok [INFO] [stdout] test group::tests::intersecting_a_ray_with_a_transformed_group ... ok [INFO] [stdout] test group::tests::intersecting_a_ray_with_a_nonempty_group ... ok [INFO] [stdout] test intersections::tests::hit_when_some_intersections_have_negative_t ... ok [INFO] [stdout] test intersections::tests::intersection_properties ... ok [INFO] [stdout] test light::tests::point_light_defaults ... ok [INFO] [stdout] test material::tests::default_material ... ok [INFO] [stdout] test material::tests::lighting_with_eye_between_light_and_surface ... ok [INFO] [stdout] test material::tests::default_shader ... ok [INFO] [stdout] test camera::tests::rendering_a_world_with_a_camera ... ok [INFO] [stdout] test group::tests::bounding_box_of_group_with_two_objects ... ok [INFO] [stdout] test material::tests::lighting_with_eye_between_light_and_surface_eye_offset_45_degree ... ok [INFO] [stdout] test material::tests::lighting_with_eye_in_path_of_reflection_vector ... ok [INFO] [stdout] test material::tests::lighting_with_eye_opposite_surface_light_offset_45_degree ... ok [INFO] [stdout] test material::tests::lighting_with_light_behind_surface ... ok [INFO] [stdout] test material::tests::lighting_with_surface_in_shadow ... ok [INFO] [stdout] test material::tests::reflectivity_of_default_shader ... ok [INFO] [stdout] test object_store::tests::create_an_object_store ... ok [INFO] [stdout] test object_store::tests::lighting_with_stripe_pattern ... ok [INFO] [stdout] test object_store::tests::normal_of_transformed_sphere ... ok [INFO] [stdout] test object_store::tests::normal_of_translated_sphere ... ok [INFO] [stdout] test object_store::tests::one_object ... ok [INFO] [stdout] test object_store::tests::stripes_with_transformed_pattern_and_object ... ok [INFO] [stdout] test object_store::tests::stripes_with_transformed_pattern ... ok [INFO] [stdout] test patterns::tests::checker_pattern_alternates_in_x ... ok [INFO] [stdout] test object_store::tests::stripes_with_transformed_sphere ... ok [INFO] [stdout] test patterns::tests::checker_pattern_alternates_in_y ... ok [INFO] [stdout] test patterns::tests::checker_pattern_alternates_in_z ... ok [INFO] [stdout] test patterns::tests::default_pattern_transform ... ok [INFO] [stdout] test patterns::tests::ring_pattern_alternates_in_x_and_z ... ok [INFO] [stdout] test patterns::tests::gradient_linearly_interpolates ... ok [INFO] [stdout] test patterns::tests::stripe_pattern_constant_in_z ... ok [INFO] [stdout] test patterns::tests::stripe_pattern_alternates_in_x ... ok [INFO] [stdout] test rays::tests::scaling_a_ray ... ok [INFO] [stdout] test rays::tests::translating_a_ray ... ok [INFO] [stdout] test rays::tests::creating_and_querying_a_ray ... ok [INFO] [stdout] test shapes::bounds::tests::adding_bounds_to_empty_bounds ... ok [INFO] [stdout] test rays::tests::position_after_given_time_of_flight ... ok [INFO] [stdout] test shapes::bounds::tests::empty_bounds_never_intersect ... ok [INFO] [stdout] test shapes::cube::tests::normal_on_the_surface_of_a_cube ... ok [INFO] [stdout] test shapes::cube::tests::ray_intersects_a_cube ... ok [INFO] [stdout] test shapes::cube::tests::ray_misses_a_cube ... ok [INFO] [stdout] test shapes::plane::tests::intersect_with_parrallel_ray ... ok [INFO] [stdout] test shapes::plane::tests::ray_intersecting_from_above ... ok [INFO] [stdout] test shapes::plane::tests::intersect_with_coplanar_ray ... ok [INFO] [stdout] test shapes::sphere::tests::normal_of_sphere_at_nonaxial_point ... ok [INFO] [stdout] test shapes::sphere::tests::normal_of_sphere_on_y_axis ... ok [INFO] [stdout] test shapes::sphere::tests::normal_of_sphere_on_x_axis ... ok [INFO] [stdout] test shapes::plane::tests::ray_intersecting_from_below ... ok [INFO] [stdout] test shapes::sphere::tests::ray_intersecting_sphere_at_a_tangent ... ok [INFO] [stdout] test shapes::sphere::tests::normal_of_sphere_on_z_axis ... ok [INFO] [stdout] test shapes::sphere::tests::ray_missing_sphere ... ok [INFO] [stdout] test shapes::sphere::tests::ray_originating_behind_sphere ... ok [INFO] [stdout] test shapes::sphere::tests::ray_intersecting_sphere_at_two_points ... ok [INFO] [stdout] test shapes::tests::creating_a_transformed_sphere ... ok [INFO] [stdout] test shapes::tests::default_sphere_material ... ok [INFO] [stdout] test shapes::tests::intersecting_scaled_sphere_with_a_ray ... ok [INFO] [stdout] test shapes::tests::intersecting_translated_sphere_with_a_ray ... ok [INFO] [stdout] test shapes::sphere::tests::ray_originating_inside_sphere ... ok [INFO] [stdout] test world::tests::color_when_ray_misses ... ok [INFO] [stdout] test shapes::tests::assign_material_to_sphere ... ok [INFO] [stdout] test world::tests::color_whith_intersection_behind_the_ray ... ok [INFO] [stdout] test world::tests::converting_a_normal_from_object_to_world_space ... ok [INFO] [stdout] test world::tests::color_when_ray_hits ... ok [INFO] [stdout] test shapes::plane::tests::normal_of_a_plane_is_invariant_of_point ... ok [INFO] [stdout] test world::tests::converting_a_point_from_world_to_object_space ... ok [INFO] [stdout] test world::tests::create_a_world ... ok [INFO] [stdout] test world::tests::let_there_be_light ... ok [INFO] [stdout] test world::tests::no_shadow_when_object_behind_light ... ok [INFO] [stdout] test world::tests::no_shadow_when_object_behind_point ... ok [INFO] [stdout] test world::tests::object_gets_transformed_with_group ... ok [INFO] [stdout] test world::tests::over_point_accuracy ... ok [INFO] [stdout] test world::tests::parents_in_group_hierarchy ... ok [INFO] [stdout] test world::tests::precompute_state_of_an_inside_hit ... ok [INFO] [stdout] test world::tests::precomputing_the_reflection_vector ... ok [INFO] [stdout] test world::tests::precompute_state_of_an_outside_hit ... ok [INFO] [stdout] test world::tests::no_shadow_when_nothing_is_between_point_and_light ... ok [INFO] [stdout] test world::tests::reflected_color_at_maximal_recursion_depth ... ok [INFO] [stdout] test world::tests::intersect_a_world_with_a_ray ... ok [INFO] [stdout] test world::tests::reflected_color_of_a_nonreflective_material ... ok [INFO] [stdout] test world::tests::reflected_color_of_a_reflective_material ... ok [INFO] [stdout] test world::tests::refracted_color_at_maximal_recursion_depth ... ok [INFO] [stdout] test world::tests::refracted_color_of_opaque_surface ... ok [INFO] [stdout] test world::tests::refracted_color_with_a_refracted_ray ... ok [INFO] [stdout] test world::tests::refracted_color_under_total_internal_reflection ... ok [INFO] [stdout] test world::tests::schlick_approximation_under_total_internal_reflection ... ok [INFO] [stdout] test world::tests::recursive_transformation_of_nested_groups ... ok [INFO] [stdout] test world::tests::schlick_approximation_with_small_angle_and_n2_larger_than_n1 ... ok [INFO] [stdout] test world::tests::shade_hit_is_given_an_intersection_in_shadow ... ok [INFO] [stdout] test world::tests::shade_hit_with_a_reflective_material ... ok [INFO] [stdout] test world::tests::shade_hit_with_reflective_transparent_material ... ok [INFO] [stdout] test world::tests::shade_hit_with_a_transparent_material ... ok [INFO] [stdout] test world::tests::shading_an_intersection ... ok [INFO] [stdout] test world::tests::shading_an_intersection_from_the_inside ... ok [INFO] [stdout] test world::tests::shadow_when_object_between_point_and_light ... ok [INFO] [stdout] test group::tests::bounding_box_of_group_with_a_single_object ... ok [INFO] [stdout] test world::tests::terminiation_in_case_of_infinite_reflection ... ok [INFO] [stdout] test patterns::tests::stripe_pattern_constant_in_y ... ok [INFO] [stdout] test world::tests::finding_the_normal_on_a_child_object ... ok [INFO] [stdout] test world::tests::schlick_approximation_with_perpendicular_viewing_angle ... ok [INFO] [stdout] test world::tests::test_refraction ... ok [INFO] [stdout] test world::tests::under_point_accuracy ... ok [INFO] [stdout] test yaml::tests::loading_a_camera ... ok [INFO] [stdout] test yaml::tests::parsing_a_point ... ok [INFO] [stdout] test yaml::tests::parsing_a_simple_f64 ... ok [INFO] [stdout] test yaml::tests::parsing_an_f64_expression ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 137 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/ray_tracer-476429e0c4e6d7f8) [INFO] [stderr] Doc-tests ray_tracer [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4aafa3c6dbfa0f34f260e72bdf6adc31af16671153c7412e85a6b97e4b407cf3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4aafa3c6dbfa0f34f260e72bdf6adc31af16671153c7412e85a6b97e4b407cf3", kill_on_drop: false }` [INFO] [stdout] 4aafa3c6dbfa0f34f260e72bdf6adc31af16671153c7412e85a6b97e4b407cf3