[INFO] fetching crate log-watcher 0.2.1... [INFO] testing log-watcher-0.2.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate log-watcher 0.2.1 into /workspace/builds/worker-0-tc1/source [INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate log-watcher 0.2.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate log-watcher 0.2.1 [INFO] tweaked toml for crates.io crate log-watcher 0.2.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate log-watcher 0.2.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate log-watcher 0.2.1 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded strum v0.22.0 [INFO] [stderr] Downloaded winrt-notification v0.5.1 [INFO] [stderr] Downloaded strum_macros v0.22.0 [INFO] [stderr] Downloaded zvariant_derive v5.7.0 [INFO] [stderr] Downloaded windows-version v0.1.5 [INFO] [stderr] Downloaded async-signal v0.2.12 [INFO] [stderr] Downloaded assert_cmd v2.0.17 [INFO] [stderr] Downloaded clap_complete v4.5.61 [INFO] [stderr] Downloaded polling v3.10.0 [INFO] [stderr] Downloaded notify-rust v4.11.7 [INFO] [stderr] Downloaded derive_more-impl v2.1.0 [INFO] [stderr] Downloaded indexmap v2.11.1 [INFO] [stderr] Downloaded derive_more v2.1.0 [INFO] [stderr] Downloaded zbus v5.11.0 [INFO] [stderr] Downloaded wasip2 v1.0.0+wasi-0.2.4 [INFO] [stderr] Downloaded objc2-core-foundation v0.3.1 [INFO] [stderr] Downloaded zvariant v5.7.0 [INFO] [stderr] Downloaded async-io v2.5.0 [INFO] [stderr] Downloaded async-process v2.4.0 [INFO] [stderr] Downloaded objc2 v0.6.2 [INFO] [stderr] Downloaded block2 v0.6.1 [INFO] [stderr] Downloaded mac-notification-sys v0.6.6 [INFO] [stderr] Downloaded objc2-foundation v0.3.1 [INFO] [stderr] Downloaded tauri-winrt-notification v0.7.2 [INFO] [stderr] Downloaded zbus_macros v5.11.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.24.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.24.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.24.0 [INFO] [stderr] Downloaded windows_i686_gnu v0.24.0 [INFO] [stderr] Downloaded wasi v0.14.5+wasi-0.2.4 [INFO] [stderr] Downloaded windows v0.24.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d487b3a3c02c8eee5d6c6b51a38630f94b7e3e9f58a49d2499a2cf908d7988e0 [INFO] running `Command { std: "docker" "start" "-a" "d487b3a3c02c8eee5d6c6b51a38630f94b7e3e9f58a49d2499a2cf908d7988e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d487b3a3c02c8eee5d6c6b51a38630f94b7e3e9f58a49d2499a2cf908d7988e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d487b3a3c02c8eee5d6c6b51a38630f94b7e3e9f58a49d2499a2cf908d7988e0", kill_on_drop: false }` [INFO] [stdout] d487b3a3c02c8eee5d6c6b51a38630f94b7e3e9f58a49d2499a2cf908d7988e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9ea975778e94848daf0c40bddd5cbe803d5c3aefffb023a89e7eba4005be404b [INFO] running `Command { std: "docker" "start" "-a" "9ea975778e94848daf0c40bddd5cbe803d5c3aefffb023a89e7eba4005be404b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling anstream v0.6.20 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling notify-types v2.0.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling indexmap v2.11.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling clap_builder v4.5.47 [INFO] [stderr] Compiling async-lock v3.4.1 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.20 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling async-executor v1.13.3 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Compiling derive_more-impl v2.1.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling derive_more v2.1.0 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling polling v3.10.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling clap v4.5.47 [INFO] [stderr] Compiling clap_complete v4.5.61 [INFO] [stderr] Compiling async-io v2.5.0 [INFO] [stderr] Compiling async-signal v0.2.12 [INFO] [stderr] Compiling async-process v2.4.0 [INFO] [stderr] Compiling zvariant_utils v3.2.1 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling zvariant_derive v5.7.0 [INFO] [stderr] Compiling zvariant v5.7.0 [INFO] [stderr] Compiling zbus_names v4.2.0 [INFO] [stderr] Compiling zbus_macros v5.11.0 [INFO] [stderr] Compiling zbus v5.11.0 [INFO] [stderr] Compiling notify-rust v4.11.7 [INFO] [stderr] Compiling log-watcher v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.00s [INFO] running `Command { std: "docker" "inspect" "9ea975778e94848daf0c40bddd5cbe803d5c3aefffb023a89e7eba4005be404b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ea975778e94848daf0c40bddd5cbe803d5c3aefffb023a89e7eba4005be404b", kill_on_drop: false }` [INFO] [stdout] 9ea975778e94848daf0c40bddd5cbe803d5c3aefffb023a89e7eba4005be404b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5af60141d8aaf72078a99cfb21ecdb20eaba6a51a0c7cf7e0e6c0491599da915 [INFO] running `Command { std: "docker" "start" "-a" "5af60141d8aaf72078a99cfb21ecdb20eaba6a51a0c7cf7e0e6c0491599da915", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling async-executor v1.13.3 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling assert_cmd v2.0.17 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling async-lock v3.4.1 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling bstr v1.12.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling zvariant_utils v3.2.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling zvariant_derive v5.7.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling zvariant v5.7.0 [INFO] [stderr] Compiling polling v3.10.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling async-io v2.5.0 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling async-signal v0.2.12 [INFO] [stderr] Compiling async-process v2.4.0 [INFO] [stderr] Compiling zbus_names v4.2.0 [INFO] [stderr] Compiling zbus_macros v5.11.0 [INFO] [stderr] Compiling zbus v5.11.0 [INFO] [stderr] Compiling notify-rust v4.11.7 [INFO] [stderr] Compiling log-watcher v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 34.01s [INFO] running `Command { std: "docker" "inspect" "5af60141d8aaf72078a99cfb21ecdb20eaba6a51a0c7cf7e0e6c0491599da915", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5af60141d8aaf72078a99cfb21ecdb20eaba6a51a0c7cf7e0e6c0491599da915", kill_on_drop: false }` [INFO] [stdout] 5af60141d8aaf72078a99cfb21ecdb20eaba6a51a0c7cf7e0e6c0491599da915 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a4154e40b0c19b77eafba4cd4aec20d08a51d7678aafa95ba96c6290cf1291bf [INFO] running `Command { std: "docker" "start" "-a" "a4154e40b0c19b77eafba4cd4aec20d08a51d7678aafa95ba96c6290cf1291bf", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/log_watcher-a861e7dd9cad36ad) [INFO] [stdout] [INFO] [stdout] running 121 tests [INFO] [stdout] _logwatcher() { [INFO] [stdout] local i cur prev opts cmd [INFO] [stdout] COMPREPLY=() [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then [INFO] [stdout] cur="$2" [INFO] [stdout] else [INFO] [stdout] cur="${COMP_WORDS[COMP_CWORD]}" [INFO] [stdout] fi [INFO] [stdout] prev="$3" [INFO] [stdout] cmd="" [INFO] [stdout] opts="" [INFO] [stdout] [INFO] [stdout] for i in "${COMP_WORDS[@]:0:COMP_CWORD}" [INFO] [stdout] do [INFO] [stdout] case "${cmd},${i}" in [INFO] [stdout] ",$1") [INFO] [stdout] cmd="logwatcher" [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] done [INFO] [stdout] [INFO] [stdout] case "${cmd}" in [INFO] [stdout] logwatcher) [INFO] [stdout] opts="-f -p -r -i -c -n -d -q -e -h -V --file --completions --pattern --regex --case-insensitive --color-map --notify --notify-patterns --notify-throttle --dry-run --quiet --exclude --no-color --prefix-file --poll-interval --buffer-size --help --version" [INFO] [stdout] if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] fi [INFO] [stdout] case "${prev}" in [INFO] [stdout] --file) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] -f) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --completions) [INFO] [stdout] COMPREPLY=($(compgen -W "bash elvish fish powershell zsh" -- "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --pattern) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] -p) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --color-map) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] -c) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --notify-patterns) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --notify-throttle) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --exclude) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] -e) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --prefix-file) [INFO] [stdout] COMPREPLY=($(compgen -W "true false" -- "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --poll-interval) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] --buffer-size) [INFO] [stdout] COMPREPLY=($(compgen -f "${cur}")) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] COMPREPLY=() [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then [INFO] [stdout] complete -F _logwatcher -o nosort -o bashdefault -o default logwatcher [INFO] [stdout] else [INFO] [stdout] complete -F _logwatcher -o bashdefault -o default logwatcher [INFO] [stdout] fi [INFO] [stdout] [DRY-RUN] ERROR: Something went wrong [INFO] [stdout] Custom message [INFO] [stdout] ERROR: 2 matches [INFO] [stdout] test cli::tests::test_exclude_patterns ... ok [INFO] [stderr] Info: Dry-run summary: [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] test config::tests::test_get_color_for_pattern ... ok [INFO] [stdout] test config::tests::test_all_color_parsing ... ok [INFO] [stdout] test cli::tests::test_color_mappings_invalid_format ... ok [INFO] [stdout] test cli::tests::test_exclude_patterns_empty ... ok [INFO] [stdout] test config::tests::test_parse_color_unknown_coverage_line_100 ... ok [INFO] [stdout] test config::tests::test_should_exclude_literal ... ok [INFO] [stdout] test config::tests::test_should_exclude_case_insensitive ... ok [INFO] [stdout] ERROR: Something went wrong [INFO] [stdout] Normal line [INFO] [stdout] test cli::tests::test_generate_completions ... ok [INFO] [stdout] Plain message [INFO] [stdout] test highlighter::tests::test_color_choice_never ... ok [INFO] [stdout] test highlighter::tests::test_dry_run_prefix ... ok [INFO] [stdout] test config::tests::test_should_exclude_empty ... ok [INFO] [stdout] test highlighter::tests::test_print_colored_with_custom_color ... ok [INFO] [stdout] test highlighter::tests::test_print_dry_run_summary_coverage_line_116 ... ok [INFO] [stdout] test highlighter::tests::test_print_file_error ... ok [INFO] [stdout] test highlighter::tests::test_print_line_with_match ... ok [INFO] [stdout] test highlighter::tests::test_print_line_without_match ... ok [INFO] [stdout] test highlighter::tests::test_print_plain ... ok [INFO] [stdout] test highlighter::tests::test_print_file_rotation ... ok [INFO] [stderr] Error: Error watching test.log: Permission denied [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stderr] Warning: Info: File rotation detected for test.logPatterns: ERROR [INFO] [stderr] [INFO] [stderr] Info: Desktop notifications enabled [INFO] [stderr] Info: No matching lines found [INFO] [stderr] Info: Reopened file: test.log [INFO] [stdout] test highlighter::tests::test_print_startup_info ... ok [INFO] [stdout] test highlighter::tests::test_print_dry_run_summary_empty ... ok [INFO] [stdout] test highlighter::tests::test_print_file_reopened ... ok [INFO] [stdout] test matcher::tests::test_case_insensitive_get_all_matches_coverage_line_122 ... ok [INFO] [stdout] test highlighter::tests::test_quiet_mode_skip_non_matching ... ok [INFO] [stdout] test matcher::tests::test_literal_matching ... ok [INFO] [stdout] test matcher::tests::test_case_insensitive_matching ... ok [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] test config::tests::test_should_exclude_regex ... ok [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] ERROR: 5 matches [INFO] [stdout] WARN: 3 matches [INFO] [stderr] Info: Shutdown summary: [INFO] [stdout] test matcher::tests::test_get_all_matches_coverage_lines_122_129_139_141 ... ok [INFO] [stdout] test matcher::tests::test_multiple_matches ... ok [INFO] [stdout] test matcher::tests::test_has_match_coverage_line_112 ... ok [INFO] [stdout] Files watched: 2 [INFO] [stdout] Lines processed: 100 [INFO] [stdout] Lines excluded: 10 [INFO] [stdout] Matches found: 5 [INFO] [stdout] Notifications sent: 3 [INFO] [stdout] test notifier::tests::test_notification_with_file_info ... ok [INFO] [stdout] test notifier::tests::test_notification_disabled ... ok [INFO] [stdout] test notifier::tests::test_should_notify_for_pattern_coverage_line_39 ... ok [INFO] [stdout] test matcher::tests::test_regex_get_all_matches_coverage_lines_139_141 ... ok [INFO] [stdout] test notifier::tests::test_get_notification_count ... ok [INFO] [stdout] test notifier::tests::test_should_notify_for_pattern_early_return_coverage_line_39 ... ok [INFO] [stdout] test highlighter::tests::test_print_dry_run_summary_with_matches ... ok [INFO] [stdout] test highlighter::tests::test_print_shutdown_summary ... ok [INFO] [stdout] test notifier::tests::test_test_notification_method_coverage_lines_136_138 ... ok [INFO] [stdout] test utils::tests::test_format_file_size ... ok [INFO] [stdout] test utils::tests::test_format_file_size_coverage_line_68 ... ok [INFO] [stdout] test utils::tests::test_format_file_size_edge_cases ... ok [INFO] [stdout] test notifier::tests::test_throttle_window_reset_coverage_lines_79_80 ... ok [INFO] [stdout] test utils::tests::test_get_filename ... ok [INFO] [stdout] test utils::tests::test_get_filename_edge_cases ... ok [INFO] [stdout] test utils::tests::test_get_file_size_nonexistent ... ok [INFO] [stdout] test utils::tests::test_get_file_size_coverage_line_32 ... ok [INFO] [stdout] test matcher::tests::test_regex_matching ... ok [INFO] [stdout] test utils::tests::test_is_file_readable ... ok [INFO] [stdout] test utils::tests::test_is_file_rotated ... ok [INFO] [stdout] test utils::tests::test_read_file_from_end_with_empty_lines ... ok [INFO] [stdout] test utils::tests::test_is_file_rotated_coverage_line_38 ... ok [INFO] [stdout] test utils::tests::test_is_symlink ... ok [INFO] [stdout] test utils::tests::test_read_file_from_end ... ok [INFO] [stderr] Warning: File rotation detected for /tmp/.tmpvQd8hF [INFO] [stdout] test utils::tests::test_get_file_size ... ok [INFO] [stdout] ERROR: New error occurred [INFO] [stdout] test utils::tests::test_read_file_from_end_with_nonexistent_file ... ok [INFO] [stdout] [DRY-RUN] This is an ERROR message [INFO] [stdout] [DRY-RUN] Another ERROR message [INFO] [stdout] ERROR: 2 matches [INFO] [stdout] Files watched: 1 [INFO] [stdout] Lines processed: 3 [INFO] [stdout] Matches found: 2 [INFO] [stdout] Notifications sent: 0 [INFO] [stdout] test utils::tests::test_read_file_from_end_coverage_line_11 ... ok [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stdout] test utils::tests::test_resolve_symlink ... ok [INFO] [stderr] Info: Patterns: ERROR [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stderr] Info: Dry-run summary: [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stderr] Info: Shutdown summary: [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stdout] test utils::tests::test_resolve_symlink_coverage_line_112 ... ok [INFO] [stderr] Info: Patterns: ERROR, WARN [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stderr] Info: Patterns: ERROR, WARN [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stdout] [DRY-RUN] ERROR: Something went wrong [INFO] [stdout] [DRY-RUN] ERROR: Test error[DRY-RUN] WARN: This is a warning [INFO] [stdout] [DRY-RUN] ERROR: Another error [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] ERROR: 2 matches [INFO] [stdout] WARN: 1 matches [INFO] [stdout] Files watched: 1 [INFO] [stdout] Lines processed: 4 [INFO] [stdout] Matches found: 3 [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] Notifications sent: 0 [INFO] [stderr] Info: Shutdown summary: [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] [DRY-RUN] ERROR: Test error [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] test utils::tests::test_validate_files ... ok [INFO] [stdout] test utils::tests::test_validate_files_all_invalid ... ok [INFO] [stdout] ERROR: 1 matches [INFO] [stdout] [INFO] [stdout] [DRY-RUN] WARN: Test warning [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] ERROR: 1 matches [INFO] [stdout] WARN: 1 matches [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stderr] Info: Shutdown summary: [INFO] [stdout] Files watched: 1 [INFO] [stdout] Lines processed: 2 [INFO] [stdout] Matches found: 2 [INFO] [stdout] Notifications sent: 0 [INFO] [stdout] test utils::tests::test_validate_files_with_mixed_validity ... ok [INFO] [stdout] test watcher::tests::test_channel_send_error_comprehensive ... ok [INFO] [stdout] test notifier::tests::test_windows_notification_coverage_lines_136_138 ... ok [INFO] [stdout] test watcher::tests::test_channel_send_error_coverage_line_177 ... ok [INFO] [stdout] ERROR: Test error [INFO] [stdout] test notifier::tests::test_line_truncation ... ok [INFO] [stdout] test notifier::tests::test_throttle_window_reset_logic_coverage_lines_79_80 ... ok [INFO] [stdout] ERROR: New error occurred [INFO] [stderr] Warning: File rotation detected for /tmp/.tmpTcRwBm [INFO] [stdout] test notifier::tests::test_notification_throttling ... ok [INFO] [stderr] Warning: File rotation detected for /tmp/.tmpyTYP16 [INFO] [stderr] Error: Error watching /tmp/.tmp8U6m7q: Permission denied [INFO] [stdout] ERROR: Test error [INFO] [stderr] Warning: File rotation detected for /tmp/.tmpcufKzD [INFO] [stdout] test watcher::tests::test_dry_run_mode ... ERROR: New error occurred [INFO] [stdout] ok [INFO] [stdout] test watcher::tests::test_dry_run_summary_coverage ... ok [INFO] [stdout] test watcher::tests::test_error_handling_coverage_lines_142_189 ... ok [INFO] [stderr] Warning: File rotation detected for /tmp/.tmp9jBZgM [INFO] [stdout] test watcher::tests::test_dry_run_with_file_error ... ok [INFO] [stdout] test watcher::tests::test_dry_run_summary_coverage_line_82 ... ok [INFO] [stderr] Warning: File rotation detected for /non/existent/file.log [INFO] [stdout] test watcher::tests::test_dry_run_summary_with_multiple_patterns ... ok [INFO] [stdout] test watcher::tests::test_file_error_event_sending ... ok [INFO] [stdout] test watcher::tests::test_file_event_channel_error ... ok [INFO] [stdout] test watcher::tests::test_file_event_processing ... ok [INFO] [stdout] [DRY-RUN] ERROR: Test error [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] [DRY-RUN] ERROR: Another error [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] ERROR: 2 matches [INFO] [stdout] test watcher::tests::test_file_event_processing_file_error ... ok [INFO] [stdout] test watcher::tests::test_channel_send_error_handling ... ok [INFO] [stdout] test watcher::tests::test_file_event_processing_new_line ... ok [INFO] [stdout] test watcher::tests::test_files_watched_assignment ... ok [INFO] [stdout] test watcher::tests::test_file_name_unwrap_coverage ... ok [INFO] [stdout] test watcher::tests::test_notification_success_coverage_line_283 ... ok [INFO] [stdout] test watcher::tests::test_pattern_counts_entry_coverage ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_no_new_content ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_error_handling ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_seek_coverage ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_with_file_error ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_with_seek_coverage_line_216 ... ok [INFO] [stdout] ERROR: Test error [INFO] [stdout] test watcher::tests::test_poll_file_changes_with_rotation ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_with_seeking ... ok [INFO] [stdout] test watcher::tests::test_process_existing_file_with_empty_file ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes_error_sending ... ok [INFO] [stdout] test watcher::tests::test_process_line ... ok [INFO] [stdout] INFO: Normal operation [INFO] [stdout] test watcher::tests::test_process_line_without_notification ... ok [INFO] [stdout] test watcher::tests::test_poll_file_changes ... ok [INFO] [stderr] Error: Error watching /non/existent/file.log: No such file or directory (os error 2) [INFO] [stderr] Info: No matching lines found [INFO] [stdout] test watcher::tests::test_run_dry_mode_with_file_error ... ok [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stderr] Info: Patterns: ERROR [INFO] [stderr] Error: Error watching /non/existent/file.log: No path was found. about ["/non/existent/file.log"] [INFO] [stdout] [DRY-RUN] ERROR: Something went wrong [INFO] [stdout] test watcher::tests::test_process_line_notification_coverage ... ok [INFO] [stdout] test watcher::tests::test_process_existing_file ... ok [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stdout] [DRY-RUN] ERROR: Test error [INFO] [stderr] Info: Patterns: ERROR [INFO] [stdout] ERROR: 1 matches [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stdout] Files watched: 1 [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] Lines processed: 1 [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] Matches found: 1 [INFO] [stderr] Info: Shutdown summary: [INFO] [stdout] Notifications sent: 0 [INFO] [stdout] [DRY-RUN] ERROR: Test error [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stderr] Info: Patterns: ERROR [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] ERROR: 1 matches [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] Files watched: 1 [INFO] [stderr] Info: Shutdown summary: [INFO] [stdout] Lines processed: 1 [INFO] [stdout] Matches found: 1 [INFO] [stdout] Notifications sent: 0 [INFO] [stdout] test watcher::tests::test_run_method_coverage ... ok [INFO] [stdout] test watcher::tests::test_process_existing_file_with_non_matching_content ... ok [INFO] [stdout] test watcher::tests::test_process_line_with_notification ... ok [INFO] [stdout] test watcher::tests::test_seek_operation_coverage_line_216 ... ok [INFO] [stdout] test watcher::tests::test_run_with_startup_info ... ok [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stdout] test watcher::tests::test_start_file_watcher_error_handling ... ok [INFO] [stderr] Info: Patterns: ERROR [INFO] [stdout] test watcher::tests::test_start_file_watcher_error_path ... ok [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stdout] [DRY-RUN] ERROR: Test error [INFO] [stderr] Info: Watching 1 file(s) [INFO] [stdout] ERROR: 1 matches [INFO] [stderr] Info: Patterns: ERROR [INFO] [stdout] Files watched: 1 [INFO] [stderr] Info: Dry-run mode: reading existing content only [INFO] [stdout] Lines processed: 1 [INFO] [stderr] Info: Dry-run summary: [INFO] [stdout] Matches found: 1 [INFO] [stderr] Info: Dry-run complete. No notifications sent. [INFO] [stdout] Notifications sent: 0 [INFO] [stderr] Info: Shutdown summary: [INFO] [stdout] test watcher::tests::test_startup_info_coverage ... ok [INFO] [stdout] test watcher::tests::test_startup_info_coverage_line_47 ... ok [INFO] [stdout] test watcher::tests::test_try_send_error_coverage ... ok [INFO] [stdout] test watcher::tests::test_start_file_watcher ... ok [INFO] [stdout] test watcher::tests::test_run_tail_mode_with_watcher_error ... ok [INFO] [stdout] test watcher::tests::test_run_tail_mode_coverage ... ok [INFO] [stdout] test watcher::tests::test_run_tail_mode_execution ... ok [INFO] [stdout] test watcher::tests::test_run_tail_mode_with_file_error ... ok [INFO] [stdout] test watcher::tests::test_run_tail_mode ... ok [INFO] [stderr] Info: Reopened file: /tmp/.tmpvQd8hF [INFO] [stderr] Error: Error watching /tmp/.tmpvQd8hF: Test error [INFO] [stdout] test watcher::tests::test_comprehensive_file_event_processing ... ok [INFO] [stderr] Info: Reopened file: /tmp/.tmpTcRwBm [INFO] [stderr] Error: Error watching /tmp/.tmpTcRwBm: Test error [INFO] [stderr] Info: Reopened file: /tmp/.tmpyTYP16 [INFO] [stdout] test watcher::tests::test_file_event_match_coverage_lines_111_119 ... ok [INFO] [stdout] test watcher::tests::test_file_event_processing_file_rotation ... ok [INFO] [stderr] Info: Reopened file: /tmp/.tmpcufKzD [INFO] [stderr] Error: Error watching /tmp/.tmpcufKzD: Test error [INFO] [stdout] test watcher::tests::test_file_event_processing_comprehensive ... ok [INFO] [stderr] Info: Reopened file: /tmp/.tmp9jBZgM [INFO] [stdout] test watcher::tests::test_handle_file_rotation ... ok [INFO] [stderr] Error: Error watching /non/existent/file.log: File not found after rotation [INFO] [stdout] test watcher::tests::test_handle_file_rotation_file_not_found ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 121 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/logwatcher-dbb8ae3098b077c8) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tests::test_logwatcher_error_handling_coverage_line_34 ... ok [INFO] [stdout] test tests::test_config_error_handling_coverage_lines_19_20 ... ok [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-98c99a07396c3285) [INFO] [stdout] test tests::test_main_with_invalid_args ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test test_case_insensitive_matching ... ok [INFO] [stdout] test test_buffer_size_configuration ... ok [INFO] [stdout] test test_notification_patterns ... ok [INFO] [stdout] test test_quiet_mode ... ok [INFO] [stdout] test test_poll_interval_configuration ... ok [INFO] [stdout] test test_regex_matching ... ok [INFO] [stdout] test test_dry_run_with_existing_file ... ok [INFO] [stdout] test test_invalid_regex ... ok [INFO] [stdout] test test_color_mapping ... ok [INFO] [stdout] test test_multiple_files ... ok [INFO] [stdout] test test_help_output ... ok [INFO] [stdout] test test_version_output ... ok [INFO] [stdout] test test_no_files_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Doc-tests log_watcher [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a4154e40b0c19b77eafba4cd4aec20d08a51d7678aafa95ba96c6290cf1291bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4154e40b0c19b77eafba4cd4aec20d08a51d7678aafa95ba96c6290cf1291bf", kill_on_drop: false }` [INFO] [stdout] a4154e40b0c19b77eafba4cd4aec20d08a51d7678aafa95ba96c6290cf1291bf