[INFO] fetching crate serverforge 0.1.3...
[INFO] building serverforge-0.1.3 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate serverforge 0.1.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate serverforge 0.1.3
[INFO] finished tweaking crates.io crate serverforge 0.1.3
[INFO] tweaked toml for crates.io crate serverforge 0.1.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate serverforge 0.1.3 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate serverforge 0.1.3 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8d593a6f40b57b5bf2f7457bb0aa759c9b5107c3f5c49f907021f8f134bbca9d
[INFO] running `Command { std: "docker" "start" "-a" "8d593a6f40b57b5bf2f7457bb0aa759c9b5107c3f5c49f907021f8f134bbca9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d593a6f40b57b5bf2f7457bb0aa759c9b5107c3f5c49f907021f8f134bbca9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d593a6f40b57b5bf2f7457bb0aa759c9b5107c3f5c49f907021f8f134bbca9d", kill_on_drop: false }`
[INFO] [stdout] 8d593a6f40b57b5bf2f7457bb0aa759c9b5107c3f5c49f907021f8f134bbca9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec9019a1bd85548bfeafe5b15c12016d3ce6f1a5e946a289f8a18b0304d46367
[INFO] running `Command { std: "docker" "start" "-a" "ec9019a1bd85548bfeafe5b15c12016d3ce6f1a5e946a289f8a18b0304d46367", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling winnow v0.6.13
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling predicates-core v1.0.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.68
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling termtree v0.4.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling predicates v3.1.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling typemap-ors v1.0.0
[INFO] [stderr]    Compiling thread-id v4.2.1
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling pathdiff v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.9
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling fragile v2.0.0
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ordered-multimap v0.6.0
[INFO] [stderr]    Compiling rust-ini v0.19.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]    Compiling pest v2.7.10
[INFO] [stderr]    Compiling pest_meta v2.7.10
[INFO] [stderr]    Compiling mockall v0.12.1
[INFO] [stderr]    Compiling pest_generator v2.7.10
[INFO] [stderr]    Compiling pest_derive v2.7.10
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling serde_spanned v0.6.6
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.14
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling log4rs v1.3.0
[INFO] [stderr]    Compiling toml v0.8.14
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling config v0.14.0
[INFO] [stderr]    Compiling serverforge v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_web_server_config` is never used
[INFO] [stdout]    --> src/deployment.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn setup_web_server_config(app: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_nginx_config` is never used
[INFO] [stdout]    --> src/deployment.rs:296:4
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn setup_nginx_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_apache_config` is never used
[INFO] [stdout]    --> src/deployment.rs:314:4
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn setup_apache_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_database` is never used
[INFO] [stdout]    --> src/deployment.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn setup_database(db: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_mysql` is never used
[INFO] [stdout]    --> src/deployment.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn setup_mysql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_postgresql` is never used
[INFO] [stdout]    --> src/deployment.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn setup_postgresql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_secure_password` is never used
[INFO] [stdout]    --> src/deployment.rs:398:4
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn generate_secure_password() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_file_change`, `add_package_installed`, and `rollback_to` are never used
[INFO] [stdout]    --> src/rollback.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl RollbackManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn add_file_change(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn add_package_installed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn rollback_to(&self, snapshot_id: usize) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_system` is never used
[INFO] [stdout]   --> src/distro.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn update_system(package_manager: &PackageManager) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_package` is never used
[INFO] [stdout]   --> src/distro.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn install_package(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.99s
[INFO] running `Command { std: "docker" "inspect" "ec9019a1bd85548bfeafe5b15c12016d3ce6f1a5e946a289f8a18b0304d46367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec9019a1bd85548bfeafe5b15c12016d3ce6f1a5e946a289f8a18b0304d46367", kill_on_drop: false }`
[INFO] [stdout] ec9019a1bd85548bfeafe5b15c12016d3ce6f1a5e946a289f8a18b0304d46367
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e3bca4b130a0921f065fbd87fbdd4f6bb25721e8294a37b6f3da613ff0b2dac9
[INFO] running `Command { std: "docker" "start" "-a" "e3bca4b130a0921f065fbd87fbdd4f6bb25721e8294a37b6f3da613ff0b2dac9", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serverforge v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_web_server_config` is never used
[INFO] [stdout]    --> src/deployment.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn setup_web_server_config(app: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_nginx_config` is never used
[INFO] [stdout]    --> src/deployment.rs:296:4
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn setup_nginx_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_apache_config` is never used
[INFO] [stdout]    --> src/deployment.rs:314:4
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn setup_apache_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_database` is never used
[INFO] [stdout]    --> src/deployment.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn setup_database(db: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_mysql` is never used
[INFO] [stdout]    --> src/deployment.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn setup_mysql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_postgresql` is never used
[INFO] [stdout]    --> src/deployment.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn setup_postgresql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_secure_password` is never used
[INFO] [stdout]    --> src/deployment.rs:398:4
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn generate_secure_password() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_file_change`, `add_package_installed`, and `rollback_to` are never used
[INFO] [stdout]    --> src/rollback.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl RollbackManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn add_file_change(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn add_package_installed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn rollback_to(&self, snapshot_id: usize) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_system` is never used
[INFO] [stdout]   --> src/distro.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn update_system(package_manager: &PackageManager) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_package` is never used
[INFO] [stdout]   --> src/distro.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn install_package(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> tests/utils_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> tests/utils_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> tests/utils_test.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server_forge::config::Config`
[INFO] [stdout]   --> tests/utils_test.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use server_forge::config::Config;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `generate_report`, `get_user_input`, and `save_config`
[INFO] [stdout]   --> tests/utils_test.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |     use server_forge::utils::{generate_report, get_user_input, run_command, save_config};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> tests/utils_test.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     use std::fs;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> tests/utils_test.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     use std::io::Cursor;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::tempdir`
[INFO] [stdout]   --> tests/utils_test.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     use tempfile::tempdir;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/config_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/config_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::distro::get_package_manager`
[INFO] [stdout]   --> src/updates.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::distro::get_package_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/monitoring.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn install_monitoring_tools(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/security.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn setup_rootkit_detection(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn setup_centos_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/updates.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn setup_fedora_updates(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_web_server_config` is never used
[INFO] [stdout]    --> src/deployment.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn setup_web_server_config(app: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_nginx_config` is never used
[INFO] [stdout]    --> src/deployment.rs:296:4
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn setup_nginx_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_apache_config` is never used
[INFO] [stdout]    --> src/deployment.rs:314:4
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn setup_apache_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_database` is never used
[INFO] [stdout]    --> src/deployment.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn setup_database(db: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_mysql` is never used
[INFO] [stdout]    --> src/deployment.rs:342:4
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn setup_mysql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_postgresql` is never used
[INFO] [stdout]    --> src/deployment.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn setup_postgresql() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_secure_password` is never used
[INFO] [stdout]    --> src/deployment.rs:398:4
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn generate_secure_password() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_file_change`, `add_package_installed`, and `rollback_to` are never used
[INFO] [stdout]    --> src/rollback.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl RollbackManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn add_file_change(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn add_package_installed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn rollback_to(&self, snapshot_id: usize) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_system` is never used
[INFO] [stdout]   --> src/distro.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn update_system(package_manager: &PackageManager) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_package` is never used
[INFO] [stdout]   --> src/distro.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn install_package(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sample_web_app` is never used
[INFO] [stdout]    --> src/deployment.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn create_sample_web_app(app_type: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_firewall_rules` is never used
[INFO] [stdout]    --> src/deployment.rs:487:4
[INFO] [stdout]     |
[INFO] [stdout] 487 | fn setup_firewall_rules(config: &Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.63s
[INFO] running `Command { std: "docker" "inspect" "e3bca4b130a0921f065fbd87fbdd4f6bb25721e8294a37b6f3da613ff0b2dac9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3bca4b130a0921f065fbd87fbdd4f6bb25721e8294a37b6f3da613ff0b2dac9", kill_on_drop: false }`
[INFO] [stdout] e3bca4b130a0921f065fbd87fbdd4f6bb25721e8294a37b6f3da613ff0b2dac9
