[INFO] fetching crate cmakefmt 0.1.11... [INFO] testing cmakefmt-0.1.11 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate cmakefmt 0.1.11 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate cmakefmt 0.1.11 [INFO] finished tweaking crates.io crate cmakefmt 0.1.11 [INFO] tweaked toml for crates.io crate cmakefmt 0.1.11 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate cmakefmt 0.1.11 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate cmakefmt 0.1.11 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 95033fb3ea8bfe6d25d830221cd8a02762c337c9f8fa398b2b7986fe4919db28 [INFO] running `Command { std: "docker" "start" "-a" "95033fb3ea8bfe6d25d830221cd8a02762c337c9f8fa398b2b7986fe4919db28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "95033fb3ea8bfe6d25d830221cd8a02762c337c9f8fa398b2b7986fe4919db28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95033fb3ea8bfe6d25d830221cd8a02762c337c9f8fa398b2b7986fe4919db28", kill_on_drop: false }` [INFO] [stdout] 95033fb3ea8bfe6d25d830221cd8a02762c337c9f8fa398b2b7986fe4919db28 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c6f52f26905c2dba0e95fbc43c5f38612ae19031d3dcc76af9a5ab8ffecaa2be [INFO] running `Command { std: "docker" "start" "-a" "c6f52f26905c2dba0e95fbc43c5f38612ae19031d3dcc76af9a5ab8ffecaa2be", kill_on_drop: false }` [INFO] [stderr] Compiling utf8parse v0.2.1 [INFO] [stderr] Compiling anstyle-query v1.0.2 [INFO] [stderr] Compiling anstyle v1.0.4 [INFO] [stderr] Compiling colorchoice v1.0.0 [INFO] [stderr] Compiling clap_lex v0.6.0 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling indent_write v2.2.0 [INFO] [stderr] Compiling unicode-width v0.1.11 [INFO] [stderr] Compiling joinery v2.1.0 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling brownstone v3.0.0 [INFO] [stderr] Compiling anstyle-parse v0.2.3 [INFO] [stderr] Compiling pretty v0.12.3 [INFO] [stderr] Compiling anstream v0.6.5 [INFO] [stderr] Compiling clap_builder v4.4.11 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling nom-supreme v0.8.0 [INFO] [stderr] Compiling clap v4.4.11 [INFO] [stderr] Compiling cmakefmt v0.1.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | EscapedQuote(char), [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - EscapedQuote(char), [INFO] [stdout] 35 + EscapedQuote(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/parser/parse_condition.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | .filter(|x| x != &to_ignore) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 186 - .filter(|x| x != &to_ignore) [INFO] [stdout] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | EscapedQuote(char), [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - EscapedQuote(char), [INFO] [stdout] 35 + EscapedQuote(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/parser/parse_condition.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | .filter(|x| x != &to_ignore) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 186 - .filter(|x| x != &to_ignore) [INFO] [stdout] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.37s [INFO] running `Command { std: "docker" "inspect" "c6f52f26905c2dba0e95fbc43c5f38612ae19031d3dcc76af9a5ab8ffecaa2be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6f52f26905c2dba0e95fbc43c5f38612ae19031d3dcc76af9a5ab8ffecaa2be", kill_on_drop: false }` [INFO] [stdout] c6f52f26905c2dba0e95fbc43c5f38612ae19031d3dcc76af9a5ab8ffecaa2be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6df7d46e6cca75ba178ee95bd85e3737f723e803fc43a718d95d87941875a80 [INFO] running `Command { std: "docker" "start" "-a" "b6df7d46e6cca75ba178ee95bd85e3737f723e803fc43a718d95d87941875a80", kill_on_drop: false }` [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | EscapedQuote(char), [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - EscapedQuote(char), [INFO] [stdout] 35 + EscapedQuote(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling cmakefmt v0.1.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/parser/parse_condition.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | .filter(|x| x != &to_ignore) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 186 - .filter(|x| x != &to_ignore) [INFO] [stdout] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | EscapedQuote(char), [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - EscapedQuote(char), [INFO] [stdout] 35 + EscapedQuote(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/parser/parse_condition.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | .filter(|x| x != &to_ignore) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 186 - .filter(|x| x != &to_ignore) [INFO] [stdout] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | EscapedQuote(char), [INFO] [stdout] | ------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - EscapedQuote(char), [INFO] [stdout] 35 + EscapedQuote(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/parser/parse_condition.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | .filter(|x| x != &to_ignore) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 186 - .filter(|x| x != &to_ignore) [INFO] [stdout] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.22s [INFO] running `Command { std: "docker" "inspect" "b6df7d46e6cca75ba178ee95bd85e3737f723e803fc43a718d95d87941875a80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6df7d46e6cca75ba178ee95bd85e3737f723e803fc43a718d95d87941875a80", kill_on_drop: false }` [INFO] [stdout] b6df7d46e6cca75ba178ee95bd85e3737f723e803fc43a718d95d87941875a80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f2695dea315bc1672c1ed91cd376c5b2cf4419e2474100af6f2843287d4774bd [INFO] running `Command { std: "docker" "start" "-a" "f2695dea315bc1672c1ed91cd376c5b2cf4419e2474100af6f2843287d4774bd", kill_on_drop: false }` [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/parser/strings.rs:35:18 [INFO] [stderr] | [INFO] [stderr] 35 | EscapedQuote(char), [INFO] [stderr] | ------------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 35 - EscapedQuote(char), [INFO] [stderr] 35 + EscapedQuote(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/parser/parse_condition.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | .filter(|x| x != &to_ignore) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stderr] | [INFO] [stderr] 186 - .filter(|x| x != &to_ignore) [INFO] [stderr] 186 + .filter(|x| !std::ptr::fn_addr_eq(*x, to_ignore)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `cmakefmt` (lib) generated 2 warnings [INFO] [stderr] warning: `cmakefmt` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] warning: `cmakefmt` (bin "cmakefmt" test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cmakefmt-1da896304aa7ece7) [INFO] [stdout] [INFO] [stdout] running 73 tests [INFO] [stdout] test parser::parse_condition::test::test_multiline_condition ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_unary ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_unary_logical_operator ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_complex_expression ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_with_command_before_operator ... ignored [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_value ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_binary_logical_operator ... ok [INFO] [stdout] test parser::strings::test::test_parse_string_with_quotes ... ok [INFO] [stdout] test parser::test::test_command_whitespace_is_parsed ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_version_binary_condition ... ok [INFO] [stdout] test parser::test::test_if_statements ... ok [INFO] [stdout] test parser::test::test_parse_cmake_arg_parenthesis ... ok [INFO] [stdout] test parser::test::test_parse_command ... ok [INFO] [stdout] test parser::test::test_newlines_are_tracked ... ok [INFO] [stdout] test parser::test::test_parse_command_multiple_args ... ok [INFO] [stdout] test parser::test::test_parse_command_name_fail_with_space ... ok [INFO] [stdout] test parser::test::test_parse_command_name_fail_with_special_char ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_with_comment ... ok [INFO] [stdout] test parser::test::test_parse_command_name_simple ... ok [INFO] [stdout] test parser::test::test_parse_command_name_with_underscores ... ok [INFO] [stdout] test parser::test::test_parse_cmake_nested_arg_parenthesis ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_binary ... ok [INFO] [stdout] test parser::test::test_parse_arg_list_inner ... ok [INFO] [stdout] test parser::test::test_parse_command_name_with_numbers ... ok [INFO] [stdout] test parser::test::test_parse_command_with_dangling_comma ... ok [INFO] [stdout] test parser::test::test_parse_command_with_comment ... ok [INFO] [stdout] test parser::test::test_parse_command_with_line_break ... ok [INFO] [stdout] test parser::test::test_parse_command_with_string_argument ... ok [INFO] [stdout] test parser::test::test_parse_command_with_nested_parenthesis ... ok [INFO] [stdout] test parser::test::test_parse_command_with_two_args ... ok [INFO] [stdout] test parser::test::test_parse_command_with_variable ... ok [INFO] [stdout] test parser::test::test_parse_comment ... ok [INFO] [stdout] test parser::test::test_parse_comment_empty ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_content ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_spaces ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_special_characters ... ok [INFO] [stdout] test parser::strings::test::test_parse_string ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_utf8 ... ok [INFO] [stdout] test parser::test::test_parse_empty_command ... ok [INFO] [stdout] test parser::test::test_parse_complex_expr ... ok [INFO] [stdout] test parser::test::test_parse_else_with_args ... ok [INFO] [stdout] test parser::test::test_parse_foreach_block_with_space_after_command ... ok [INFO] [stdout] test parser::test::test_parse_empty_string_literal ... ok [INFO] [stdout] test parser::test::test_parse_function ... ok [INFO] [stdout] test parser::test::test_parse_if_statement_with_else ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_empty ... ok [INFO] [stdout] test parser::test::test_parse_multiple_commands ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_inner_quotes ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_newline ... ok [INFO] [stdout] test parser::test::test_parse_if_statement_with_single_condition ... ok [INFO] [stdout] test parser::test::test_parse_string_literal_with_special_characters ... ok [INFO] [stdout] test parser::test::test_parse_string_unquoted ... ok [INFO] [stdout] test parser::test::test_parse_nested_if_statements ... ok [INFO] [stdout] test parser::test::test_parse_macro ... ok [INFO] [stdout] test parser::test::test_parse_number_literal ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_escaped_quotes ... ok [INFO] [stdout] test parser::test::test_parse_interpolated_literal ... ok [INFO] [stdout] test pretty_printer::test::test_print_if_statement ... ok [INFO] [stdout] test parser::test::test_value_comment_within_command ... ok [INFO] [stdout] test parser::test::test_whitespace_gets_parsed ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_single_arg ... ok [INFO] [stdout] test parser::test::test_parse_string_quoted ... ok [INFO] [stdout] test parser::test::test_parse_string_literal_with_parens ... ok [INFO] [stdout] test parser::test::test_parse_version_literal ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_long_line_args ... ok [INFO] [stdout] test pretty_printer::test::test_sample ... ok [INFO] [stdout] test pretty_printer::test::test_print_nested_if_statement ... ok [INFO] [stdout] test pretty_printer::test::test_args_are_grouped_with_upper_case_args ... ok [INFO] [stdout] test pretty_printer::test::test_args_still_stay_in_one_line_if_there_is_space ... ok [INFO] [stdout] test pretty_printer::test::test_preseving_newlines ... ok [INFO] [stdout] test pretty_printer::test::test_pretty_print_two_statements_has_no_blank_line ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_multiple_args ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_without_args ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 72 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cmakefmt-9540fb351ad1c887) [INFO] [stdout] [INFO] [stdout] running 75 tests [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_with_command_before_operator ... ignored [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_unary ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_binary_logical_operator ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_version_binary_condition ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_with_comment ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_unary_logical_operator ... ok [INFO] [stdout] test parser::strings::test::test_parse_string_with_quotes ... ok [INFO] [stdout] test parser::test::test_command_whitespace_is_parsed ... ok [INFO] [stdout] test parser::test::test_if_statements ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_value ... ok [INFO] [stdout] test parser::test::test_parse_arg_list_inner ... ok [INFO] [stdout] test parser::test::test_newlines_are_tracked ... ok [INFO] [stdout] test parser::parse_condition::test::test_multiline_condition ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_complex_expression ... ok [INFO] [stdout] test parser::parse_condition::test::test_parse_condition_binary ... ok [INFO] [stdout] test parser::strings::test::test_parse_string ... ok [INFO] [stdout] test parser::test::test_parse_cmake_arg_parenthesis ... ok [INFO] [stdout] test parser::test::test_parse_command ... ok [INFO] [stdout] test parser::test::test_parse_cmake_nested_arg_parenthesis ... ok [INFO] [stdout] test parser::test::test_parse_command_name_fail_with_space ... ok [INFO] [stdout] test parser::test::test_parse_command_with_comment ... ok [INFO] [stdout] test parser::test::test_parse_command_with_dangling_comma ... ok [INFO] [stdout] test parser::test::test_parse_command_with_nested_parenthesis ... ok [INFO] [stdout] test parser::test::test_parse_command_with_line_break ... ok [INFO] [stdout] test parser::test::test_parse_comment_empty ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_content ... ok [INFO] [stdout] test parser::test::test_parse_command_name_fail_with_special_char ... ok [INFO] [stdout] test parser::test::test_parse_command_name_simple ... ok [INFO] [stdout] test parser::test::test_parse_command_name_with_numbers ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_spaces ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_utf8 ... ok [INFO] [stdout] test parser::test::test_parse_comment_with_special_characters ... ok [INFO] [stdout] test parser::test::test_parse_complex_expr ... ok [INFO] [stdout] test parser::test::test_parse_command_with_string_argument ... ok [INFO] [stdout] test parser::test::test_parse_else_with_args ... ok [INFO] [stdout] test parser::test::test_parse_command_with_two_args ... ok [INFO] [stdout] test parser::test::test_parse_empty_command ... ok [INFO] [stdout] test parser::test::test_parse_if_statement_with_single_condition ... ok [INFO] [stdout] test parser::test::test_parse_macro ... ok [INFO] [stdout] test parser::test::test_parse_command_with_variable ... ok [INFO] [stdout] test parser::test::test_parse_empty_string_literal ... ok [INFO] [stdout] test parser::test::test_parse_interpolated_literal ... ok [INFO] [stdout] test parser::test::test_parse_comment ... ok [INFO] [stdout] test parser::test::test_parse_multiple_commands ... ok [INFO] [stdout] test parser::test::test_parse_foreach_block_with_space_after_command ... ok [INFO] [stdout] test parser::test::test_parse_if_statement_with_else ... ok [INFO] [stdout] test parser::test::test_parse_function ... ok [INFO] [stdout] test parser::test::test_parse_nested_if_statements ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_newline ... ok [INFO] [stdout] test parser::test::test_parse_string_literal_with_special_characters ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_multiple_args ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_single_arg ... ok [INFO] [stdout] test parser::test::test_parse_string_quoted ... ok [INFO] [stdout] test parser::test::test_parse_string_unquoted ... ok [INFO] [stdout] test parser::test::test_parse_version_literal ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_without_args ... ok [INFO] [stdout] test parser::test::test_value_comment_within_command ... ok [INFO] [stdout] test parser::test::test_whitespace_gets_parsed ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_empty ... ok [INFO] [stdout] test parser::test::test_parse_command_multiple_args ... ok [INFO] [stdout] test parser::test::test_parse_command_name_with_underscores ... ok [INFO] [stdout] test pretty_printer::test::test_args_are_grouped_with_upper_case_args ... ok [INFO] [stdout] test pretty_printer::test::test_args_still_stay_in_one_line_if_there_is_space ... ok [INFO] [stdout] test pretty_printer::test::test_preseving_newlines ... ok [INFO] [stdout] test pretty_printer::test::test_pretty_print_two_statements_has_no_blank_line ... ok [INFO] [stdout] test pretty_printer::test::test_print_if_statement ... ok [INFO] [stdout] test pretty_printer::test::test_print_nested_if_statement ... ok [INFO] [stdout] test test::test_smoke_tests ... ok [INFO] [stdout] test pretty_printer::test::test_sample ... ok [INFO] [stdout] test parser::test::test_parse_number_literal ... ok [INFO] [stdout] test parser::test::test_parse_string_literal_with_parens ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_inner_quotes ... ok [INFO] [stdout] test pretty_printer::test::pretty_print_command_with_long_line_args ... ok [INFO] [stdout] test parser::test::test_parse_quoted_string_with_escaped_quotes ... ok [INFO] [stdout] test test::test_snapshots ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test::test_snapshots stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'test::test_snapshots' (170) panicked at src/main.rs:80:73: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x62c1cef6b592 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x62c1cef6b592 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x62c1cef6b592 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x62c1cef6b592 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x62c1cef7c35f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x62c1cef7c35f - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x62c1cef38853 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x62c1cef38853 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x62c1cef44982 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x62c1cef494bf - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x62c1cef49351 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x62c1ceefc93e - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x62c1ceefc93e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x62c1cef49acf - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x62c1cef49acf - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x62c1cef4992a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x62c1cef44ab9 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x62c1cef2c96d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x62c1cef843a0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x62c1cef833b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x62c1cee786ad - core::result::Result::unwrap::h21839e39bc34a92e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x62c1cee786ad - cmakefmt::test::test_snapshots::h0ebd26e5bc64a28d [INFO] [stdout] at /opt/rustwide/workdir/src/main.rs:80:73 [INFO] [stdout] 22: 0x62c1cee79337 - cmakefmt::test::test_snapshots::{{closure}}::hf44b2ade43e2c16a [INFO] [stdout] at /opt/rustwide/workdir/src/main.rs:72:24 [INFO] [stdout] 23: 0x62c1ceea3cf6 - core::ops::function::FnOnce::call_once::h968ba51f1a9f4a1b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x62c1ceefc78b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x62c1ceefc78b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x62c1cef1079d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x62c1cef1079d - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x62c1cef1079d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x62c1cef1079d - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x62c1cef1079d - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x62c1cef1079d - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x62c1cef1079d - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x62c1ceee9ce4 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x62c1ceee9ce4 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x62c1ceeed61a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 36: 0x62c1ceeed61a - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x62c1ceeed61a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x62c1ceeed61a - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x62c1ceeed61a - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x62c1ceeed61a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 41: 0x62c1ceeed61a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x62c1cef3febf - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 43: 0x62c1cef3febf - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 44: 0x771a9d946aa4 - [INFO] [stdout] 45: 0x771a9d9d3a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test::test_snapshots [INFO] [stdout] [INFO] [stdout] test result: FAILED. 73 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin cmakefmt` [INFO] running `Command { std: "docker" "inspect" "f2695dea315bc1672c1ed91cd376c5b2cf4419e2474100af6f2843287d4774bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f2695dea315bc1672c1ed91cd376c5b2cf4419e2474100af6f2843287d4774bd", kill_on_drop: false }` [INFO] [stdout] f2695dea315bc1672c1ed91cd376c5b2cf4419e2474100af6f2843287d4774bd