Package evaluation to test Pipelines on Julia 1.11.7 (58327cce5e*) started at 2025-10-28T17:00:14.981
################################################################################
# Set-up
#
Installing PkgEval dependencies (TestEnv)...
Set-up completed after 8.58s
################################################################################
# Installation
#
Installing Pipelines...
   Resolving package versions...
    Updating `~/.julia/environments/v1.11/Project.toml`
  [ef544631] + Pipelines v0.12.1
    Updating `~/.julia/environments/v1.11/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.1
  [189a3867] + Reexport v1.2.2
  [ae12ab41] + ScopedStreams v0.3.8
  [7e506255] + ScopedValues v1.5.0
  [2a0f44e3] + Base64 v1.11.0
  [ade2ca70] + Dates v1.11.0
  [b77e0a4c] + InteractiveUtils v1.11.0
  [56ddb016] + Logging v1.11.0
  [d6f4376e] + Markdown v1.11.0
  [de0858da] + Printf v1.11.0
  [9a3f8284] + Random v1.11.0
  [ea8e919c] + SHA v0.7.0
  [fa267f1f] + TOML v1.0.3
  [cf7118a7] + UUIDs v1.11.0
  [4ec0a83e] + Unicode v1.11.0
Installation completed after 1.79s
################################################################################
# Precompilation
#
Precompiling PkgEval dependencies...
Precompiling package dependencies...
Precompilation completed after 18.47s
################################################################################
# Testing
#
     Testing Pipelines
      Status `/tmp/jl_yGgQ9g/Project.toml`
  [48062228] FilePathsBase v0.9.24
  [bac558e1] OrderedCollections v1.8.1
  [ef544631] Pipelines v0.12.1
  [189a3867] Reexport v1.2.2
  [ae12ab41] ScopedStreams v0.3.8
  [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_yGgQ9g/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.1
  [189a3867] Reexport v1.2.2
  [ae12ab41] ScopedStreams v0.3.8
  [7e506255] ScopedValues v1.5.0
  [2a0f44e3] Base64 v1.11.0
  [ade2ca70] Dates v1.11.0
  [b77e0a4c] InteractiveUtils v1.11.0
  [56ddb016] Logging v1.11.0
  [d6f4376e] Markdown v1.11.0
  [de0858da] Printf v1.11.0
  [9a3f8284] Random v1.11.0
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization v1.11.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(14) open, 0 bytes waiting)))
stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(16) 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: 2025-10-28 17:01:11 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  → #4
  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  → #4
  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: 2025-10-28 17:01:18 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version`
[ Info:   FAIL  Main.never_dep  `CmdDependencyExpectedNotToExist`
[ Info:     OK  Main.p
[ Error: 2025-10-28 17:01:18 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: 2025-10-28 17:01:26 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
in1 2 5 0.5 out
[ Info: 2025-10-28 17:01:27 Finished: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
[ Info: 2025-10-28 17:01:27 Started: Command Program [68dcdd33-f1da-5c3e-b079-2beaf8ab706c]
in1 2 5 0.5 out
[ Info: 2025-10-28 17:01:27 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  → #15
  prerequisites    → #16
  cmd              → pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`)
  infer_outputs    → #17
  arg_outputs      → BAM :: Any (required)
  validate_outputs → #18
  wrap_up          → #19
  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  → #15
  prerequisites    → #16
  cmd              → pipeline(`bowtie2 -x REF -q FASTQ`, stdout=`samtools sort -O bam -o BAM`)
  infer_outputs    → #17
  arg_outputs      → BAM :: Any (required)
  validate_outputs → #18
  wrap_up          → #19
  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             → #28
  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             → #28
  infer_outputs    → do_nothing
  arg_outputs      → c :: Any (default = .)
  validate_outputs → do_nothing
  wrap_up          → do_nothing
  arg_forward      → 
[ Info: 2025-10-28 17:01:33 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: 2025-10-28 17:01:33 Finished: Julia Program [ad4fc668-d047-5d9e-adc4-833a3233db06]
┌ Info: 2025-10-28 17:01:35 Started: Julia Program
│   run_id = Base.UUID("7865e09b-75d5-5b6e-8322-eab5681c82b0")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => `in1`
│   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: 2025-10-28 17:01:36 Finished: Julia Program
│   run_id = Base.UUID("7865e09b-75d5-5b6e-8322-eab5681c82b0")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => `in1`
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 4
┌ Info: 2025-10-28 17:01:37 Started: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => "10.6.5"
┌ Info: 2025-10-28 17:01:37 Finished: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 25
┌ Info: 2025-10-28 17:01:37 Started: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => "10.6.5"
┌ Info: 2025-10-28 17:01:37 Finished: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 25
┌ Info: 2025-10-28 17:01:38 Started: Julia Program
│   run_id = Base.UUID("8ed41804-0a4a-5122-aa8c-e4ceec3d48c7")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => "10.6.2"
┌ Info: 2025-10-28 17:01:38 Finished: Julia Program
│   run_id = Base.UUID("8ed41804-0a4a-5122-aa8c-e4ceec3d48c7")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 4
┌ Info: 2025-10-28 17:01:39 Started: Julia Program
│   run_id = Base.UUID("57f77f0a-5d8c-529b-b5bc-197f24b712d6")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 8.0
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => "8.0.5"
┌ Info: 2025-10-28 17:01:39 Finished: Julia Program
│   run_id = Base.UUID("57f77f0a-5d8c-529b-b5bc-197f24b712d6")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 8.0
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 25
stderr> 5
stdout> 6.6
stdout> 6.6
┌ Info: 2025-10-28 17:01:42 Started: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   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: 2025-10-28 17:01:43 Finished: Julia Program
│   run_id = Base.UUID("d3d3e81a-f5dc-5d46-99c9-9f70fb79bf08")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 5
│      "a" => 10.6
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 25
stdout = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting)))
stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(16) open, 0 bytes waiting)))
[ Info: 2025-10-28 17:01:44 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788]
ERROR: unknown option `--abcdefg`
┌ Error: 2025-10-28 17:01:44 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:598 [inlined]
│      [2] run(::Cmd, ::Base.DevNull, ::Vararg{Any}; wait::Bool)
│        @ Base ./process.jl:513
│      [3] run(::Cmd, ::Base.DevNull, ::Base.PipeEndpoint, ::Base.PipeEndpoint)
│        @ Base ./process.jl:510
│      [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/ZBGWU/src/CmdProgram.jl:268
│      [5] (::Pipelines.var"#30#31"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram})()
│        @ Pipelines ~/.julia/packages/Pipelines/ZBGWU/src/Program.jl:303
│      [6] redirect_stream
│        @ ~/.julia/packages/ScopedStreams/VAruU/src/ScopedStreams.jl:194 [inlined]
│      [7] 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/ZBGWU/src/Program.jl:298
│      [8] macro expansion
│        @ ~/.julia/packages/Pipelines/ZBGWU/test/runtests.jl:439 [inlined]
│      [9] macro expansion
│        @ /opt/julia/share/julia/stdlib/v1.11/Test/src/Test.jl:774 [inlined]
│     [10] macro expansion
│        @ ~/.julia/packages/Pipelines/ZBGWU/test/runtests.jl:439 [inlined]
│     [11] macro expansion
│        @ /opt/julia/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
│     [12] top-level scope
│        @ ~/.julia/packages/Pipelines/ZBGWU/test/runtests.jl:8
│     [13] include(fname::String)
│        @ Main ./sysimg.jl:38
│     [14] top-level scope
│        @ none:6
│     [15] eval
│        @ ./boot.jl:430 [inlined]
│     [16] exec_options(opts::Base.JLOptions)
│        @ Base ./client.jl:289
│     [17] _start()
│        @ Base ./client.jl:524
└ @ Pipelines ~/.julia/packages/Pipelines/ZBGWU/src/Program.jl:313
┌ Warning: Retry Command Program (1/1)
└ @ Pipelines ~/.julia/packages/Pipelines/ZBGWU/src/Program.jl:300
[ Info: 2025-10-28 17:01:47 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788]
ERROR: unknown option `--abcdefg`
┌ Error: 2025-10-28 17:01:47 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: 2025-10-28 17:01:49 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
x = Dict{String, Any}("optional_arg" => 5, "optional_arg2" => 0.5, "input2" => 33, "input1" => :xxx)
y = Dict{String, Any}("output" => "iout")
[ Info: 2025-10-28 17:01:49 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
[ Info: 2025-10-28 17:01:50 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
x = Dict{String, Any}("optional_arg" => 5, "optional_arg2" => 0.5, "input2" => 33, "input1" => :xxx)
y = Dict{String, Any}("output" => "iout")
[ Info: 2025-10-28 17:01:50 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd]
┌ Info: 2025-10-28 17:01:52 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: 2025-10-28 17:01:52 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: 2025-10-28 17:01:53 Started: Julia Program
│   run_id = Base.UUID("ad4fc668-d047-5d9e-adc4-833a3233db06")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => `in1`
│   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: 2025-10-28 17:01:53 Finished: Julia Program
│   run_id = Base.UUID("ad4fc668-d047-5d9e-adc4-833a3233db06")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "b" => 2
│      "a" => `in1`
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "c" => 4
┌ Info: 2025-10-28 17:01:54 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: 2025-10-28 17:01:55 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: 2025-10-28 17:01:56 Started: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Finished: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Started: Test v0.9 Rerun
│   run_id = Base.UUID("f7baa9ce-7c00-57aa-8642-5feffc4bf66d")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 5
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Finished: Test v0.9 Rerun
│   run_id = Base.UUID("f7baa9ce-7c00-57aa-8642-5feffc4bf66d")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 5
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Started: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Finished: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Started: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
┌ Info: 2025-10-28 17:01:56 Finished: Test v0.9 Rerun
│   run_id = Base.UUID("bc7d51d5-e287-5818-8d24-996170d8b494")
│   inputs =
│    Dict{String, Any} with 2 entries:
│      "add"    => 3
│      "infile" => "in.txt"
│   outputs =
│    Dict{String, Any} with 1 entry:
└      "outfile" => "in.txt.out"
abc = 2
def = 33
┌ Info: 2025-10-28 17:01:57 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: 2025-10-28 17:01:57 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: 2025-10-28 17:01:59 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: 2025-10-28 17:01:59 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: 2025-10-28 17:02:00 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: 2025-10-28 17:02:00 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: 2025-10-28 17:02:00 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: 2025-10-28 17:02:00 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: 2025-10-28 17:02:00 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: 2025-10-28 17:02:00 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(14) open, 0 bytes waiting)))
stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(16) open, 0 bytes waiting)))
┌ Info: 2025-10-28 17:02:05 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: 2025-10-28 17:02:05 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(14) open, 0 bytes waiting)))
stderr = ScopedStream(Base.ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(16) open, 0 bytes waiting)))
Test Summary: | Pass  Total     Time
test set      |  170    170  1m12.6s
     Testing Pipelines tests passed 
Testing completed after 79.42s
PkgEval succeeded after 114.37s