Package evaluation to test Pipelines on Julia 1.14.0-DEV.1475 (42ad41c179*) started at 2026-01-04T13:53:02.710
################################################################################
# Set-up
#
Installing PkgEval dependencies (TestEnv)...
Activating project at `~/.julia/environments/v1.14`
Set-up completed after 10.4s
################################################################################
# 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.5.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.12s
################################################################################
# Precompilation
#
ERROR: LoadError: MethodError: no method matching setindex!(::Base.ScopedValues.ScopedValue{IO}, ::Nothing)
The function `setindex!` exists, but no method is defined for this combination of argument types.
Stacktrace:
[1] top-level scope
@ /PkgEval.jl/scripts/precompile.jl:10
[2] include(mod::Module, _path::String)
@ Base ./Base.jl:309
[3] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:344
[4] _start()
@ Base ./client.jl:585
in expression starting at /PkgEval.jl/scripts/precompile.jl:6
caused by: MethodError: no method matching setindex!(::Base.ScopedValues.ScopedValue{IO}, ::Base.DevNull)
The function `setindex!` exists, but no method is defined for this combination of argument types.
Stacktrace:
[1] top-level scope
@ /PkgEval.jl/scripts/precompile.jl:7
[2] include(mod::Module, _path::String)
@ Base ./Base.jl:309
[3] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:344
[4] _start()
@ Base ./client.jl:585
Precompilation failed after 13.01s
################################################################################
# Testing
#
Testing Pipelines
Status `/tmp/jl_ipVRZQ/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_ipVRZQ/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.5.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-01-04 13:54:20 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version`
CmdDependency:
exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=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 --pkgimages=existing -g1 --startup-file=no``/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --pkgimages=existing -g1 --startup-file=no`CmdDependency:
exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=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 --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 --pkgimages=existing -g1 --startup-file=no`
[ Error: 2026-01-04 13:54:26 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version`
[ Info: FAIL Main.never_dep `CmdDependencyExpectedNotToExist`
[ Info: OK Main.p
[ Error: 2026-01-04 13:54:26 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 --pkgimages=existing -g1 --startup-file=no`
[ Info: OK Main.p
[ Info: 2026-01-04 13:54:32 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
in1 2 5 0.5 out
[ Info: 2026-01-04 13:54:32 Finished: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
[ Info: 2026-01-04 13:54:33 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
in1 2 5 0.5 out
[ Info: 2026-01-04 13:54:33 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-01-04 13:54:38 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-01-04 13:54:38 Finished: Julia Program [ad4fc668-d047-5d9e-adc4-833a3233db06]
┌ Info: 2026-01-04 13:54:40 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-01-04 13:54:41 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-01-04 13:54:42 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-01-04 13:54:42 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-01-04 13:54:42 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-01-04 13:54:42 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-01-04 13:54:43 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-01-04 13:54:43 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-01-04 13:54:43 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-01-04 13:54:43 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-01-04 13:54:48 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-01-04 13:54:48 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-01-04 13:54:49 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788]
ERROR: unknown option `--abcdefg`
┌ Error: 2026-01-04 13:54:49 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:1995 [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:914 [inlined]
│ [14] macro expansion
│ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:439 [inlined]
│ [15] include(mapexpr::Function, mod::Module, _path::String)
│ @ Base ./Base.jl:310
│ [16] top-level scope
│ @ none:6
│ [17] eval(m::Module, e::Any)
│ @ Core ./boot.jl:489
│ [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-01-04 13:54:52 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788]
ERROR: unknown option `--abcdefg`
┌ Error: 2026-01-04 13:54:52 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-01-04 13:54:54 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-01-04 13:54:54 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
[ Info: 2026-01-04 13:54:54 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-01-04 13:54:54 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
┌ Info: 2026-01-04 13:54:55 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-01-04 13:54:55 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-01-04 13:54:57 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-01-04 13:54:57 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-01-04 13:54:58 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-01-04 13:54:58 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:54:59 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-01-04 13:55:00 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-01-04 13:55:00 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-01-04 13:55:01 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-01-04 13:55:01 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-01-04 13:55:02 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-01-04 13:55:02 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-01-04 13:55:02 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-01-04 13:55:02 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-01-04 13:55:02 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-01-04 13:55:02 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-01-04 13:55:04 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-01-04 13:55:04 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 1m00.8s
Testing Pipelines tests passed
Testing completed after 94.36s
PkgEval succeeded after 130.02s