[INFO] fetching crate omaha_client 0.2.2... [INFO] testing omaha_client-0.2.2 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate omaha_client 0.2.2 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate omaha_client 0.2.2 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate omaha_client 0.2.2 [INFO] tweaked toml for crates.io crate omaha_client 0.2.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate omaha_client 0.2.2 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate omaha_client 0.2.2 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 21de863fa2f0f71ee538aeac77e56ef5697f20be8097116f780275f19911817a [INFO] running `Command { std: "docker" "start" "-a" "21de863fa2f0f71ee538aeac77e56ef5697f20be8097116f780275f19911817a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "21de863fa2f0f71ee538aeac77e56ef5697f20be8097116f780275f19911817a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21de863fa2f0f71ee538aeac77e56ef5697f20be8097116f780275f19911817a", kill_on_drop: false }` [INFO] [stdout] 21de863fa2f0f71ee538aeac77e56ef5697f20be8097116f780275f19911817a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f5ca31e3378e315be4f22ac1ae2e725279407a8bf6962744fc9ef206add2c6b1 [INFO] running `Command { std: "docker" "start" "-a" "f5ca31e3378e315be4f22ac1ae2e725279407a8bf6962744fc9ef206add2c6b1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling base64ct v1.6.0 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling base16ct v0.1.1 [INFO] [stderr] Compiling bytes v1.7.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Compiling cpufeatures v0.2.14 [INFO] [stderr] Compiling tokio v1.40.0 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling pem-rfc7468 v0.6.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling der v0.6.1 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crypto-bigint v0.4.9 [INFO] [stderr] Compiling ff v0.12.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling group v0.12.1 [INFO] [stderr] Compiling spki v0.6.0 [INFO] [stderr] Compiling chrono v0.4.38 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v1.6.4 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling pkcs8 v0.9.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling sec1 v0.3.0 [INFO] [stderr] Compiling rfc6979 v0.3.1 [INFO] [stderr] Compiling elliptic-curve v0.12.3 [INFO] [stderr] Compiling ecdsa v0.14.8 [INFO] [stderr] Compiling p256 v0.11.1 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling typed-builder v0.10.0 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling pin-project v1.1.5 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling hyper v0.14.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling omaha_client v0.2.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.43s [INFO] running `Command { std: "docker" "inspect" "f5ca31e3378e315be4f22ac1ae2e725279407a8bf6962744fc9ef206add2c6b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5ca31e3378e315be4f22ac1ae2e725279407a8bf6962744fc9ef206add2c6b1", kill_on_drop: false }` [INFO] [stdout] f5ca31e3378e315be4f22ac1ae2e725279407a8bf6962744fc9ef206add2c6b1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 069ed970e98d653ce33f40ecbfc0698bc5e62643a71d8cd8a4e1f935b51b8322 [INFO] running `Command { std: "docker" "start" "-a" "069ed970e98d653ce33f40ecbfc0698bc5e62643a71d8cd8a4e1f935b51b8322", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling cc v1.1.19 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling der v0.6.1 [INFO] [stderr] Compiling rustls-pki-types v1.8.0 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling argh_shared v0.1.12 [INFO] [stderr] Compiling matches v0.1.10 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling argh_derive v0.1.12 [INFO] [stderr] Compiling rustls-pemfile v2.1.3 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling rustls-native-certs v0.7.3 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling argh v0.1.12 [INFO] [stderr] Compiling spki v0.6.0 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling pkcs8 v0.9.0 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling mio v1.0.2 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling sec1 v0.3.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Compiling crypto-bigint v0.4.9 [INFO] [stderr] Compiling ff v0.12.1 [INFO] [stderr] Compiling signature v1.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling group v0.12.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio v1.40.0 [INFO] [stderr] Compiling rfc6979 v0.3.1 [INFO] [stderr] Compiling elliptic-curve v0.12.3 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling ecdsa v0.14.8 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling futures-timer v0.3.0 [INFO] [stderr] Compiling p256 v0.11.1 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling rustls-webpki v0.102.8 [INFO] [stderr] Compiling tokio-util v0.7.12 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling tokio-rustls v0.25.0 [INFO] [stderr] Compiling hyper v0.14.30 [INFO] [stderr] Compiling hyper-rustls v0.25.0 [INFO] [stderr] Compiling omaha_client v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: variants `VbMetadata` and `ChannelConfig` are never constructed [INFO] [stdout] --> examples/hello-world/app_set.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AppIdSource { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 13 | VbMetadata, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | ChannelConfig, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppIdSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `system_app_metadata` is never read [INFO] [stdout] --> examples/hello-world/app_set.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MinimalAppSet { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 25 | system_app: App, [INFO] [stdout] 26 | system_app_metadata: AppMetadata, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_system_product_id`, `get_system_current_channel`, `get_system_target_channel`, `set_system_target_channel`, and `get_system_app_metadata` are never used [INFO] [stdout] --> examples/hello-world/app_set.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl MinimalAppSet { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_system_product_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_system_current_channel(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_system_target_channel(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_system_target_channel(&mut self, channel: Option, id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_system_app_metadata(&self) -> &AppMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `metrics` is never read [INFO] [stdout] --> examples/hello-world/policy.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct MinimalPolicyEngine { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 86 | time_source: T, [INFO] [stdout] 87 | metrics: MinimalMetricsReporter, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] running `Command { std: "docker" "inspect" "069ed970e98d653ce33f40ecbfc0698bc5e62643a71d8cd8a4e1f935b51b8322", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "069ed970e98d653ce33f40ecbfc0698bc5e62643a71d8cd8a4e1f935b51b8322", kill_on_drop: false }` [INFO] [stdout] 069ed970e98d653ce33f40ecbfc0698bc5e62643a71d8cd8a4e1f935b51b8322 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fffae851d92b0149eef88304d808ad52b30b2654d90d2148aa6ac1173da085df [INFO] running `Command { std: "docker" "start" "-a" "fffae851d92b0149eef88304d808ad52b30b2654d90d2148aa6ac1173da085df", kill_on_drop: false }` [INFO] [stderr] warning: variants `VbMetadata` and `ChannelConfig` are never constructed [INFO] [stderr] --> examples/hello-world/app_set.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub enum AppIdSource { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] 13 | VbMetadata, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 14 | ChannelConfig, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppIdSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `system_app_metadata` is never read [INFO] [stderr] --> examples/hello-world/app_set.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct MinimalAppSet { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 25 | system_app: App, [INFO] [stderr] 26 | system_app_metadata: AppMetadata, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_system_product_id`, `get_system_current_channel`, `get_system_target_channel`, `set_system_target_channel`, and `get_system_app_metadata` are never used [INFO] [stderr] --> examples/hello-world/app_set.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl MinimalAppSet { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn get_system_product_id(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub fn get_system_current_channel(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn get_system_target_channel(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub fn set_system_target_channel(&mut self, channel: Option, id: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn get_system_app_metadata(&self) -> &AppMetadata { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `metrics` is never read [INFO] [stderr] --> examples/hello-world/policy.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 85 | pub struct MinimalPolicyEngine { [INFO] [stderr] | ------------------- field in this struct [INFO] [stderr] 86 | time_source: T, [INFO] [stderr] 87 | metrics: MinimalMetricsReporter, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `omaha_client` (example "hello-world") generated 4 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/omaha_client-fa4281837f894e61) [INFO] [stdout] [INFO] [stdout] running 243 tests [INFO] [stdout] test app_set::tests::test_appsetext_not_valid ... ok [INFO] [stdout] test app_set::tests::test_iter_mut_apps ... ok [INFO] [stdout] test app_set::tests::test_appsetext_update_from_omaha ... ok [INFO] [stdout] test async_generator::tests::generator_waits_for_item_to_yield ... ok [INFO] [stdout] test async_generator::tests::into_try_stream_eats_unit_success ... ok [INFO] [stdout] test async_generator::tests::into_try_stream_transposes_generator_states ... ok [INFO] [stdout] test async_generator::tests::runs_task_to_completion ... ok [INFO] [stdout] test async_generator::tests::yield_all_yields_all ... ok [INFO] [stdout] test async_generator::tests::fused_impl ... ok [INFO] [stdout] test app_set::tests::test_appsetext_valid ... ok [INFO] [stdout] test app_set::tests::test_get_system_app_id ... ok [INFO] [stdout] test common::tests::test_app_get_current_channel ... ok [INFO] [stdout] test common::tests::test_app_get_current_channel_default ... ok [INFO] [stdout] test common::tests::test_app_get_target_channel_fallback ... ok [INFO] [stdout] test common::tests::test_app_load_empty_storage ... ok [INFO] [stdout] test common::tests::test_app_load_malformed ... ok [INFO] [stdout] test common::tests::test_app_load ... ok [INFO] [stdout] test common::tests::test_app_persist ... ok [INFO] [stdout] test common::tests::test_app_load_override ... ok [INFO] [stdout] test common::tests::test_app_load_partial ... ok [INFO] [stdout] test common::tests::test_app_persist_empty ... ok [INFO] [stdout] test common::tests::test_app_new_version ... ok [INFO] [stdout] test common::tests::test_app_valid ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_builder_subset_fields ... ok [INFO] [stdout] test common::tests::test_app_with_extras ... ok [INFO] [stdout] test common::tests::test_app_with_fingerprint ... ok [INFO] [stdout] test common::tests::test_pretty_option_display_with_some ... ok [INFO] [stdout] test common::tests::test_app_set_target_channel ... ok [INFO] [stdout] test common::tests::test_app_set_target_channel_and_id ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_debug_with_values ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_builder_all_fields ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_builder_all_fields_from_options ... ok [INFO] [stdout] test common::tests::test_pretty_option_display_with_none ... ok [INFO] [stdout] test common::tests::test_app_with_user_counting ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_builder_defaults_are_same_as_default_impl ... ok [INFO] [stdout] test common::tests::test_app_get_target_channel_default ... ok [INFO] [stdout] test cup_ecdsa::tests::test_parse_etag ... ok [INFO] [stdout] test app_set::tests::test_get_apps ... ok [INFO] [stdout] test http_request::mock::test_missing_response ... ok [INFO] [stdout] test cup_ecdsa::tests::test_deserialize_public_keys ... ok [INFO] [stdout] test common::tests::test_app_get_target_channel ... ok [INFO] [stdout] test http_uri_ext::tests::has_query_has_argument ... ok [INFO] [stdout] test http_request::mock::test_multiple_responses ... ok [INFO] [stdout] test http_uri_ext::tests::new_query ... ok [INFO] [stdout] test async_generator::tests::fibonacci ... ok [INFO] [stdout] test cup_ecdsa::tests::test_verify_response_malformed_etag_header ... ok [INFO] [stdout] test http_uri_ext::tests::has_query_empty_argument ... ok [INFO] [stdout] test http_uri_ext::tests::append_query ... ok [INFO] [stdout] test http_request::mock::test_mock ... ok [INFO] [stdout] test http_uri_ext::tests::no_query_empty_argument ... ok [INFO] [stdout] test policy::stub::tests::test_update_can_start ... ok [INFO] [stdout] test metrics::stub::tests::test_stub_metrics_reporter ... ok [INFO] [stdout] test policy::stub::tests::test_compute_next_update_time ... ok [INFO] [stdout] test cup_ecdsa::tests::test_publickeys_roundtrip ... ok [INFO] [stdout] test policy::stub::tests::test_update_check_allowed_on_demand ... ok [INFO] [stdout] test cup_ecdsa::tests::test_standard_cup_handler_decorate ... ok [INFO] [stdout] test policy::test::test_policy_data_builder_with_system_time ... ok [INFO] [stdout] test cup_ecdsa::tests::test_verify_response_missing_etag_header ... ok [INFO] [stdout] test protocol::request::tests::all_fields_serialization_test ... ok [INFO] [stdout] test protocol::request::tests::basic_event_serialization_test ... ok [INFO] [stdout] test protocol::request::tests::basic_ping_serialization_test ... ok [INFO] [stdout] test policy::stub::tests::test_update_check_allowed_scheduled_task ... ok [INFO] [stdout] test http_uri_ext::tests::no_query_has_argument ... ok [INFO] [stdout] test policy::test::test_policy_data_builder_with_clock ... ok [INFO] [stdout] test protocol::request::tests::basic_serialization_test ... ok [INFO] [stdout] test metrics::mock::tests::test_mock_metrics_reporter ... ok [INFO] [stdout] test protocol::request::tests::basic_serialization_test_app_with_extras ... ok [INFO] [stdout] test protocol::response::tests::test_all_fields ... ok [INFO] [stdout] test metrics::mock::tests::test_mock_metrics_reporter_error ... ok [INFO] [stdout] test protocol::response::tests::test_empty_json ... ok [INFO] [stdout] test protocol::response::tests::test_minimal ... ok [INFO] [stdout] test protocol::response::tests::test_missing_app ... ok [INFO] [stdout] test protocol::response::tests::test_new_cohort ... ok [INFO] [stdout] test protocol::request::tests::basic_serialization_test_app_with_extras_will_overwrite_protocol_fields ... ok [INFO] [stdout] test protocol::response::tests::test_unsupported_protocol_version ... ok [INFO] [stdout] test cup_ecdsa::tests::test_standard_cup_handler_decorate_ipv6_link_local ... ok [INFO] [stdout] test protocol::response::tests::test_update_check ... ok [INFO] [stdout] test protocol::response::tests::test_safe_json ... ok [INFO] [stdout] test protocol::tests::test_cohort_update_from_omaha_none ... ok [INFO] [stdout] test protocol::request::tests::multiple_event_serialization_test ... ok [INFO] [stdout] test protocol::tests::test_invalid_cohort_name_length ... ok [INFO] [stdout] test protocol::response::tests::test_unknown_app_id ... ok [INFO] [stdout] test protocol::tests::test_invalid_cohort_name_chars ... ok [INFO] [stdout] test protocol::tests::test_cohort_new ... ok [INFO] [stdout] test protocol::response::tests::test_single_url ... ok [INFO] [stdout] test protocol::response::tests::test_invalid_json ... ok [INFO] [stdout] test protocol::response::tests::test_no_safe_json ... ok [INFO] [stdout] test request_builder::tests::test_event_added_to_first_app_update_entry ... ok [INFO] [stdout] test request_builder::tests::test_same_version_update_request ... ok [INFO] [stdout] test common::tests::test_app_not_valid ... ok [INFO] [stdout] test protocol::tests::test_valid_cohort_names ... ok [INFO] [stdout] test protocol::response::tests::test_no_update ... ok [INFO] [stdout] test protocol::tests::test_cohort_update_from_omaha ... ok [INFO] [stdout] test cup_ecdsa::tests::test_verify_cached_signature_against_message ... ok [INFO] [stdout] test request_builder::tests::test_simple_event ... ok [INFO] [stdout] test request_builder::tests::test_ping_added_to_second_app_update_entry ... ok [INFO] [stdout] test request_builder::tests::test_ping_added_to_first_app_update_entry ... ok [INFO] [stdout] test request_builder::tests::test_event_added_to_second_app_update_entry ... ok [INFO] [stdout] test state_machine::tests::run_cup_but_decoration_error ... ok [INFO] [stdout] test request_builder::tests::test_single_request ... ok [INFO] [stdout] test common::tests::test_update_check_schedule_debug_with_defaults ... ok [INFO] [stdout] test request_builder::tests::test_app_includes_extras ... ok [INFO] [stdout] test request_builder::tests::test_updates_disabled_request ... ok [INFO] [stdout] test request_builder::tests::test_multiple_events ... ok [INFO] [stdout] test state_machine::tests::run_cup_valid ... ok [INFO] [stdout] test state_machine::tests::test_load_last_update_time ... ok [INFO] [stdout] test request_builder::tests::test_simple_ping ... ok [INFO] [stdout] test state_machine::tests::run_cup_but_verification_error ... ok [INFO] [stdout] test state_machine::tests::test_load_app ... ok [INFO] [stdout] test state_machine::tests::test_load_server_dictated_poll_interval ... ok [INFO] [stdout] test state_machine::tests::run_simple_check_with_noupdate_result ... ok [INFO] [stdout] test state_machine::tests::test_cohort_returned_with_noupdate_result ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_update_check_response_time_on_failure ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_requests_per_check_on_failure ... ok [INFO] [stdout] test state_machine::tests::test_observe_omaha_server_response ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_update_check_response_time ... ok [INFO] [stdout] test request_builder::tests::test_simple_request ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_update_check_failure_reason_omaha ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_requests_per_check ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_omaha_event_lost ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_update_check_response_time_on_failure_followed_by_success ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_update_check_failure_reason_network ... ok [INFO] [stdout] test state_machine::tests::test_persist_server_dictated_poll_interval_http_error ... ok [INFO] [stdout] test state_machine::tests::test_metrics_report_requests_per_check_on_failure_followed_by_success ... ok [INFO] [stdout] test state_machine::tests::test_cohort_returned_with_update_result ... ok [INFO] [stdout] test state_machine::tests::test_record_update_first_seen_time ... ok [INFO] [stdout] test state_machine::tests::test_persist_last_update_time ... ok [INFO] [stdout] test state_machine::tests::test_observe_schedule ... ok [INFO] [stdout] test state_machine::tests::test_cohort_and_user_counting_updates_are_used_in_subsequent_requests ... ok [INFO] [stdout] test state_machine::tests::test_report_attempts_to_successful_check ... ok [INFO] [stdout] test state_machine::tests::test_observe_installation_error ... ok [INFO] [stdout] test state_machine::tests::test_persist_server_dictated_poll_interval ... ok [INFO] [stdout] test state_machine::tests::test_observe_state ... ok [INFO] [stdout] test state_machine::tests::test_persist_server_dictated_poll_interval_max_duration ... ok [INFO] [stdout] test state_machine::tests::test_report_check_interval_mono_transition ... ok [INFO] [stdout] test state_machine::tests::test_report_check_interval_with_no_storage ... ok [INFO] [stdout] test state_machine::tests::test_observe_protocol_state ... ok [INFO] [stdout] test state_machine::tests::test_ping_omaha_updates_consecutive_failed_update_checks_and_persists ... ok [INFO] [stdout] test state_machine::tests::test_persist_app ... ok [INFO] [stdout] test state_machine::tests::test_report_attempts_to_successful_install_does_not_report_for_no_update ... ok [INFO] [stdout] test state_machine::tests::test_reboots_immediately_when_check_now_comes_in_during_wait ... ok [INFO] [stdout] test state_machine::tests::test_report_waited_for_reboot_duration ... ok [INFO] [stdout] test state_machine::tests::test_report_construct_install_plan_error ... ok [INFO] [stdout] test state_machine::tests::test_progress_observer ... ok [INFO] [stdout] test state_machine::tests::test_report_waited_for_reboot_duration_doesnt_panic_on_wrong_current_time ... ok [INFO] [stdout] test state_machine::tests::test_server_dictated_poll_interval_with_transport_error_no_retry ... ok [INFO] [stdout] test state_machine::tests::test_reboots_immediately_if_user_initiated_update_requests_occurs_during_install ... ok [INFO] [stdout] test state_machine::tests::test_report_deferred_by_policy ... ok [INFO] [stdout] test state_machine::tests::test_start_update_check_returns_throttled ... ok [INFO] [stdout] test state_machine::tests::test_report_denied_by_policy ... ok [INFO] [stdout] test cup_ecdsa::tests::test_historical_verification ... ok [INFO] [stdout] test state_machine::tests::test_failed_update_does_not_trigger_reboot ... ok [INFO] [stdout] test state_machine::update_check::tests::test_load_context ... ok [INFO] [stdout] test state_machine::update_check::tests::test_load_context_empty_storage ... ok [INFO] [stdout] test state_machine::update_check::tests::test_persist_context ... ok [INFO] [stdout] test state_machine::tests::test_requests_per_check_backoff_with_mock_timer ... ok [INFO] [stdout] test storage::memory::tests::test_committed ... ok [INFO] [stdout] test storage::memory::tests::test_ensure_no_error_remove_nonexistent_key ... ok [INFO] [stdout] test state_machine::tests::test_wait_timer ... ok [INFO] [stdout] test state_machine::tests::test_report_installation_error ... ok [INFO] [stdout] test storage::memory::tests::test_return_none_for_wrong_value_type ... ok [INFO] [stdout] test state_machine::update_check::tests::test_persist_context_remove_defaults ... ok [INFO] [stdout] test storage::memory::tests::test_set_get_remove_bool ... ok [INFO] [stdout] test storage::memory::tests::test_set_get_remove_string ... ok [INFO] [stdout] test storage::memory::tests::test_set_get_remove_int ... ok [INFO] [stdout] test storage::memory::tests::test_set_get_remove_time ... ok [INFO] [stdout] test storage::stub::tests::test_set_get_remove_int ... ok [INFO] [stdout] test storage::stub::tests::test_set_get_remove_string ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_complex_time_impl_add ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_complex_time_impl_add_assign ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_complex_time_impl_sub ... ok [INFO] [stdout] test storage::memory::tests::test_set_option_int ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_complex_time_impl_sub_assign ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_is_after_or_eq_any ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_truncate_submicrosecond_walltime ... ok [INFO] [stdout] test state_machine::tests::test_user_counting_returned ... ok [INFO] [stdout] test time::complex::complex_time_type_conversions::tests::test_from_complex_time_for_system_time ... ok [INFO] [stdout] test time::complex::complex_time_type_conversions::tests::test_from_std_time_tuple_for_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_impls::tests::test_partial_complex_time_impl_add ... ok [INFO] [stdout] test time::complex::partial_complex_time_impls::tests::test_partial_complex_time_impl_add_assign ... ok [INFO] [stdout] test time::complex::complex_time_type_conversions::tests::test_from_complex_time_for_instant ... ok [INFO] [stdout] test storage::stub::tests::test_commit ... ok [INFO] [stdout] test time::complex::complex_time_impls::tests::test_wall_duration_since ... ok [INFO] [stdout] test storage::stub::tests::test_set_get_remove_bool ... ok [INFO] [stdout] test state_machine::tests::test_report_attempts_to_successful_install ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_checked_to_micros_from_partial_complex_time_negative_overflow_is_none ... ok [INFO] [stdout] test time::complex::partial_complex_time_impls::tests::test_partial_complex_time_impl_sub ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_checked_to_micros_from_partial_complex_time_before_epoch ... ok [INFO] [stdout] test time::complex::partial_complex_time_impls::tests::test_partial_complex_time_impl_sub_assign ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_checked_to_micros_from_partial_complex_time_overflow_is_none ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_checked_to_system_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_from_complex_time_for_partial_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_from_instant_for_partial_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_destructure ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_from_complex_time_for_option_partial_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_from_system_time_for_partial_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_complete_with ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_from_micros ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_from_micros_negative_min ... ok [INFO] [stdout] test state_machine::tests::test_report_successful_update_duration ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_checked_to_micros_from_partial_complex_time ... ok [INFO] [stdout] test time::complex::partial_complex_time_type_conversions::tests::test_from_std_time_tuple_for_partial_complex_time ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_from_micros_negative ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_to_micros_negative ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_from_micros_positive_max ... ok [INFO] [stdout] test time::time_source::tests::test_cloned_mock_time_source_also_advances ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_to_micros_overflow_is_none ... ok [INFO] [stdout] test time::time_source::tests::test_mock_timesource_will_advance ... ok [INFO] [stdout] test state_machine::tests::test_report_attempts_to_successful_install_fails_then_succeeds ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_expected ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_expected_duration ... ok [INFO] [stdout] test time::time_source::tests::test_impl_time_source_for_mock_time_source ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_to_micros ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_loop ... ok [INFO] [stdout] test time::tests_for_readable_system_time::test_readable_system_time ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_twice ... ok [INFO] [stdout] test state_machine::tests::test_report_parse_response_error ... ok [INFO] [stdout] test time::timers::stub::tests::test_wait_always_ready ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_until_expected ... ok [INFO] [stdout] test version::tests::test_version_compare ... ok [INFO] [stdout] test version::tests::test_version_debug ... ok [INFO] [stdout] test time::complex::system_time_conversion::tests::test_system_time_to_micros_negative_overflow_is_none ... ok [INFO] [stdout] test version::tests::test_version_display ... ok [INFO] [stdout] test version::tests::test_version_parse ... ok [INFO] [stdout] test state_machine::tests::test_skip_reboot_if_not_needed ... ok [INFO] [stdout] test state_machine::tests::test_start_update_during_update_replies_with_in_progress ... ok [INFO] [stdout] test version::tests::test_version_serialize ... ok [INFO] [stdout] test version::tests::test_version_to_string ... ok [INFO] [stdout] test unless::tests::tests ... ok [INFO] [stdout] test version::tests::test_version_parse_leading_zeros ... ok [INFO] [stdout] test state_machine::tests::test_start_update_during_timer_starts_update ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_expected_duration_out_of_range_low - should panic ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_expected_duration_out_of_range_high - should panic ... ok [INFO] [stdout] test time::timers::mock::tests::test_expect_more_wait_for - should panic ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_wrong_duration - should panic ... ok [INFO] [stdout] test version::tests::test_version_deserialize ... ok [INFO] [stdout] test time::timers::mock::tests::test_wait_for_wrong_wait - should panic ... ok [INFO] [stdout] test version::tests::test_version_parse_error ... ok [INFO] [stdout] test time::time_source::tests::test_mock_timesource_doesnt_advance_on_its_own ... ok [INFO] [stdout] test state_machine::tests::test_report_failed_update_duration ... ok [INFO] [stdout] test state_machine::tests::test_successful_update_triggers_reboot ... ok [INFO] [stdout] test state_machine::tests::test_report_installation_error_multi_app ... ok [INFO] [stdout] test state_machine::tests::test_wait_for_reboot ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 243 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s [INFO] [stdout] [INFO] [stderr] Doc-tests omaha_client [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/time/complex.rs - time::complex::complex_time_impls::ComplexTime (line 22) - compile ... ok [INFO] [stdout] test src/time/complex.rs - time::complex::partial_complex_time_impls::PartialComplexTime (line 328) - compile ... ok [INFO] [stdout] test src/time.rs - time::PartialComplexTime (line 147) ... ok [INFO] [stdout] test src/unless.rs - unless (line 14) ... ok [INFO] [stdout] test src/time/time_source.rs - time::time_source::MockTimeSource::advance (line 90) ... ok [INFO] [stdout] test src/time.rs - time::ReadableSystemTime (line 277) ... ok [INFO] [stdout] test src/time/time_source.rs - time::time_source::MockTimeSource (line 39) ... ok [INFO] [stdout] test src/time.rs - time (line 28) ... ok [INFO] [stdout] test src/time/time_source.rs - time::time_source::MockTimeSource::new (line 67) ... ok [INFO] [stdout] test src/storage.rs - storage::Storage (line 40) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.81s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fffae851d92b0149eef88304d808ad52b30b2654d90d2148aa6ac1173da085df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fffae851d92b0149eef88304d808ad52b30b2654d90d2148aa6ac1173da085df", kill_on_drop: false }` [INFO] [stdout] fffae851d92b0149eef88304d808ad52b30b2654d90d2148aa6ac1173da085df