[INFO] fetching crate wrkflw-executor 0.8.0...
[INFO] testing wrkflw-executor-0.8.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate wrkflw-executor 0.8.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate wrkflw-executor 0.8.0
[INFO] finished tweaking crates.io crate wrkflw-executor 0.8.0
[INFO] tweaked toml for crates.io crate wrkflw-executor 0.8.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wrkflw-executor 0.8.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wrkflw-executor 0.8.0 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e047b720bda3909f36672e8e8997b76a0514b05d4ab53e0f7ab9f46bcf62cb0
[INFO] running `Command { std: "docker" "start" "-a" "9e047b720bda3909f36672e8e8997b76a0514b05d4ab53e0f7ab9f46bcf62cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e047b720bda3909f36672e8e8997b76a0514b05d4ab53e0f7ab9f46bcf62cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e047b720bda3909f36672e8e8997b76a0514b05d4ab53e0f7ab9f46bcf62cb0", kill_on_drop: false }`
[INFO] [stdout] 9e047b720bda3909f36672e8e8997b76a0514b05d4ab53e0f7ab9f46bcf62cb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a54d8eaf4d296f9743c2c92b09e88b5e945bd87beaaa24d113ebc2af86da671
[INFO] running `Command { std: "docker" "start" "-a" "9a54d8eaf4d296f9743c2c92b09e88b5e945bd87beaaa24d113ebc2af86da671", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling bitflags v2.9.2
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling clap_builder v4.5.44
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.13.1
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling uuid v1.18.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tempfile v3.21.0
[INFO] [stderr]    Compiling xattr v1.5.1
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[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 idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.6
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling serde_with v2.3.3
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling bollard-stubs v1.42.0-rc.7
[INFO] [stderr]    Compiling wrkflw-models v0.8.0
[INFO] [stderr]    Compiling wrkflw-secrets v0.8.0
[INFO] [stderr]    Compiling wrkflw-utils v0.8.0
[INFO] [stderr]    Compiling wrkflw-matrix v0.8.0
[INFO] [stderr]    Compiling wrkflw-logging v0.8.0
[INFO] [stderr]    Compiling wrkflw-runtime v0.8.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling hyperlocal v0.8.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling wrkflw-parser v0.8.0
[INFO] [stderr]    Compiling bollard v0.14.0
[INFO] [stderr]    Compiling wrkflw-executor v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.75s
[INFO] running `Command { std: "docker" "inspect" "9a54d8eaf4d296f9743c2c92b09e88b5e945bd87beaaa24d113ebc2af86da671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a54d8eaf4d296f9743c2c92b09e88b5e945bd87beaaa24d113ebc2af86da671", kill_on_drop: false }`
[INFO] [stdout] 9a54d8eaf4d296f9743c2c92b09e88b5e945bd87beaaa24d113ebc2af86da671
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7806638be352290023770946187bbf209430547732a1f0cf640cc5611f74219b
[INFO] running `Command { std: "docker" "start" "-a" "7806638be352290023770946187bbf209430547732a1f0cf640cc5611f74219b", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling url v2.5.6
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling wrkflw-secrets v0.8.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling wrkflw-runtime v0.8.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling hyperlocal v0.8.0
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling bollard v0.14.0
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling wrkflw-parser v0.8.0
[INFO] [stderr]    Compiling wrkflw-executor v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.81s
[INFO] running `Command { std: "docker" "inspect" "7806638be352290023770946187bbf209430547732a1f0cf640cc5611f74219b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7806638be352290023770946187bbf209430547732a1f0cf640cc5611f74219b", kill_on_drop: false }`
[INFO] [stdout] 7806638be352290023770946187bbf209430547732a1f0cf640cc5611f74219b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1ce5cf948f29d7f44da4201918e16700cc8dc1ed7ce886a103e33b76ce29c7dd
[INFO] running `Command { std: "docker" "start" "-a" "1ce5cf948f29d7f44da4201918e16700cc8dc1ed7ce886a103e33b76ce29c7dd", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wrkflw_executor-a489899817781ed2)
[INFO] [stdout] 
[INFO] [stdout] running 398 tests
[INFO] [stdout] test action_resolver::tests::test_cache_duplicate_insert_does_not_grow ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_bare_node_returns_error ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_composite_action ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_docker_action ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_docker_action_with_dockerfile ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_docker_action_with_relative_dockerfile ... ok
[INFO] [stdout] test action_resolver::tests::test_cache_respects_max_capacity ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_docker_missing_image ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_docker_with_docker_prefix_and_dockerfile ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_malformed_node_version_returns_error ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_missing_using_field ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_missing_runs ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_node16_action ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_unknown_using_value ... ok
[INFO] [stdout] test cache::tests::has_dotdot_rejects_traversal ... ok
[INFO] [stdout] test action_resolver::tests::test_resolved_action_has_definition ... ok
[INFO] [stdout] test action_resolver::tests::test_parse_node_action ... ok
[INFO] [stdout] test cache::tests::has_dotdot_allows_similar_names ... ok
[INFO] [stdout] test cache::tests::dir_size_computes_total ... ok
[INFO] [stdout] test action_resolver::tests::fetch_tests::fetch_404_without_token_returns_error ... ok
[INFO] [stdout] test action_resolver::tests::fetch_tests::fetch_with_sub_path ... ok
[INFO] [stdout] test artifacts::tests::upload_no_matching_files ... ok
[INFO] [stdout] test action_resolver::tests::fetch_tests::fetch_success_parses_action_yml ... ok
[INFO] [stdout] test artifacts::tests::download_missing_artifact ... ok
[INFO] [stdout] test cache::tests::validate_allows_normal_paths ... ok
[INFO] [stdout] test dependency::tests::test_collect_transitive_deps_diamond ... ok
[INFO] [stdout] test artifacts::tests::rejects_path_traversal_in_artifact_name ... ok
[INFO] [stdout] test cache::tests::validate_rejects_path_traversal ... ok
[INFO] [stdout] test dependency::tests::test_collect_transitive_deps_linear_chain ... ok
[INFO] [stdout] test dependency::tests::test_collect_transitive_deps_no_deps ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_filters_peers_in_target_stage ... ok
[INFO] [stdout] test dependency::tests::test_collect_transitive_deps_partial_graph ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_target_in_first_stage ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_target_in_last_stage ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_not_found ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_drops_later_stages ... ok
[INFO] [stdout] test dependency::tests::test_filter_by_stage_target_in_middle_stage ... ok
[INFO] [stdout] test action_resolver::tests::fetch_tests::auth_retry_on_404_with_token_succeeds ... ok
[INFO] [stdout] test cache::tests::restore_miss ... ok
[INFO] [stdout] test dependency::tests::test_filter_plan_to_job_no_deps ... ok
[INFO] [stdout] test dependency::tests::test_filter_plan_to_job_with_deps ... ok
[INFO] [stdout] test dependency::tests::test_filter_plan_to_job_not_found ... ok
[INFO] [stdout] test artifacts::tests::upload_and_download ... ok
[INFO] [stdout] test cache::tests::save_overwrites_existing ... ok
[INFO] [stdout] test dependency::tests::test_filter_plan_to_job_not_found_lists_available ... ok
[INFO] [stdout] test dependency::tests::test_filter_plan_to_job_removes_empty_batches ... ok
[INFO] [stdout] test action_resolver::tests::fetch_tests::auth_redirect_does_not_leak_token ... ok
[INFO] [stdout] test engine::tests::aggregate_reusable_workflow_outputs_merges_all_jobs ... ok
[INFO] [stdout] test engine::tests::aggregate_reusable_workflow_outputs_empty_input ... ok
[INFO] [stdout] test cache::tests::restore_by_prefix ... ok
[INFO] [stdout] test engine::tests::aggregate_reusable_workflow_outputs_last_job_wins_on_collision ... ok
[INFO] [stdout] test engine::tests::aggregate_reusable_workflow_outputs_skips_empty_values ... ok
[INFO] [stdout] test engine::tests::build_needs_context_empty_when_no_needs_declared ... ok
[INFO] [stdout] test engine::tests::combined_image_tag_changes_when_dockerfile_changes ... ok
[INFO] [stdout] test cache::tests::save_single_file_without_filename_returns_error ... ok
[INFO] [stdout] test engine::tests::build_needs_context_filters_to_declared_deps ... ok
[INFO] [stdout] test engine::tests::combined_image_tag_is_deterministic ... ok
[INFO] [stdout] test engine::tests::combined_image_tag_sorts_languages ... ok
[INFO] [stdout] test engine::tests::build_needs_context_filters_to_declared_needs ... ok
[INFO] [stdout] test engine::tests::build_needs_context_ignores_missing_upstream_jobs ... ok
[INFO] [stdout] test cache::tests::multi_path_save_and_restore ... ok
[INFO] [stdout] test engine::tests::condition_always_function_defaults_true ... ok
[INFO] [stdout] test engine::tests::condition_cancelled_function_defaults_false ... ok
[INFO] [stdout] test engine::tests::condition_compound_failure_or_success_defaults_true ... ok
[INFO] [stdout] test engine::tests::condition_always_and_failure_evaluates_correctly ... ok
[INFO] [stdout] test engine::tests::condition_env_context_evaluates_correctly ... ok
[INFO] [stdout] test engine::tests::condition_failure_function_defaults_false ... ok
[INFO] [stdout] test engine::tests::condition_parse_error_returns_false ... ok
[INFO] [stdout] test cache::tests::save_and_restore_directory ... ok
[INFO] [stdout] test engine::tests::condition_steps_reference_evaluates_null_for_unknown_step ... ok
[INFO] [stdout] test engine::tests::condition_true_false_literals ... ok
[INFO] [stdout] test engine::tests::condition_success_function_defaults_true ... ok
[INFO] [stdout] test engine::tests::condition_compound_failure_and_cancelled_defaults_false ... ok
[INFO] [stdout] test engine::tests::container_env_has_lowest_precedence ... ok
[INFO] [stdout] test engine::tests::container_mounts_no_github_env ... ok
[INFO] [stdout] test engine::tests::container_mounts_docker_runtime_remaps_env_paths ... ok
[INFO] [stdout] test engine::tests::container_mounts_podman_runtime_remaps_env_paths ... ok
[INFO] [stdout] test engine::tests::container_mounts_non_container_runtime_does_not_remap ... ok
[INFO] [stdout] test engine::tests::container_mounts_only_remaps_existing_env_keys ... ok
[INFO] [stdout] test engine::tests::container_mounts_parses_single_path_volumes ... ok
[INFO] [stdout] test engine::tests::container_mounts_parses_host_container_volumes ... ok
[INFO] [stdout] test engine::tests::container_mounts_skips_empty_container_path ... ok
[INFO] [stdout] test engine::tests::container_mounts_strips_docker_options_from_volumes ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_dotnet ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_deduplicates_same_language ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_go ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_empty_steps ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_ignores_similar_action_names ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_java ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_multi_language ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_no_setup_actions ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_node_with_version ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_php ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_normalizes_dot_x_suffix ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_python_with_version ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_rust ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_rust_version_from_ref ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_rust_sha_ref_falls_back_to_default ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_rust_with_overrides_ref ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_single_node ... ok
[INFO] [stdout] test engine::tests::detect_setup_runtimes_skips_invalid_version ... ok
[INFO] [stdout] test engine::tests::determine_action_image_core_actions ... ok
[INFO] [stdout] test engine::tests::determine_action_image_exact_match_setup_actions ... ok
[INFO] [stdout] test engine::tests::determine_action_image_namespace_prefix ... ok
[INFO] [stdout] test engine::tests::determine_action_image_rejects_similar_names ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_allows_dotdot_in_filename ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_plain_dockerfile ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_backslash_traversal ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_docker_prefix_only ... ok
[INFO] [stdout] test engine::tests::bash_shell_uses_errexit_and_pipefail ... ok
[INFO] [stdout] test engine::tests::defaults_cascade_workflow_used_when_no_job_or_step ... ok
[INFO] [stdout] test engine::tests::defaults_cascade_step_overrides_job ... ok
[INFO] [stdout] test engine::tests::defaults_cascade_working_directory_from_job ... ok
[INFO] [stdout] test engine::tests::defaults_cascade_job_overrides_workflow ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_empty_string ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_mixed_separator_traversal ... ok
[INFO] [stdout] test engine::tests::cache_step_rejects_empty_key ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_relative_path ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_strips_docker_prefix ... ok
[INFO] [stdout] test engine::tests::cache_step_rejects_empty_path ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_null_byte ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_dotdot_in_middle ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_rejects_dotdot_traversal ... ok
[INFO] [stdout] test engine::tests::effective_runner_image_prefers_container ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_args_as_plain_string ... ok
[INFO] [stdout] test engine::tests::dockerfile_rel_strips_leading_slash ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_args_as_string ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_args_only ... ok
[INFO] [stdout] test engine::tests::effective_runner_image_empty_image_falls_back ... ok
[INFO] [stdout] test engine::tests::effective_runner_image_falls_back_to_runs_on ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_args_coerces_non_string_values ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_args_string_bad_quoting_is_error ... ok
[INFO] [stdout] test engine::tests::download_artifact_all_with_empty_store ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_none_definition ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_entrypoint_only ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_with_entrypoint_and_args ... ok
[INFO] [stdout] test engine::tests::download_artifact_rejects_path_traversal ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_empty_entrypoint_treated_as_none ... ok
[INFO] [stdout] test engine::tests::generate_combined_dockerfile_multi_runtime_single_run ... ok
[INFO] [stdout] test engine::tests::generate_combined_dockerfile_single_runtime ... ok
[INFO] [stdout] test engine::tests::get_install_script_returns_nonempty_for_known_languages ... ok
[INFO] [stdout] test engine::tests::extract_runs_config_missing_both ... ok
[INFO] [stdout] test engine::tests::generate_combined_dockerfile_skips_empty_scripts ... ok
[INFO] [stdout] test engine::tests::cache_step_miss_defers_save_and_flush_works ... ok
[INFO] [stdout] test engine::tests::generate_heredoc_delimiter_avoids_collisions ... ok
[INFO] [stdout] test engine::tests::get_install_script_returns_empty_for_unknown ... ok
[INFO] [stdout] test engine::tests::is_git_sha_recognizes_uppercase_hex ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_41_chars ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_empty ... ok
[INFO] [stdout] test engine::tests::is_git_sha_recognizes_valid_sha1 ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_branch_name ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_tag ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_non_hex_40_chars ... ok
[INFO] [stdout] test engine::tests::is_safe_version_accepts_valid ... ok
[INFO] [stdout] test engine::tests::is_git_sha_rejects_short_hash ... ok
[INFO] [stdout] test engine::tests::is_safe_version_rejects_injection ... ok
[INFO] [stdout] test engine::tests::needs_context_flows_through_expression_evaluation ... ok
[INFO] [stdout] test engine::tests::prepared_action_native_docker_defaults ... ok
[INFO] [stdout] test engine::tests::native_docker_with_args_override ... ok
[INFO] [stdout] test engine::tests::native_docker_empty_with_args_passes_zero_args ... ok
[INFO] [stdout] test engine::tests::native_docker_with_args_unmatched_quote_is_error ... ok
[INFO] [stdout] test engine::tests::native_docker_passes_entrypoint_and_args ... ok
[INFO] [stdout] test engine::tests::native_docker_with_entrypoint_override ... ok
[INFO] [stdout] test engine::tests::cache_step_multi_path_defers_all_paths ... ok
[INFO] [stdout] test engine::tests::prepared_action_native_docker_stores_fields ... ok
[INFO] [stdout] test engine::tests::native_docker_runs_args_overridden_by_with_args ... ok
[INFO] [stdout] test engine::tests::process_workflow_commands_no_step_id_ignores_set_output ... ok
[INFO] [stdout] test engine::tests::process_workflow_commands_multiple_set_outputs ... ok
[INFO] [stdout] test engine::tests::download_artifact_all_when_name_empty ... ok
[INFO] [stdout] test engine::tests::native_docker_step_env_injected ... ok
[INFO] [stdout] test engine::tests::process_workflow_commands_without_masker_does_not_panic ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_no_outputs_section_is_noop ... ok
[INFO] [stdout] test engine::tests::process_workflow_commands_sets_output ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_nonexistent_step_resolves_empty ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_multiline_value_uses_heredoc ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_value_containing_eof_uses_unique_delimiter ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_on_failure_writes_partial_outputs ... ok
[INFO] [stdout] test engine::tests::record_step_status_ignores_steps_without_id ... ok
[INFO] [stdout] test engine::tests::record_step_status_sets_job_failure_on_failed_conclusion ... ok
[INFO] [stdout] test engine::tests::record_step_status_tracks_outcome_and_conclusion ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_clamps_to_max ... ok
[INFO] [stdout] test engine::tests::resolve_job_outputs_handles_static_and_dynamic_values ... ok
[INFO] [stdout] test engine::tests::resolve_job_outputs_missing_step_reference_resolves_empty ... ok
[INFO] [stdout] test engine::tests::resolve_job_outputs_empty_when_no_outputs_section ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_negative_returns_default ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_neg_infinity_returns_default ... ok
[INFO] [stdout] test engine::tests::resolve_job_outputs_evaluates_step_reference ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_infinity_returns_default ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_positive_value_returned ... ok
[INFO] [stdout] test engine::tests::resolve_job_outputs_returns_empty_for_missing_step ... ok
[INFO] [stdout] test engine::tests::propagate_composite_outputs_writes_to_github_output_file ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_nan_returns_default ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_none_returns_default ... ok
[INFO] [stdout] test engine::tests::sanitize_timeout_zero_returns_default ... ok
[INFO] [stdout] test engine::tests::secrets_context_resolves_in_expressions ... ok
[INFO] [stdout] test engine::tests::step_outcome_conclusion_with_continue_on_error ... ok
[INFO] [stdout] test engine::tests::sub_path_allows_dotdot_in_name ... ok
[INFO] [stdout] test engine::tests::sub_path_allows_nested_path ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_backslash_dotdot ... ok
[INFO] [stdout] test engine::tests::sh_shell_uses_errexit ... ok
[INFO] [stdout] test engine::tests::sub_path_allows_simple_path ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_dotdot_prefix ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_mixed_separator_dotdot ... ok
[INFO] [stdout] test engine::tests::volume_traversal_allows_double_dot_prefix_dir ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_dotdot ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_null_byte ... ok
[INFO] [stdout] test engine::tests::sub_path_rejects_dotdot_in_middle ... ok
[INFO] [stdout] test engine::tests::volume_traversal_check_allows_dotdot_in_container_path ... ok
[INFO] [stdout] test engine::tests::volume_traversal_check_rejects_host_traversal ... ok
[INFO] [stdout] test engine::tests::workflow_env_does_not_override_builtin_github_vars ... ok
[INFO] [stdout] test environment::tests::extract_repo_from_https_url ... ok
[INFO] [stdout] test engine::tests::workflow_env_expression_substitution ... ok
[INFO] [stdout] test engine::tests::working_directory_rejects_absolute_path ... ok
[INFO] [stdout] test engine::tests::workflow_env_overridden_by_job_env ... ok
[INFO] [stdout] test environment::tests::extract_repo_from_ssh_url ... ok
[INFO] [stdout] test engine::tests::working_directory_rejects_parent_traversal ... ok
[INFO] [stdout] test engine::tests::working_directory_allows_subdirectory ... ok
[INFO] [stdout] test environment::tests::ref_name_strips_heads_prefix ... ok
[INFO] [stdout] test environment::tests::ref_name_strips_tags_prefix ... ok
[INFO] [stdout] test environment::tests::extract_repo_from_invalid_url ... ok
[INFO] [stdout] test environment::tests::repository_owner_handles_empty ... ok
[INFO] [stdout] test environment::tests::ref_type_defaults_to_branch ... ok
[INFO] [stdout] test environment::tests::ref_type_detects_tag ... ok
[INFO] [stdout] test environment::tests::repository_owner_handles_no_slash ... ok
[INFO] [stdout] test environment::tests::repository_owner_extracts_owner ... ok
[INFO] [stdout] test environment::tests::ref_name_returns_input_for_unknown_prefix ... ok
[INFO] [stdout] test expression::tests::bare_env_is_truthy ... ok
[INFO] [stdout] test expression::tests::bare_matrix_when_none_is_null ... ok
[INFO] [stdout] test expression::tests::bare_matrix_is_truthy ... ok
[INFO] [stdout] test expression::tests::bare_matrix_does_not_shadow_dotted_access ... ok
[INFO] [stdout] test expression::tests::bare_needs_is_truthy ... ok
[INFO] [stdout] test engine::tests::job_timeout_produces_failure_result ... ok
[INFO] [stdout] test expression::tests::bare_env_to_output_string ... ok
[INFO] [stdout] test expression::tests::bare_secrets_does_not_shadow_dotted_access ... ok
[INFO] [stdout] test expression::tests::bare_github_is_truthy ... ok
[INFO] [stdout] test expression::tests::bare_steps_is_truthy ... ok
[INFO] [stdout] test expression::tests::eval_and_operator ... ok
[INFO] [stdout] test expression::tests::eval_as_bool_bare_expression ... ok
[INFO] [stdout] test expression::tests::eval_as_bool_condition_with_context ... ok
[INFO] [stdout] test expression::tests::eval_bool_literals ... ok
[INFO] [stdout] test expression::tests::eval_contains ... ok
[INFO] [stdout] test expression::tests::eval_as_bool_strips_delimiters ... ok
[INFO] [stdout] test expression::tests::bare_secrets_is_truthy ... ok
[INFO] [stdout] test expression::tests::eval_bool_string_coercion ... ok
[INFO] [stdout] test expression::tests::eval_case_insensitive_equality ... ok
[INFO] [stdout] test expression::tests::eval_empty_expression ... ok
[INFO] [stdout] test expression::tests::eval_empty_string_literal ... ok
[INFO] [stdout] test expression::tests::eval_format_arg_containing_placeholder_not_reinterpreted ... ok
[INFO] [stdout] test engine::tests::upload_artifact_step_wiring ... ok
[INFO] [stdout] test expression::tests::eval_ends_with ... ok
[INFO] [stdout] test expression::tests::eval_env_context ... ok
[INFO] [stdout] test expression::tests::eval_format_non_ascii ... ok
[INFO] [stdout] test expression::tests::eval_equality ... ok
[INFO] [stdout] test expression::tests::eval_format_function ... ok
[INFO] [stdout] test expression::tests::eval_matrix_context ... ok
[INFO] [stdout] test expression::tests::eval_missing_context_returns_null ... ok
[INFO] [stdout] test expression::tests::eval_null_literal ... ok
[INFO] [stdout] test expression::tests::eval_github_context ... ok
[INFO] [stdout] test expression::tests::eval_number_comparison ... ok
[INFO] [stdout] test expression::tests::eval_number_literal ... ok
[INFO] [stdout] test expression::tests::eval_not_operator ... ok
[INFO] [stdout] test expression::tests::eval_format_out_of_bounds_placeholder_preserved ... ok
[INFO] [stdout] test engine::tests::process_workflow_commands_wires_add_mask ... ok
[INFO] [stdout] test expression::tests::eval_rust_toolchain_pattern_no_components ... ok
[INFO] [stdout] test expression::tests::eval_rust_toolchain_pattern_not_nightly ... ok
[INFO] [stdout] test expression::tests::eval_inputs_context ... ok
[INFO] [stdout] test expression::tests::eval_parentheses ... ok
[INFO] [stdout] test expression::tests::eval_rust_toolchain_pattern ... ok
[INFO] [stdout] test expression::tests::eval_or_operator ... ok
[INFO] [stdout] test expression::tests::eval_starts_with ... ok
[INFO] [stdout] test expression::tests::eval_unexpected_token_errors ... ok
[INFO] [stdout] test expression::tests::eval_status_functions ... ok
[INFO] [stdout] test expression::tests::eval_steps_outputs ... ok
[INFO] [stdout] test expression::tests::object_cmp_returns_none ... ok
[INFO] [stdout] test expression::tests::fromjson_tojson_matrix_produces_parseable_json ... ok
[INFO] [stdout] test expression::tests::eval_string_literal ... ok
[INFO] [stdout] test expression::tests::tojson_env_empty_context ... ok
[INFO] [stdout] test expression::tests::tojson_env_empty_when_only_internal_vars ... ok
[INFO] [stdout] test expression::tests::eval_unterminated_string_errors ... ok
[INFO] [stdout] test expression::tests::tojson_env_includes_user_declared_github_token ... ok
[INFO] [stdout] test expression::tests::fromjson_tojson_github_produces_parseable_json ... ok
[INFO] [stdout] test expression::tests::output_string_formatting ... ok
[INFO] [stdout] test expression::tests::fromjson_tojson_secrets_produces_parseable_json ... ok
[INFO] [stdout] test expression::tests::fromjson_tojson_env_produces_parseable_json ... ok
[INFO] [stdout] test expression::tests::tojson_env_includes_user_var_with_internal_prefix ... ok
[INFO] [stdout] test expression::tests::tojson_env_returns_object ... ok
[INFO] [stdout] test expression::tests::tojson_github_empty_context ... ok
[INFO] [stdout] test expression::tests::tojson_env_special_characters_in_values ... ok
[INFO] [stdout] test expression::tests::tojson_github_excludes_runner_internal_keys ... ok
[INFO] [stdout] test expression::tests::tojson_env_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_github_includes_token_in_plaintext ... ok
[INFO] [stdout] test expression::tests::tojson_github_includes_user_defined_github_prefixed_vars ... ok
[INFO] [stdout] test expression::tests::tojson_escapes_control_characters ... ok
[INFO] [stdout] test expression::tests::tojson_github_ignores_prefix_only_key ... ok
[INFO] [stdout] test expression::tests::tojson_github_preserves_dotted_access ... ok
[INFO] [stdout] test expression::tests::tojson_handles_null_bytes ... ok
[INFO] [stdout] test expression::tests::tojson_github_special_characters_in_values ... ok
[INFO] [stdout] test expression::tests::tojson_escapes_quotes_and_backslash ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_no_matrix_returns_null ... ok
[INFO] [stdout] test expression::tests::tojson_github_returns_object ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_returns_object ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_github_no_github_prefix ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_empty_combination ... ok
[INFO] [stdout] test expression::tests::tojson_needs_outputs_without_result ... ok
[INFO] [stdout] test expression::tests::tojson_needs_empty_context ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_yaml_sequence_falls_through_to_string ... ok
[INFO] [stdout] test expression::tests::tojson_needs_returns_nested_object ... ok
[INFO] [stdout] test expression::tests::tojson_github_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_matrix_mixed_value_types ... ok
[INFO] [stdout] test expression::tests::tojson_needs_result_without_outputs ... ok
[INFO] [stdout] test expression::tests::tojson_needs_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_secrets_preserves_special_characters ... ok
[INFO] [stdout] test expression::tests::tojson_secrets_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_steps_empty_context ... ok
[INFO] [stdout] test expression::tests::tojson_needs_special_characters_in_outputs ... ok
[INFO] [stdout] test expression::tests::tojson_secrets_empty_context ... ok
[INFO] [stdout] test expression::tests::tojson_steps_returns_nested_object ... ok
[INFO] [stdout] test expression::tests::tojson_steps_sorted_keys ... ok
[INFO] [stdout] test expression::tests::tojson_steps_special_characters_in_outputs ... ok
[INFO] [stdout] test expression::tests::tojson_secrets_returns_object ... ok
[INFO] [stdout] test engine::tests::run_step_upload_download_artifact_roundtrip_emulation ... ok
[INFO] [stdout] test expression::tests::tojson_steps_outputs_without_status ... ok
[INFO] [stdout] test expression::tests::truthiness ... ok
[INFO] [stdout] test expression::tests::tojson_steps_status_without_outputs ... ok
[INFO] [stdout] test expression::tests::unknown_step_id_returns_null ... ok
[INFO] [stdout] test expression::tests::tojson_secrets_returns_values_in_plaintext ... ok
[INFO] [stdout] test github_env_files::tests::parse_empty_input ... ok
[INFO] [stdout] test github_env_files::tests::parse_empty_value ... ok
[INFO] [stdout] test github_env_files::tests::apply_updates_merges_env_and_path ... ok
[INFO] [stdout] test github_env_files::tests::parse_mixed_formats ... ok
[INFO] [stdout] test github_env_files::tests::parse_path_file ... ok
[INFO] [stdout] test github_env_files::tests::parse_skips_blank_lines ... ok
[INFO] [stdout] test github_env_files::tests::parse_unterminated_heredoc ... ok
[INFO] [stdout] test github_env_files::tests::parse_heredoc_in_output_format ... ok
[INFO] [stdout] test github_env_files::tests::parse_path_file_skips_blank_lines ... ok
[INFO] [stdout] test github_env_files::tests::parse_heredoc ... ok
[INFO] [stdout] test github_env_files::tests::read_missing_files_returns_empty ... ok
[INFO] [stdout] test github_env_files::tests::parse_heredoc_custom_delimiter ... ok
[INFO] [stdout] test github_env_files::tests::parse_value_containing_heredoc_marker ... ok
[INFO] [stdout] test github_env_files::tests::parse_value_with_equals ... ok
[INFO] [stdout] test github_env_files::tests::parse_simple_kv ... ok
[INFO] [stdout] test github_env_files::tests::apply_updates_no_duplicate_path_entries ... ok
[INFO] [stdout] test substitution::tests::combined_substitutions ... ok
[INFO] [stdout] test substitution::tests::env_context_substitution ... ok
[INFO] [stdout] test substitution::tests::env_context_missing_returns_empty ... ok
[INFO] [stdout] test github_env_files::tests::read_all_four_files ... ok
[INFO] [stdout] test github_env_files::tests::read_and_clear_round_trip ... ok
[INFO] [stdout] test substitution::tests::inputs_context_missing_returns_empty ... ok
[INFO] [stdout] test substitution::tests::inputs_context_substitution ... ok
[INFO] [stdout] test substitution::tests::hash_files_inline_with_other_text ... ok
[INFO] [stdout] test substitution::tests::inputs_context_hyphenated_name ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_evaluates_comparison_to_empty ... ok
[INFO] [stdout] test substitution::tests::hash_files_deterministic ... ok
[INFO] [stdout] test substitution::tests::hash_files_rejects_path_traversal ... ok
[INFO] [stdout] test substitution::tests::hash_files_single_pattern ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_includes_inputs_and_github ... ok
[INFO] [stdout] test substitution::tests::hash_files_glob_recursive ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_combines_hash_and_matrix ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_evaluates_complex_expression ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_no_spaces ... ok
[INFO] [stdout] test substitution::tests::preprocess_expressions_unknown_context_returns_empty ... ok
[INFO] [stdout] test substitution::tests::hash_files_rejects_mid_path_traversal ... ok
[INFO] [stdout] test substitution::tests::hash_files_multiple_patterns ... ok
[INFO] [stdout] test substitution::tests::runner_context_missing_returns_empty ... ok
[INFO] [stdout] test substitution::tests::hash_files_no_matches_returns_hash_of_empty ... ok
[INFO] [stdout] test workflow_commands::tests::non_command_lines_skipped ... ok
[INFO] [stdout] test workflow_commands::tests::multiple_commands ... ok
[INFO] [stdout] test substitution::tests::runner_context_substitution ... ok
[INFO] [stdout] test substitution::tests::step_output_missing_key_returns_empty ... ok
[INFO] [stdout] test substitution::tests::step_output_missing_returns_empty ... ok
[INFO] [stdout] test substitution::tests::step_output_substitution ... ok
[INFO] [stdout] test workflow_commands::tests::parse_error_command ... ok
[INFO] [stdout] test substitution::tests::github_context_missing_returns_empty ... ok
[INFO] [stdout] test workflow_commands::tests::parse_add_mask ... ok
[INFO] [stdout] test substitution::tests::github_context_substitution ... ok
[INFO] [stdout] test workflow_commands::tests::parse_debug ... ok
[INFO] [stdout] test workflow_commands::tests::parse_error_with_end_line_and_title ... ok
[INFO] [stdout] test workflow_commands::tests::parse_group_endgroup ... ok
[INFO] [stdout] test workflow_commands::tests::parse_notice ... ok
[INFO] [stdout] test workflow_commands::tests::parse_save_state_rejects_empty_name ... ok
[INFO] [stdout] test workflow_commands::tests::parse_set_output_rejects_empty_name ... ok
[INFO] [stdout] test workflow_commands::tests::parse_warning_no_params ... ok
[INFO] [stdout] test workflow_commands::tests::parse_set_output ... ok
[INFO] [stdout] test workflow_commands::tests::stop_commands ... ok
[INFO] [stdout] test workflow_commands::tests::save_state ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_comma_and_semicolon ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_comma_and_semicolon_lowercase ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_in_message ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_no_double_decode ... ok
[INFO] [stdout] test workflow_commands::tests::stop_commands_empty_token_ignored ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_in_file_param ... ok
[INFO] [stdout] test substitution::tests::test_preprocess_preserves_other_text ... ok
[INFO] [stdout] test substitution::tests::test_preprocess_simple_matrix_vars ... ok
[INFO] [stdout] test substitution::tests::test_process_without_matrix ... ok
[INFO] [stdout] test substitution::tests::test_preprocess_with_missing_vars ... ok
[INFO] [stdout] test workflow_commands::tests::url_decoding_percent_and_colon ... ok
[INFO] [stdout] test cache::tests::evict_removes_oldest_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 398 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wrkflw_executor
[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" "1ce5cf948f29d7f44da4201918e16700cc8dc1ed7ce886a103e33b76ce29c7dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ce5cf948f29d7f44da4201918e16700cc8dc1ed7ce886a103e33b76ce29c7dd", kill_on_drop: false }`
[INFO] [stdout] 1ce5cf948f29d7f44da4201918e16700cc8dc1ed7ce886a103e33b76ce29c7dd
