Package evaluation to test Pipelines on Julia 1.14.0-DEV.1893 (b4aba01002*) started at 2026-03-15T14:19:03.375 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 12.11s ################################################################################ # Installation # Installing Pipelines... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [ef544631] + Pipelines v0.12.2 Updating `~/.julia/environments/v1.14/Manifest.toml` [34da2185] + Compat v4.18.1 [48062228] + FilePathsBase v0.9.24 [076d061b] + HashArrayMappedTries v0.2.0 [bac558e1] + OrderedCollections v1.8.1 [ef544631] + Pipelines v0.12.2 [189a3867] + Reexport v1.2.2 [ae12ab41] + ScopedStreams v0.3.9 [7e506255] + ScopedValues v1.6.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 Installation completed after 1.3s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 5540.8 ms ✓ Pipelines 1 dependency successfully precompiled in 6 seconds. 23 already precompiled. 9 dependencies precompiled but different versions are currently loaded (Base64, Dates, JuliaSyntaxHighlighting, Logging, Markdown, Printf, StyledStrings, TOML and UUIDs). Restart julia to access the new versions. Otherwise, 10 dependents of these packages may trigger further precompilation to work with the unexpected versions. Precompilation completed after 22.25s ################################################################################ # Testing # Testing Pipelines Status `/tmp/jl_IotcTZ/Project.toml` [48062228] FilePathsBase v0.9.24 [bac558e1] OrderedCollections v1.8.1 [ef544631] Pipelines v0.12.2 [189a3867] Reexport v1.2.2 [ae12ab41] ScopedStreams v0.3.9 [ade2ca70] Dates v1.11.0 [56ddb016] Logging v1.11.0 [de0858da] Printf v1.11.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 Status `/tmp/jl_IotcTZ/Manifest.toml` [34da2185] Compat v4.18.1 [48062228] FilePathsBase v0.9.24 [076d061b] HashArrayMappedTries v0.2.0 [bac558e1] OrderedCollections v1.8.1 [ef544631] Pipelines v0.12.2 [189a3867] Reexport v1.2.2 [ae12ab41] ScopedStreams v0.3.9 [7e506255] ScopedValues v1.6.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 Testing Running tests... stdout = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting))) stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting))) 0-element Vector{Arg}. Arg: name → str type → Any default → nothing required → true independent → false str (required)a (default = b)sym (required, independent)sym (independent, default = aaa)[ Error: 2026-03-15 14:20:07 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version` CmdDependency: exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no` test_args → `--version` validate_success → true validate_stdout → #15 validate_stderr → do_nothing exit_when_fail → true `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no``/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no`CmdDependency: exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no` test_args → `--version` validate_success → true validate_stdout → #15 validate_stderr → do_nothing exit_when_fail → true CmdProgram: name → Command Program id_file → id_file info_before → auto info_after → auto cmd_dependencies → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no` arg_inputs → input :: Any (required) input2 :: Int64 (required) optional_arg :: Any (default = 5) optional_arg2 :: Number (default = 0.5) validate_inputs → do_nothing prerequisites → do_nothing cmd → `echo input input2 optional_arg optional_arg2 output` infer_outputs → do_nothing arg_outputs → output :: Any (default = .output) validate_outputs → do_nothing wrap_up → do_nothing arg_forward → [ Info: Dependencies Status: [ Info: OK Main.julia `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no` [ Error: 2026-03-15 14:20:13 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version` [ Info: FAIL Main.never_dep `CmdDependencyExpectedNotToExist` [ Info: OK Main.p [ Error: 2026-03-15 14:20:13 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version` [ Info: Dependencies Status: [ Info: OK Main.julia `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes --pkgimages=existing -g1 --startup-file=no` [ Info: OK Main.p [ Info: 2026-03-15 14:20:19 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c] in1 2 5 0.5 out [ Info: 2026-03-15 14:20:19 Finished: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c] [ Info: 2026-03-15 14:20:21 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c] in1 2 5 0.5 out [ Info: 2026-03-15 14:20:21 Finished: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c] CmdProgram: name → Bowtie2 Mapping id_file → .bowtie2 info_before → auto info_after → auto cmd_dependencies → arg_inputs → FASTQ :: Any (required) REF :: Any (required) validate_inputs → #17 prerequisites → #19 cmd → pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`) infer_outputs → #21 arg_outputs → BAM :: Any (required) validate_outputs → #23 wrap_up → #25 arg_forward → CmdProgram(Bowtie2 Mapping, pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`))CmdProgram(Bowtie2 Mapping, pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`))CmdProgram: name → Bowtie2 Mapping id_file → .bowtie2 info_before → auto info_after → auto cmd_dependencies → arg_inputs → FASTQ :: Any (required) REF :: Any (required) validate_inputs → #17 prerequisites → #19 cmd → pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`) infer_outputs → #21 arg_outputs → BAM :: Any (required) validate_outputs → #23 wrap_up → #25 arg_forward → JuliaProgram: name → Julia Program id_file → id_file info_before → auto info_after → auto cmd_dependencies → arg_inputs → a :: Any (required) b :: Int64 (required) validate_inputs → do_nothing prerequisites → do_nothing main → #27 infer_outputs → do_nothing arg_outputs → c :: Any (default = .) validate_outputs → do_nothing wrap_up → do_nothing arg_forward → JuliaProgram(Julia Program, inputs = ["a", "b"], outputs = ["c"])JuliaProgram(Julia Program, inputs = ["a", "b"], outputs = ["c"])JuliaProgram: name → Julia Program id_file → id_file info_before → auto info_after → auto cmd_dependencies → arg_inputs → a :: Any (required) b :: Int64 (required) validate_inputs → do_nothing prerequisites → do_nothing main → #27 infer_outputs → do_nothing arg_outputs → c :: Any (default = .) validate_outputs → do_nothing wrap_up → do_nothing arg_forward → [ Info: 2026-03-15 14:20:26 Started: Julia Program [ad4fc668-d047-5d9e-adc4-833a3233db06] inputs are `in1` and 2 You can also use info in outputs: out The returned value will be assigned to a new outputs [ Info: 2026-03-15 14:20:27 Finished: Julia Program [ad4fc668-d047-5d9e-adc4-833a3233db06] ┌ Info: 2026-03-15 14:20:28 Started: Julia Program │ run_id = Base.UUID("7865e09b-75d5-5b6e-8322-eab5681c82b0") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => `in1` │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "in1.2" inputs are `in1` and 2 You can also use info in outputs: in1.2 The returned value will be assigned to a new outputs ┌ Info: 2026-03-15 14:20:29 Finished: Julia Program │ run_id = Base.UUID("7865e09b-75d5-5b6e-8322-eab5681c82b0") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => `in1` │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 4 ┌ Info: 2026-03-15 14:20:30 Started: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "10.6.5" ┌ Info: 2026-03-15 14:20:30 Finished: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 25 ┌ Info: 2026-03-15 14:20:30 Started: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "10.6.5" ┌ Info: 2026-03-15 14:20:30 Finished: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 25 ┌ Info: 2026-03-15 14:20:31 Started: Julia Program │ run_id = Base.UUID("8ed41804-0a4a-5122-aa8c-e4ceec3d48c7") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "10.6.2" ┌ Info: 2026-03-15 14:20:31 Finished: Julia Program │ run_id = Base.UUID("8ed41804-0a4a-5122-aa8c-e4ceec3d48c7") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 4 ┌ Info: 2026-03-15 14:20:32 Started: Julia Program │ run_id = Base.UUID("57f77f0a-5d8c-529b-b5bc-197f24b712d6") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 8.0 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "8.0.5" ┌ Info: 2026-03-15 14:20:32 Finished: Julia Program │ run_id = Base.UUID("57f77f0a-5d8c-529b-b5bc-197f24b712d6") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 8.0 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 25 stderr> 5 stdout> 6.6 stdout> 6.6 ┌ Info: 2026-03-15 14:20:37 Started: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "10.6.5" stdout> 10.6 stderr> 5 [ Info: Dict{String, Any}("c" => "10.6.5") ┌ Info: 2026-03-15 14:20:37 Finished: Julia Program │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => 10.6 │ "b" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 25 stdout = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting))) stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting))) [ Info: 2026-03-15 14:20:38 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788] ERROR: unknown option `--abcdefg` ┌ Error: 2026-03-15 14:20:38 ProgramRunningError: Command Program: fail to run the main command. │ prerequisites = do_nothing (generic function with 3 methods) │ command_running = `julia --abcdefg` │ run_id = Base.UUID("bbab1609-5816-437c-b33a-f653328b4788") │ inputs = Dict{String, Any}() └ outputs = Dict{String, Any}() ┌ Error: Program Command Program failed but will retry. │ exception = │ failed process: Process(`julia --abcdefg`, ProcessExited(1)) [1] │ │ Stacktrace: │ [1] pipeline_error │ @ ./process.jl:610 [inlined] │ [2] run(::Cmd, ::Base.DevNull, ::Vararg{Any}; wait::Bool) │ @ Base ./process.jl:525 │ [3] run(::Cmd, ::Base.DevNull, ::Base.PipeEndpoint, ::Base.PipeEndpoint) │ @ Base ./process.jl:522 │ [4] _run(p::CmdProgram; inputs::Dict{String, Any}, outputs::Dict{String, Any}, skip_when_done::Bool, check_dependencies::Bool, verbose::Symbol, touch_run_id_file::Bool, dry_run::Bool, dir::String, _do_xxputs_completion_and_check::Bool) │ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/CmdProgram.jl:268 │ [5] kwcall(::@NamedTuple{dir::String, inputs::Dict{String, Any}, outputs::Dict{String, Any}, verbose::Symbol}, ::typeof(Pipelines._run), p::CmdProgram) │ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/CmdProgram.jl:172 │ [6] (::Pipelines.var"#32#33"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram})() │ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:0 │ [7] redirect_stream │ @ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:194 [inlined] │ [8] run(p::CmdProgram; dir::String, retry::Int64, stdout::Nothing, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{verbose::Symbol}) │ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298 │ [9] kwcall(::@NamedTuple{retry::Int64, verbose::Symbol}, ::typeof(run), p::CmdProgram) │ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:272 │ [10] top-level scope │ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8 │ [11] macro expansion │ @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2243 [inlined] │ [12] macro expansion │ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:439 [inlined] │ [13] macro expansion │ @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:977 [inlined] │ [14] macro expansion │ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:439 [inlined] │ [15] include(mapexpr::Function, mod::Module, _path::String) │ @ Base ./Base.jl:324 │ [16] top-level scope │ @ none:6 │ [17] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [18] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:310 │ [19] _start() │ @ Base ./client.jl:585 └ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:313 ┌ Warning: Retry Command Program (1/1) └ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:300 [ Info: 2026-03-15 14:20:41 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788] ERROR: unknown option `--abcdefg` ┌ Error: 2026-03-15 14:20:41 ProgramRunningError: Command Program: fail to run the main command. │ prerequisites = do_nothing (generic function with 3 methods) │ command_running = `julia --abcdefg` │ run_id = Base.UUID("bbab1609-5816-437c-b33a-f653328b4788") │ inputs = Dict{String, Any}() └ outputs = Dict{String, Any}() [ Info: 2026-03-15 14:20:43 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] x = Dict{String, Any}("optional_arg2" => 0.5, "input1" => :xxx, "optional_arg" => 5, "input2" => 33) y = Dict{String, Any}("output" => "iout") [ Info: 2026-03-15 14:20:43 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] [ Info: 2026-03-15 14:20:44 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] x = Dict{String, Any}("optional_arg2" => 0.5, "input1" => :xxx, "optional_arg" => 5, "input2" => 33) y = Dict{String, Any}("output" => "iout") [ Info: 2026-03-15 14:20:44 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] ┌ Info: 2026-03-15 14:20:45 Started: Command Program │ command_template = `echo input input2 optional_arg optional_arg2 output` │ run_id = Base.UUID("68dcdd33-f1da-5c3e-b079-2beaf8ab706c") │ inputs = Dict{String, Any} with 4 entries: … └ outputs = Dict{String, Any} with 1 entry: … in1 2 5 0.5 out ┌ Info: 2026-03-15 14:20:45 Finished: Command Program │ command_running = `echo in1 2 5 0.5 out` │ run_id = Base.UUID("68dcdd33-f1da-5c3e-b079-2beaf8ab706c") │ inputs = Dict{String, Any} with 4 entries: … └ outputs = Dict{String, Any} with 1 entry: … ┌ Info: 2026-03-15 14:20:46 Started: Julia Program │ run_id = Base.UUID("ad4fc668-d047-5d9e-adc4-833a3233db06") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => `in1` │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => "out" inputs are `in1` and 2 You can also use info in outputs: out The returned value will be assigned to a new outputs ┌ Info: 2026-03-15 14:20:46 Finished: Julia Program │ run_id = Base.UUID("ad4fc668-d047-5d9e-adc4-833a3233db06") │ inputs = │ Dict{String, Any} with 2 entries: │ "a" => `in1` │ "b" => 2 │ outputs = │ Dict{String, Any} with 1 entry: └ "c" => 4 ┌ Info: 2026-03-15 14:20:47 Started: Julia Program │ run_id = Base.UUID("9b612675-2bd1-530d-be7c-dcaba2011dea") │ inputs = │ Dict{String, Any} with 2 entries: │ "B" => 5 │ "A" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "OUT" => 8 inputs["A"] = 3 inputs = Dict{String, Any}("B" => 5, "A" => 3) inputs["A"] = 3 inputs["B"] = 5 inputs["OUT"] = 8 ┌ Info: 2026-03-15 14:20:47 Finished: Julia Program │ run_id = Base.UUID("9b612675-2bd1-530d-be7c-dcaba2011dea") │ inputs = │ Dict{String, Any} with 2 entries: │ "B" => 5 │ "A" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "OUT" => 8 ┌ Info: 2026-03-15 14:20:48 Started: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Finished: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Started: Test v0.9 Rerun │ run_id = Base.UUID("f7baa9ce-7c00-57aa-8642-5feffc4bf66d") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Finished: Test v0.9 Rerun │ run_id = Base.UUID("f7baa9ce-7c00-57aa-8642-5feffc4bf66d") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Started: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Finished: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Started: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" ┌ Info: 2026-03-15 14:20:48 Finished: Test v0.9 Rerun │ run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494") │ inputs = │ Dict{String, Any} with 2 entries: │ "infile" => "in.txt" │ "add" => 3 │ outputs = │ Dict{String, Any} with 1 entry: └ "outfile" => "in.txt.out" abc = 2 def = 33 ┌ Info: 2026-03-15 14:20:49 Started: Program Cmd │ run_id = Base.UUID("19c6cf58-7399-5de9-b63b-b9fa2ebdcdaa") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123 456` └ outputs = Dict{String, Any}() 123 456 ┌ Info: 2026-03-15 14:20:50 Finished: Program Cmd │ run_id = Base.UUID("19c6cf58-7399-5de9-b63b-b9fa2ebdcdaa") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123 456` └ outputs = Dict{String, Any}() ┌ Info: 2026-03-15 14:20:51 Started: Program Cmd │ run_id = Base.UUID("385ea24f-4095-5d80-952e-83b260f4b735") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => pipeline(`echo 123 456`, stdout>FileRedirect("123456.txt", fals… └ outputs = Dict{String, Any}() ┌ Info: 2026-03-15 14:20:51 Finished: Program Cmd │ run_id = Base.UUID("385ea24f-4095-5d80-952e-83b260f4b735") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => pipeline(`echo 123 456`, stdout>FileRedirect("123456.txt", fals… └ outputs = Dict{String, Any}() ┌ Info: 2026-03-15 14:20:52 Started: Program Cmd │ run_id = Base.UUID("0e6b94ea-76b0-554a-9b3a-4182587dad71") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123456.txt` └ outputs = Dict{String, Any}() 123456.txt ┌ Info: 2026-03-15 14:20:52 Finished: Program Cmd │ run_id = Base.UUID("0e6b94ea-76b0-554a-9b3a-4182587dad71") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123456.txt` └ outputs = Dict{String, Any}() ┌ Info: 2026-03-15 14:20:52 Started: Program Cmd │ run_id = Base.UUID("0f8ba2d4-0f03-5b67-8e6a-da02d716f5d2") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo -J=123456.txt,123.txt` └ outputs = Dict{String, Any}() -J=123456.txt,123.txt ┌ Info: 2026-03-15 14:20:52 Finished: Program Cmd │ run_id = Base.UUID("0f8ba2d4-0f03-5b67-8e6a-da02d716f5d2") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo -J=123456.txt,123.txt` └ outputs = Dict{String, Any}() ┌ Info: 2026-03-15 14:20:52 Started: Program Cmd │ run_id = Base.UUID("294b1c8f-35eb-577a-9b29-870fbbc86667") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123456.txt,123.txt` └ outputs = Dict{String, Any}() 123456.txt,123.txt ┌ Info: 2026-03-15 14:20:52 Finished: Program Cmd │ run_id = Base.UUID("294b1c8f-35eb-577a-9b29-870fbbc86667") │ inputs = │ Dict{String, Any} with 1 entry: │ "CMD" => `echo 123456.txt,123.txt` └ outputs = Dict{String, Any}() 123456.txt,123.txt stdout = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting))) stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting))) ┌ Info: 2026-03-15 14:20:54 Started: Command Program │ command_template = pipeline(`echo 123`, stdout>Base.FileRedirect("out2.txt", false)) │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = Dict{String, Any} with 2 entries: … └ outputs = Dict{String, Any} with 1 entry: … ┌ Info: 2026-03-15 14:20:54 Finished: Command Program │ command_running = pipeline(`echo 123`, stdout>Base.FileRedirect("out2.txt", false)) │ run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08") │ inputs = Dict{String, Any} with 2 entries: … └ outputs = Dict{String, Any} with 1 entry: … stdout = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting))) stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting))) Test Summary: | Pass Total Time test set | 170 170 1m05.3s Testing Pipelines tests passed Testing completed after 73.45s PkgEval succeeded after 118.81s