[INFO] cloning repository https://github.com/tsmarsh/moth [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsmarsh/moth" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Fmoth", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Fmoth'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1586cf5284b1920679a5a4862d11f54fb514b891 [INFO] testing tsmarsh/moth against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Fmoth" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tsmarsh/moth [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/tsmarsh/moth [INFO] tweaked toml for git repo https://github.com/tsmarsh/moth written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tsmarsh/moth on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tsmarsh/moth 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lazy-regex-proc_macros v3.4.2 [INFO] [stderr] Downloaded lazy-regex v3.4.2 [INFO] [stderr] Downloaded gherkin v0.14.0 [INFO] [stderr] Downloaded scc v2.4.0 [INFO] [stderr] Downloaded synthez-codegen v0.3.1 [INFO] [stderr] Downloaded clap_complete v4.5.61 [INFO] [stderr] Downloaded typed-builder v0.15.2 [INFO] [stderr] Downloaded synthez-core v0.3.1 [INFO] [stderr] Downloaded cucumber v0.21.1 [INFO] [stderr] Downloaded cucumber-codegen v0.21.1 [INFO] [stderr] Downloaded nom_locate v4.2.0 [INFO] [stderr] Downloaded peg-macros v0.6.3 [INFO] [stderr] Downloaded peg-runtime v0.6.3 [INFO] [stderr] Downloaded ignore v0.4.25 [INFO] [stderr] Downloaded typed-builder-macro v0.15.2 [INFO] [stderr] Downloaded sealed v0.5.0 [INFO] [stderr] Downloaded globset v0.4.18 [INFO] [stderr] Downloaded peg v0.6.3 [INFO] [stderr] Downloaded synthez v0.3.1 [INFO] [stderr] Downloaded cucumber-expressions v0.3.0 [INFO] [stderr] Downloaded icu_properties v2.1.1 [INFO] [stderr] Downloaded icu_properties_data v2.1.1 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bad60d7289de199533b70f71adb770119dff258a05a7ad2b2f3b95a731995ddd [INFO] running `Command { std: "docker" "start" "-a" "bad60d7289de199533b70f71adb770119dff258a05a7ad2b2f3b95a731995ddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bad60d7289de199533b70f71adb770119dff258a05a7ad2b2f3b95a731995ddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bad60d7289de199533b70f71adb770119dff258a05a7ad2b2f3b95a731995ddd", kill_on_drop: false }` [INFO] [stdout] bad60d7289de199533b70f71adb770119dff258a05a7ad2b2f3b95a731995ddd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 22a379ac7243b5613cbe4f0ae02505776a9c307de81a464b8a95f7d70fd10c2c [INFO] running `Command { std: "docker" "start" "-a" "22a379ac7243b5613cbe4f0ae02505776a9c307de81a464b8a95f7d70fd10c2c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling zerocopy v0.8.28 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling cc v1.2.47 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling libz-sys v1.1.23 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling clap_complete v4.5.61 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling git2 v0.19.0 [INFO] [stderr] Compiling moth v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.41s [INFO] running `Command { std: "docker" "inspect" "22a379ac7243b5613cbe4f0ae02505776a9c307de81a464b8a95f7d70fd10c2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "22a379ac7243b5613cbe4f0ae02505776a9c307de81a464b8a95f7d70fd10c2c", kill_on_drop: false }` [INFO] [stdout] 22a379ac7243b5613cbe4f0ae02505776a9c307de81a464b8a95f7d70fd10c2c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b2a888501792cebf80a07ec03d5066887219ab7f31224628c18a7e4101ea4c17 [INFO] running `Command { std: "docker" "start" "-a" "b2a888501792cebf80a07ec03d5066887219ab7f31224628c18a7e4101ea4c17", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling peg-runtime v0.6.3 [INFO] [stderr] Compiling unicode-linebreak v0.1.5 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling drain_filter_polyfill v0.1.3 [INFO] [stderr] Compiling inventory v0.3.21 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling peg-macros v0.6.3 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling peg v0.6.3 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling nom_locate v4.2.0 [INFO] [stderr] Compiling terminal_size v0.4.3 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling globwalk v0.9.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling sealed v0.5.0 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling typed-builder-macro v0.15.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling lazy-regex-proc_macros v3.4.2 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling smart-default v0.7.1 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling synthez-core v0.3.1 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling lazy-regex v3.4.2 [INFO] [stderr] Compiling synthez-codegen v0.3.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling synthez v0.3.1 [INFO] [stderr] Compiling typed-builder v0.15.2 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling cucumber-expressions v0.3.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling clap_complete v4.5.61 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling cucumber-codegen v0.21.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling gherkin v0.14.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling serial_test v3.2.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling cucumber v0.21.1 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling git2 v0.19.0 [INFO] [stderr] Compiling moth v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 59.20s [INFO] running `Command { std: "docker" "inspect" "b2a888501792cebf80a07ec03d5066887219ab7f31224628c18a7e4101ea4c17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2a888501792cebf80a07ec03d5066887219ab7f31224628c18a7e4101ea4c17", kill_on_drop: false }` [INFO] [stdout] b2a888501792cebf80a07ec03d5066887219ab7f31224628c18a7e4101ea4c17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 845d90b0210f3ddac311a9ac8e79f331ad6fcff885e29f23295485e06a3beed8 [INFO] running `Command { std: "docker" "start" "-a" "845d90b0210f3ddac311a9ac8e79f331ad6fcff885e29f23295485e06a3beed8", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/moth-34c9a7c41e50ec65) [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test cmd::report::tests::test_detect_changes_moved ... ok [INFO] [stdout] test cmd::report::tests::test_change_event_as_str ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_created ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_deleted ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_edited ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_slug_edit ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_no_change ... ok [INFO] [stdout] test cmd::report::tests::test_escape_csv ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_empty_brackets ... ok [INFO] [stdout] test config::tests::test_config_validation ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_no_prefix ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_no_space ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_multiline ... ok [INFO] [stdout] test cmd::report::tests::test_parse_story_filename_invalid ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_special_chars_rejected ... ok [INFO] [stdout] test cmd::report::tests::test_parse_story_filename_with_hyphenated_slug ... ok [INFO] [stdout] test cmd::report::tests::test_parse_story_filename ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_valid ... ok [INFO] [stdout] test issue::tests::test_issue_title ... ok [INFO] [stdout] test issue::tests::test_parse_issue_prefix_extra_spaces ... ok [INFO] [stdout] test issue::tests::test_severity_from_str ... ok [INFO] [stdout] test issue::tests::test_issue_filename_with_order ... ok [INFO] [stdout] test issue::tests::test_generate_id ... ok [INFO] [stdout] test store::tests::test_title_to_slug ... ok [INFO] [stdout] test store::tests::test_title_to_slug_edge_cases ... ok [INFO] [stdout] test issue::tests::test_parse_issue_prefix_no_prefix ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_severity_edit ... ok [INFO] [stdout] test issue::tests::test_issue_filename ... ok [INFO] [stdout] test issue::tests::test_extract_issue_id_uppercase_rejected ... ok [INFO] [stdout] test cmd::report::tests::test_detect_changes_multiple ... ok [INFO] [stdout] test issue::tests::test_parse_issue_prefix_valid ... ok [INFO] [stdout] test issue::tests::test_parse_issue_prefix_no_message ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/moth-6f2e062a666d86ce) [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] [stderr] Running tests/cucumber.rs (/opt/rustwide/target/debug/deps/cucumber-4fe9674205da1c30) [INFO] [stdout] Initialized moth in /tmp/.tmpKMRJEp/.moth [INFO] [stdout] Feature: Git hook management [INFO] [stdout] Scenario: Install hook in git repository [INFO] [stdout] Installed moth hook [INFO] [stdout] Hook installed at: /tmp/.tmpKMRJEp/.git/hooks/prepare-commit-msg [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And a git repository is initialized [INFO] [stdout] ✔ When the user installs the hook [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the prepare-commit-msg hook exists [INFO] [stdout] Scenario: Install hook when already installed [INFO] [stdout] Initialized moth in /tmp/.tmpLDyJEC/.moth [INFO] [stdout] Installed moth hook [INFO] [stdout] Hook installed at: /tmp/.tmpLDyJEC/.git/hooks/prepare-commit-msg [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Moth hook is already installed [INFO] [stdout] ✔ And a git repository is initialized [INFO] [stdout] ✔ And the hook is installed [INFO] [stdout] ✔ When the user installs the hook [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Scenario: Install hook with force overwrites existing [INFO] [stdout] Initialized moth in /tmp/.tmpi2Qd60/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Installed moth hook (replaced existing) [INFO] [stdout] Hook installed at: /tmp/.tmpi2Qd60/.git/hooks/prepare-commit-msg [INFO] [stdout] ✔ And a git repository is initialized [INFO] [stdout] ✔ And a custom prepare-commit-msg hook exists [INFO] [stdout] ✔ When the user installs the hook with force [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the prepare-commit-msg hook exists [INFO] [stdout] Scenario: Uninstall hook [INFO] [stdout] Initialized moth in /tmp/.tmpLfZbUZ/.moth [INFO] [stdout] Installed moth hook [INFO] [stdout] Hook installed at: /tmp/.tmpLfZbUZ/.git/hooks/prepare-commit-msg [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Removed moth hook [INFO] [stdout] ✔ And a git repository is initialized [INFO] [stdout] ✔ And the hook is installed [INFO] [stdout] ✔ When the user uninstalls the hook [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the prepare-commit-msg hook does not exist [INFO] [stdout] Scenario: Uninstall when no hook exists [INFO] [stdout] Initialized moth in /tmp/.tmpbbdOOR/.moth [INFO] [stdout] No prepare-commit-msg hook found [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And a git repository is initialized [INFO] [stdout] ✔ When the user uninstalls the hook [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Scenario: Install hook without git repository fails [INFO] [stdout] Initialized moth in /tmp/.tmpORO8Cm/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user installs the hook [INFO] [stdout] ✔ Then the command fails with "No .git directory" [INFO] [stdout] Feature: Initialize moth workspace [INFO] [stdout] Scenario: Initialize creates directory structure [INFO] [stdout] Initialized moth in /tmp/.tmpBCXGFH/.moth [INFO] [stdout] ✔ Given an empty directory [INFO] [stdout] ✔ When the user runs init [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And a .moth directory exists [INFO] [stdout] ✔ And a config.yml file exists [INFO] [stdout] ✔ And ready, doing, done directories exist [INFO] [stdout] Scenario: Double initialization fails [INFO] [stdout] Initialized moth in /tmp/.tmpmJxi6g/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user runs init [INFO] [stdout] ✔ Then the command fails with "already initialized" [INFO] [stdout] Scenario: Commands without init fail - new [INFO] [stdout] ✔ Given an empty directory [INFO] [stdout] ✔ When the user creates issue "Test" [INFO] [stdout] ✔ Then the command fails [INFO] [stdout] Scenario: Commands without init fail - list [INFO] [stdout] ✔ Given an empty directory [INFO] [stdout] ✔ When the user lists issues [INFO] [stdout] ✔ Then the command fails [INFO] [stdout] Feature: Issue management [INFO] [stdout] Initialized moth in /tmp/.tmpkblajF/.moth [INFO] [stdout] Scenario: Create issue with default severity [INFO] [stdout] Created o1qvf: Fix Login Bug [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user creates issue "Fix login bug" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] ✔ And the issue has severity "med" [INFO] [stdout] Scenario: Create issue with severity [INFO] [stdout] Initialized moth in /tmp/.tmpbDoWX7/.moth [INFO] [stdout] Created oixxp: Fix Login Bug [high] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user creates issue "Fix login bug" with severity "high" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] ✔ And the issue has severity "high" [INFO] [stdout] Scenario: Create issue with invalid severity fails [INFO] [stdout] Initialized moth in /tmp/.tmpkprv8l/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user creates issue "Test" with severity "invalid" [INFO] [stdout] ✔ Then the command fails with "Invalid severity" [INFO] [stdout] Scenario: Create issue with --start flag moves to doing [INFO] [stdout] Initialized moth in /tmp/.tmp8AVoIF/.moth [INFO] [stdout] Created k7zu6: Test Issue With Start [med] [INFO] [stdout] Moved k7zu6 to doing [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user creates issue "Test issue with start" with --start flag [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "doing" status [INFO] [stdout] ✔ And 0 issues exist in "ready" status [INFO] [stdout] Scenario: Create issue respects no_edit config [INFO] [stdout] Initialized moth in /tmp/.tmpg9NgHo/.moth [INFO] [stdout] Created xr4vp: Test Issue With No Edit [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And the config has no_edit set to true [INFO] [stdout] ✔ When the user creates issue "Test issue with no_edit" without --no-edit [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] Scenario: Show issue displays content [INFO] [stdout] Initialized moth in /tmp/.tmpTvEx6O/.moth [INFO] [stdout] Created ttqu7: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user shows the current issue [INFO] [stdout] ✔ Then the command fails with "No current issue" [INFO] [stdout] Scenario: Show with nonexistent id fails [INFO] [stdout] Initialized moth in /tmp/.tmpfDqTXL/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user shows issue "nonexistent" [INFO] [stdout] ✔ Then the command fails with "No issue found" [INFO] [stdout] Scenario: Delete issue removes it [INFO] [stdout] Initialized moth in /tmp/.tmpBAXsve/.moth [INFO] [stdout] Created qjzm4: Test Issue [med] [INFO] [stdout] Deleted qjzm4: Test Issue [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user deletes the last created issue [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And no issues exist [INFO] [stdout] Scenario: Delete nonexistent issue fails [INFO] [stdout] Initialized moth in /tmp/.tmpug9KJp/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user deletes issue "nonexistent" [INFO] [stdout] ✔ Then the command fails [INFO] [stdout] Scenario: Partial ID matching works [INFO] [stdout] Initialized moth in /tmp/.tmpYZdHpL/.moth [INFO] [stdout] Created y3i1f: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ Then partial ID matching works for the issue [INFO] [stdout] Feature: Issue listing and filtering [INFO] [stdout] Initialized moth in /tmp/.tmpKZQXwX/.moth [INFO] [stdout] Scenario: List shows issues [INFO] [stdout] Created dmjki: Issue 1 [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Created z1kro: Issue 2 [high] [INFO] [stdout] ✔ And an issue "Issue 1" exists [INFO] [stdout] ready [INFO] [stdout] z1kro [high] Issue 2 [INFO] [stdout] dmjki [med] Issue 1 [INFO] [stdout] ✔ And an issue "Issue 2" exists with severity "high" [INFO] [stdout] ✔ When the user lists issues [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 2 issues exist in "ready" status [INFO] [stdout] Scenario: List filters by status - ready [INFO] [stdout] Initialized moth in /tmp/.tmpPP2Vcq/.moth [INFO] [stdout] Created gd7eb: Ready Issue [med] [INFO] [stdout] ready [INFO] [stdout] gd7eb [med] Ready Issue [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Ready issue" exists [INFO] [stdout] ✔ When the user lists issues with status "ready" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] Scenario: List filters by status - doing [INFO] [stdout] Initialized moth in /tmp/.tmpDTSMC2/.moth [INFO] [stdout] Created pszyp: Ready Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Ready issue" exists [INFO] [stdout] ✔ When the user lists issues with status "doing" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 0 issues exist in "doing" status [INFO] [stdout] Feature: Issue priority management [INFO] [stdout] Initialized moth in /tmp/.tmpQjaWkJ/.moth [INFO] [stdout] Scenario: Set priority to a specific number [INFO] [stdout] Created yzh9o: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Set priority of yzh9o to 1 [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user sets priority of the last issue to "1" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the issue has priority 1 [INFO] [stdout] Scenario: Set priority to top [INFO] [stdout] Initialized moth in /tmp/.tmpJQkBBd/.moth [INFO] [stdout] Created puc6h: First Issue [med] [INFO] [stdout] Created g8e0f: Second Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Set priority of g8e0f to 1 [INFO] [stdout] ✔ And an issue "First issue" exists [INFO] [stdout] ✔ And an issue "Second issue" exists [INFO] [stdout] ✔ When the user sets priority of the last issue to "top" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Scenario: Set priority to bottom removes priority [INFO] [stdout] Initialized moth in /tmp/.tmp0gxcBJ/.moth [INFO] [stdout] Created hfuvv: Test Issue [med] [INFO] [stdout] Set priority of hfuvv to 1 [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] Removed priority from hfuvv [INFO] [stdout] ✔ When the user sets priority of the last issue to "1" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ When the user sets priority of the last issue to "bottom" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the issue has no priority [INFO] [stdout] Scenario: Compact renumbers priorities [INFO] [stdout] Initialized moth in /tmp/.tmpA83oOJ/.moth [INFO] [stdout] Created gl2c4: First Issue [med] [INFO] [stdout] Created u1j52: Second Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Set priority of u1j52 to 5 [INFO] [stdout] ✔ And an issue "First issue" exists [INFO] [stdout] ✔ And an issue "Second issue" exists [INFO] [stdout] Compacted 1 prioritized issues in ready [INFO] [stdout] ✔ When the user sets priority of the last issue to "5" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ When the user compacts priorities [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Scenario: Priority on non-prioritized status fails [INFO] [stdout] Initialized moth in /tmp/.tmpgJlu7D/.moth [INFO] [stdout] Created e0ftv: Test Issue [med] [INFO] [stdout] Moved e0ftv to doing [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ And the issue is started [INFO] [stdout] ✔ When the user sets priority of the last issue to "1" [INFO] [stdout] ✔ Then the command fails with "not configured for prioritization" [INFO] [stdout] Scenario: Invalid priority position fails [INFO] [stdout] Initialized moth in /tmp/.tmpett2gA/.moth [INFO] [stdout] Created xf59j: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user sets priority of the last issue to "invalid" [INFO] [stdout] ✔ Then the command fails with "Invalid position" [INFO] [stdout] Feature: Issue severity management [INFO] [stdout] Initialized moth in /tmp/.tmpJs4lQP/.moth [INFO] [stdout] Scenario: Change severity from med to high [INFO] [stdout] Created o345p: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] Changed severity of o345p from med to high [INFO] [stdout] ✔ Then the issue has severity "med" [INFO] [stdout] ✔ When the user changes severity of the last issue to "high" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the issue has severity "high" [INFO] [stdout] Scenario: Change severity from med to crit [INFO] [stdout] Initialized moth in /tmp/.tmpHItGY6/.moth [INFO] [stdout] Created b9zxl: Test Issue [med] [INFO] [stdout] Changed severity of b9zxl from med to crit [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user changes severity of the last issue to "crit" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the issue has severity "crit" [INFO] [stdout] Scenario: Change severity from med to low [INFO] [stdout] Initialized moth in /tmp/.tmpbo2DjX/.moth [INFO] [stdout] Created rr3h3: Test Issue [med] [INFO] [stdout] Changed severity of rr3h3 from med to low [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user changes severity of the last issue to "low" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And the issue has severity "low" [INFO] [stdout] Scenario: Change severity with invalid level fails [INFO] [stdout] Initialized moth in /tmp/.tmppfhRUx/.moth [INFO] [stdout] Created rio9z: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user changes severity of the last issue to "invalid" [INFO] [stdout] ✔ Then the command fails with "Invalid severity" [INFO] [stdout] Scenario: Change severity of nonexistent issue fails [INFO] [stdout] Initialized moth in /tmp/.tmpTnvM9U/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user changes severity of issue "nonexistent" to "high" [INFO] [stdout] ✔ Then the command fails with "No issue found" [INFO] [stdout] Feature: Issue workflow management [INFO] [stdout] Initialized moth in /tmp/.tmpmdIqxK/.moth [INFO] [stdout] Scenario: Start moves issue to doing [INFO] [stdout] Created k8ev6: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Moved k8ev6 to doing [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user starts the last created issue [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "doing" status [INFO] [stdout] ✔ And 0 issues exist in "ready" status [INFO] [stdout] Scenario: Done moves issue to done [INFO] [stdout] Initialized moth in /tmp/.tmpOpjbwD/.moth [INFO] [stdout] Created rq5lk: Test Issue [med] [INFO] [stdout] Moved rq5lk to done [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user marks the last created issue as done [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "done" status [INFO] [stdout] ✔ And 0 issues exist in "ready" status [INFO] [stdout] Scenario: Done with no args finishes current [INFO] [stdout] Initialized moth in /tmp/.tmpISWtR0/.moth [INFO] [stdout] Created m2k89: Test Issue [med] [INFO] [stdout] Moved m2k89 to doing [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Moved m2k89 to done [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ And the issue is started [INFO] [stdout] ✔ When the user marks the current issue as done [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "done" status [INFO] [stdout] Scenario: Done with no args and no current fails [INFO] [stdout] Initialized moth in /tmp/.tmp7lnLhQ/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user marks the current issue as done [INFO] [stdout] ✔ Then the command fails with "No current issue" [INFO] [stdout] Scenario: Move changes status [INFO] [stdout] Initialized moth in /tmp/.tmpirY7DY/.moth [INFO] [stdout] Created tg7g3: Test Issue [med] [INFO] [stdout] Moved tg7g3 to doing [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user moves the last created issue to "doing" [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "doing" status [INFO] [stdout] ✔ And 0 issues exist in "ready" status [INFO] [stdout] Scenario: Move with invalid status fails [INFO] [stdout] Initialized moth in /tmp/.tmpwYgBZR/.moth [INFO] [stdout] Created vqhvl: Test Issue [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ When the user moves the last created issue to "invalid" [INFO] [stdout] ✔ Then the command fails with "Unknown status" [INFO] [stdout] Scenario: Full workflow from ready to done [INFO] [stdout] Initialized moth in /tmp/.tmpgrNy0t/.moth [INFO] [stdout] Created zuqnj: Fix Bug [high] [INFO] [stdout] Created mm7mz: Add Feature [med] [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] Moved mm7mz to doing [INFO] [stdout] ✔ And an issue "Fix bug" exists with severity "high" [INFO] [stdout] ✔ And an issue "Add feature" exists [INFO] [stdout] ✔ When the user starts the last created issue [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Moved mm7mz to done [INFO] [stdout] ✔ And 1 issue exists in "doing" status [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] ✔ When the user marks the current issue as done [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] ✔ And 1 issue exists in "done" status [INFO] [stdout] ✔ And 1 issue exists in "ready" status [INFO] [stdout] ✔ And 0 issues exist in "doing" status [INFO] [stdout] Scenario: Show no args shows current issue [INFO] [stdout] Initialized moth in /tmp/.tmpZFKEIe/.moth [INFO] [stdout] Created x8i7l: Test Issue [med] [INFO] [stdout] Moved x8i7l to doing [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ID: x8i7l | Severity: med | Status: doing [INFO] [stdout] Title: Test Issue [INFO] [stdout] --- [INFO] [stdout] [INFO] [stdout] ✔ And an issue "Test issue" exists [INFO] [stdout] ✔ And the issue is started [INFO] [stdout] ✔ When the user shows the current issue [INFO] [stdout] ✔ Then the command succeeds [INFO] [stdout] Scenario: Show no args with no current fails [INFO] [stdout] Initialized moth in /tmp/.tmpTp4882/.moth [INFO] [stdout] ✔ Given a moth workspace is initialized [INFO] [stdout] ✔ When the user shows the current issue [INFO] [stdout] ✔ Then the command fails with "No current issue" [INFO] [stdout] [Summary] [INFO] [stdout] 7 features [INFO] [stdout] 43 scenarios (43 passed) [INFO] [stdout] 208 steps (208 passed) [INFO] [stderr] Running tests/e2e_shell_test.rs (/opt/rustwide/target/debug/deps/e2e_shell_test-504e2b70b1cd02d7) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test test_e2e_commands_without_init_fail ... ok [INFO] [stdout] test test_e2e_full_workflow ... ok [INFO] [stdout] test test_e2e_init_creates_directory ... ok [INFO] [stdout] test test_e2e_init_twice_fails ... ok [INFO] [stdout] test test_e2e_ls_shows_issues ... ok [INFO] [stdout] test test_e2e_new_creates_issue ... ok [INFO] [stdout] test test_e2e_ls_filters_by_status ... ok [INFO] [stdout] test test_e2e_mv_with_invalid_status ... ok [INFO] [stdout] test test_e2e_new_with_invalid_severity ... ok [INFO] [stdout] test test_e2e_mv_changes_status ... ok [INFO] [stdout] test test_e2e_new_respects_no_edit_config ... ok [INFO] [stdout] test test_e2e_show_displays_content ... ok [INFO] [stdout] test test_e2e_show_with_nonexistent_id ... ok [INFO] [stdout] test test_e2e_done_moves_to_done ... ok [INFO] [stdout] test test_e2e_partial_id_matching ... ok [INFO] [stdout] test test_e2e_new_with_start_flag_moves_to_doing ... ok [INFO] [stdout] test test_e2e_rm_with_nonexistent_id ... ok [INFO] [stdout] test test_e2e_rm_deletes_issue ... ok [INFO] [stdout] test test_e2e_start_moves_to_doing ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-0abe94d3d6a9ad85) [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.25s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test test_done_moves_issue_to_done ... ok [INFO] [stdout] test test_new_with_hooks ... ignored [INFO] [stdout] test test_done_no_args_finishes_current ... ok [INFO] [stdout] test test_partial_id_ambiguous ... ok [INFO] [stdout] test test_done_uses_current_file_over_latest ... ok [INFO] [stdout] test test_full_workflow ... ok [INFO] [stdout] test test_show_displays_issue_content ... ok [INFO] [stdout] test test_issue_sorting_by_severity ... ok [INFO] [stdout] test test_list_shows_all_except_done_by_default ... ok [INFO] [stdout] test test_mv_moves_issue_to_custom_status ... ok [INFO] [stdout] test test_mv_fails_with_invalid_status ... ok [INFO] [stdout] test test_show_with_partial_id ... ok [INFO] [stdout] test test_new_creates_issue ... ok [INFO] [stdout] test test_new_with_default_severity ... ok [INFO] [stdout] test test_new_fails_with_empty_title ... ok [INFO] [stdout] test test_new_respects_no_edit_config ... ok [INFO] [stdout] test test_init_fails_when_already_initialized ... ok [INFO] [stdout] test test_operations_work_after_missing_directories_restored ... ok [INFO] [stdout] test test_done_no_args_no_current ... ok [INFO] [stdout] test test_rm_deletes_issue ... ok [INFO] [stdout] test test_rm_fails_with_nonexistent_id ... ok [INFO] [stdout] test test_init_creates_moth_directory ... ok [INFO] [stdout] test test_show_no_args_no_current ... ok [INFO] [stdout] test test_show_no_args_shows_current ... ok [INFO] [stdout] test test_start_moves_issue_to_doing ... ok [INFO] [stdout] test test_new_fails_with_invalid_severity ... ok [INFO] [stdout] test test_store_recreates_missing_directories ... ok [INFO] [stdout] test test_show_fails_with_nonexistent_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Doc-tests moth [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" "845d90b0210f3ddac311a9ac8e79f331ad6fcff885e29f23295485e06a3beed8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "845d90b0210f3ddac311a9ac8e79f331ad6fcff885e29f23295485e06a3beed8", kill_on_drop: false }` [INFO] [stdout] 845d90b0210f3ddac311a9ac8e79f331ad6fcff885e29f23295485e06a3beed8