Package evaluation to test Pipelines on Julia 1.10.10 (c8be17dcfd*) started at 2026-02-02T15:27:35.878
################################################################################
# Set-up
#
Installing PkgEval dependencies (TestEnv)...
Activating project at `~/.julia/environments/v1.10`
Set-up completed after 5.48s
################################################################################
# Installation
#
Installing Pipelines...
Resolving package versions...
Installed HashArrayMappedTries ─ v0.2.0
Installed ScopedValues ───────── v1.5.0
Installed OrderedCollections ─── v1.8.1
Installed Reexport ───────────── v1.2.2
Installed ScopedStreams ──────── v0.3.9
Installed Compat ─────────────── v4.18.1
Installed FilePathsBase ──────── v0.9.24
Installed Pipelines ──────────── v0.12.2
Updating `~/.julia/environments/v1.10/Project.toml`
[ef544631] + Pipelines v0.12.2
Updating `~/.julia/environments/v1.10/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
[ade2ca70] + Dates
[b77e0a4c] + InteractiveUtils
[56ddb016] + Logging
[d6f4376e] + Markdown
[de0858da] + Printf
[9a3f8284] + Random
[ea8e919c] + SHA v0.7.0
[fa267f1f] + TOML v1.0.3
[cf7118a7] + UUIDs
[4ec0a83e] + Unicode
Installation completed after 5.52s
################################################################################
# Precompilation
#
Precompiling PkgEval dependencies...
Precompiling packages...
1147.8 ms ✓ TestEnv
1 dependency successfully precompiled in 4 seconds
Precompiling package dependencies...
Precompiling packages...
832.2 ms ✓ Compat
896.4 ms ✓ OrderedCollections
545.6 ms ✓ Reexport
661.7 ms ✓ HashArrayMappedTries
1242.6 ms ✓ FilePathsBase
629.1 ms ✓ ScopedValues
2405.5 ms ✓ FilePathsBase → FilePathsBaseTestExt
3972.6 ms ✓ ScopedStreams
3072.1 ms ✓ ScopedStreams → SSTestExt
4355.1 ms ✓ Pipelines
10 dependencies successfully precompiled in 19 seconds. 1 already precompiled.
Precompilation completed after 29.11s
################################################################################
# Testing
#
Testing Pipelines
Status `/tmp/jl_j7HAgI/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
[56ddb016] Logging
[de0858da] Printf
[8dfed614] Test
[cf7118a7] UUIDs
Status `/tmp/jl_j7HAgI/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
[ade2ca70] Dates
[b77e0a4c] InteractiveUtils
[56ddb016] Logging
[d6f4376e] Markdown
[de0858da] Printf
[9a3f8284] Random
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization
[fa267f1f] TOML v1.0.3
[8dfed614] Test
[cf7118a7] UUIDs
[4ec0a83e] Unicode
Testing Running tests...
stdout = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting)))
stderr = ScopedStream(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-02-02 15:28:36 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version`
CmdDependency:
exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes -g1 --startup-file=no --pkgimages=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 -g1 --startup-file=no --pkgimages=no``/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes -g1 --startup-file=no --pkgimages=no`CmdDependency:
exec → `/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so --depwarn=yes --check-bounds=yes -g1 --startup-file=no --pkgimages=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 -g1 --startup-file=no --pkgimages=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 -g1 --startup-file=no --pkgimages=no`
[ Error: 2026-02-02 15:28:39 CmdDependencyError: invalid: `CmdDependencyExpectedNotToExist` `--version`
[ Info: FAIL Main.never_dep `CmdDependencyExpectedNotToExist`
[ Info: OK Main.p
[ Error: 2026-02-02 15:28:39 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 -g1 --startup-file=no --pkgimages=no`
[ Info: OK Main.p
[ Info: 2026-02-02 15:28:43 Started: Command Program [d73fdd2c-5c42-5aec-b1f5-bce033712730]
in1 2 5 0.5 out
[ Info: 2026-02-02 15:28:44 Finished: Command Program [d73fdd2c-5c42-5aec-b1f5-bce033712730]
[ Info: 2026-02-02 15:28:44 Started: Command Program [d73fdd2c-5c42-5aec-b1f5-bce033712730]
in1 2 5 0.5 out
[ Info: 2026-02-02 15:28:44 Finished: Command Program [d73fdd2c-5c42-5aec-b1f5-bce033712730]
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: 2026-02-02 15:28:49 Started: Julia Program [3fbac19c-88ef-594a-91a0-b2b0f1fe899d]
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-02-02 15:28:49 Finished: Julia Program [3fbac19c-88ef-594a-91a0-b2b0f1fe899d]
┌ Info: 2026-02-02 15:28:50 Started: Julia Program
│ run_id = UUID("68f72372-20dd-581a-827b-0be5661a4d8d")
│ 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: 2026-02-02 15:28:51 Finished: Julia Program
│ run_id = UUID("68f72372-20dd-581a-827b-0be5661a4d8d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 2
│ "a" => `in1`
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 4
┌ Info: 2026-02-02 15:28:52 Started: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => "10.6.5"
┌ Info: 2026-02-02 15:28:52 Finished: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 25
┌ Info: 2026-02-02 15:28:52 Started: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => "10.6.5"
┌ Info: 2026-02-02 15:28:52 Finished: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 25
┌ Info: 2026-02-02 15:28:52 Started: Julia Program
│ run_id = UUID("fd62179c-557b-5aff-b93e-de4b378eca8e")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 2
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => "10.6.2"
┌ Info: 2026-02-02 15:28:52 Finished: Julia Program
│ run_id = UUID("fd62179c-557b-5aff-b93e-de4b378eca8e")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 2
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 4
┌ Info: 2026-02-02 15:28:53 Started: Julia Program
│ run_id = UUID("116c3e13-a295-55d5-b45b-a1cd7204ed29")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 8.0
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => "8.0.5"
┌ Info: 2026-02-02 15:28:53 Finished: Julia Program
│ run_id = UUID("116c3e13-a295-55d5-b45b-a1cd7204ed29")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 8.0
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 25
test set: Error During Test at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:390
Test threw exception
Expression: (run(p, touch_run_id_file = false, stdout = "out.txt", stdlog = "log.txt"))[1]
UndefVarError: `logstate` not defined
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/ScopedValues/z27HA/src/ScopedValues.jl:221 [inlined]
[2] redirect_stream(f::Function, outfile::String, errfile::Nothing, logfile::String; mode::String)
@ ScopedStreams ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:161
[3] redirect_stream
@ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:147 [inlined]
[4] run(p::JuliaProgram; dir::String, retry::Int64, stdout::String, stderr::Nothing, stdlog::String, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{touch_run_id_file::Bool})
@ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298
[5] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:390 [inlined]
[6] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 [inlined]
[7] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:390 [inlined]
[8] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[9] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:392
Expression: read("out.txt", String) == "stdout> 10.6\n"
Evaluated: "" == "stdout> 10.6\n"
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:392 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:393
Expression: length(read("log.txt", String)) > 500
Evaluated: 0 > 500
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:393 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Error During Test at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:395
Test threw exception
Expression: (run(p, "a" => 6.6, touch_run_id_file = false, stderr = "err.txt", dir = working_dir))[1]
UndefVarError: `logstate` not defined
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/ScopedValues/z27HA/src/ScopedValues.jl:221 [inlined]
[2] redirect_stream(f::Function, outfile::Nothing, errfile::String, logfile::String; mode::String)
@ ScopedStreams ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:161
[3] redirect_stream
@ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:147 [inlined]
[4] run(p::JuliaProgram; dir::String, retry::Int64, stdout::Nothing, stderr::String, stdlog::String, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{inputs::Pair{String, Float64}, touch_run_id_file::Bool})
@ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298
[5] run
@ ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:272 [inlined]
[6] #run#28
@ ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:252 [inlined]
[7] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:395 [inlined]
[8] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 [inlined]
[9] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:395 [inlined]
[10] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[11] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Error During Test at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:401
Test threw exception
Expression: (run(p, "a" => 6.6, touch_run_id_file = false, stderr = "err.txt", dir = working_dir))[1]
UndefVarError: `logstate` not defined
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/ScopedValues/z27HA/src/ScopedValues.jl:221 [inlined]
[2] redirect_stream(f::Function, outfile::Nothing, errfile::String, logfile::String; mode::String)
@ ScopedStreams ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:161
[3] redirect_stream
@ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:147 [inlined]
[4] run(p::JuliaProgram; dir::String, retry::Int64, stdout::Nothing, stderr::String, stdlog::String, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{inputs::Pair{String, Float64}, touch_run_id_file::Bool})
@ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298
[5] run
@ ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:272 [inlined]
[6] #run#28
@ ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:252 [inlined]
[7] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:401 [inlined]
[8] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 [inlined]
[9] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:401 [inlined]
[10] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[11] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:405
Expression: !(isfile("err.txt"))
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:405 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
test set: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:407
Expression: length(read(expect_file, String)) > 500
Evaluated: 0 > 500
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:407 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
┌ Info: 2026-02-02 15:29:01 Started: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ 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: 2026-02-02 15:29:02 Finished: Julia Program
│ run_id = UUID("a0e80efd-935f-559d-8d8d-d1ec4799ad6d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 5
│ "a" => 10.6
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 25
stdout = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting)))
stderr = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting)))
[ Info: 2026-02-02 15:29:03 Started: Command Program [5bfa9ca1-6585-4a4e-80c9-2736b08b23a6]
ERROR: unknown option `--abcdefg`
┌ Error: 2026-02-02 15:29:03 ProgramRunningError: Command Program: fail to run the main command.
│ prerequisites = do_nothing (generic function with 3 methods)
│ command_running = `julia --abcdefg`
│ run_id = UUID("5bfa9ca1-6585-4a4e-80c9-2736b08b23a6")
│ 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:565 [inlined]
│ [2] run(::Cmd, ::Base.DevNull, ::Vararg{Any}; wait::Bool)
│ @ Base ./process.jl:480
│ [3] run(::Cmd, ::Base.DevNull, ::Base.PipeEndpoint, ::Base.PipeEndpoint)
│ @ Base ./process.jl:477
│ [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] (::Pipelines.var"#30#31"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram})()
│ @ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:303
│ [6] redirect_stream
│ @ ~/.julia/packages/ScopedStreams/MN2ka/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/5Y6rI/src/Program.jl:298
│ [8] macro expansion
│ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:439 [inlined]
│ [9] macro expansion
│ @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:767 [inlined]
│ [10] macro expansion
│ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:439 [inlined]
│ [11] macro expansion
│ @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
│ [12] top-level scope
│ @ ~/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:8
│ [13] include(fname::String)
│ @ Base.MainInclude ./client.jl:487
│ [14] top-level scope
│ @ none:6
│ [15] eval
│ @ ./boot.jl:385 [inlined]
│ [16] exec_options(opts::Base.JLOptions)
│ @ Base ./client.jl:289
│ [17] _start()
│ @ Base ./client.jl:550
└ @ 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-02-02 15:29:03 Started: Command Program [5bfa9ca1-6585-4a4e-80c9-2736b08b23a6]
ERROR: unknown option `--abcdefg`
┌ Error: 2026-02-02 15:29:03 ProgramRunningError: Command Program: fail to run the main command.
│ prerequisites = do_nothing (generic function with 3 methods)
│ command_running = `julia --abcdefg`
│ run_id = UUID("5bfa9ca1-6585-4a4e-80c9-2736b08b23a6")
│ inputs = Dict{String, Any}()
└ outputs = Dict{String, Any}()
[ Info: 2026-02-02 15:29:05 Started: Echo [a141cf0b-cc4e-57fc-b7ed-ba6dee9f0683]
x = Dict{String, Any}("optional_arg" => 5, "optional_arg2" => 0.5, "input2" => 33, "input1" => :xxx)
y = Dict{String, Any}("output" => "iout")
[ Info: 2026-02-02 15:29:05 Finished: Echo [a141cf0b-cc4e-57fc-b7ed-ba6dee9f0683]
[ Info: 2026-02-02 15:29:06 Started: Echo [a141cf0b-cc4e-57fc-b7ed-ba6dee9f0683]
x = Dict{String, Any}("optional_arg" => 5, "optional_arg2" => 0.5, "input2" => 33, "input1" => :xxx)
y = Dict{String, Any}("output" => "iout")
[ Info: 2026-02-02 15:29:06 Finished: Echo [a141cf0b-cc4e-57fc-b7ed-ba6dee9f0683]
┌ Info: 2026-02-02 15:29:07 Started: Command Program
│ command_template = `echo input input2 optional_arg optional_arg2 output`
│ run_id = UUID("d73fdd2c-5c42-5aec-b1f5-bce033712730")
│ inputs = Dict{String, Any} with 4 entries: …
└ outputs = Dict{String, Any} with 1 entry: …
in1 2 5 0.5 out
┌ Info: 2026-02-02 15:29:07 Finished: Command Program
│ command_running = `echo in1 2 5 0.5 out`
│ run_id = UUID("d73fdd2c-5c42-5aec-b1f5-bce033712730")
│ inputs = Dict{String, Any} with 4 entries: …
└ outputs = Dict{String, Any} with 1 entry: …
┌ Info: 2026-02-02 15:29:08 Started: Julia Program
│ run_id = UUID("3fbac19c-88ef-594a-91a0-b2b0f1fe899d")
│ 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: 2026-02-02 15:29:08 Finished: Julia Program
│ run_id = UUID("3fbac19c-88ef-594a-91a0-b2b0f1fe899d")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "b" => 2
│ "a" => `in1`
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "c" => 4
┌ Info: 2026-02-02 15:29:09 Started: Julia Program
│ run_id = UUID("4166314e-1eae-5081-b0f4-865c857000ff")
│ 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-02-02 15:29:09 Finished: Julia Program
│ run_id = UUID("4166314e-1eae-5081-b0f4-865c857000ff")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "B" => 5
│ "A" => 3
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "OUT" => 8
┌ Info: 2026-02-02 15:29:09 Started: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 3
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Finished: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 3
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Started: Test v0.9 Rerun
│ run_id = UUID("b1f38872-73a6-53d4-8cf1-700e4a15d8b0")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 5
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Finished: Test v0.9 Rerun
│ run_id = UUID("b1f38872-73a6-53d4-8cf1-700e4a15d8b0")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 5
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Started: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 3
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Finished: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 3
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Started: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ inputs =
│ Dict{String, Any} with 2 entries:
│ "add" => 3
│ "infile" => "in.txt"
│ outputs =
│ Dict{String, Any} with 1 entry:
└ "outfile" => "in.txt.out"
┌ Info: 2026-02-02 15:29:11 Finished: Test v0.9 Rerun
│ run_id = UUID("2177ddd3-1b88-5693-997a-afd6b404e58c")
│ 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: 2026-02-02 15:29:12 Started: Program Cmd
│ run_id = UUID("b6313cce-f3d9-50da-b53b-73e0886ee433")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123 456`
└ outputs = Dict{String, Any}()
123 456
┌ Info: 2026-02-02 15:29:12 Finished: Program Cmd
│ run_id = UUID("b6313cce-f3d9-50da-b53b-73e0886ee433")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123 456`
└ outputs = Dict{String, Any}()
┌ Info: 2026-02-02 15:29:13 Started: Program Cmd
│ run_id = UUID("9d44a59a-15fc-5707-b773-9c3c464d74d1")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => pipeline(`echo 123 456`, stdout>FileRedirect("123456.txt", fals…
└ outputs = Dict{String, Any}()
┌ Info: 2026-02-02 15:29:13 Finished: Program Cmd
│ run_id = UUID("9d44a59a-15fc-5707-b773-9c3c464d74d1")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => pipeline(`echo 123 456`, stdout>FileRedirect("123456.txt", fals…
└ outputs = Dict{String, Any}()
┌ Info: 2026-02-02 15:29:14 Started: Program Cmd
│ run_id = UUID("ccb87820-0bb1-5d02-8488-3b167b421716")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123456.txt`
└ outputs = Dict{String, Any}()
123456.txt
┌ Info: 2026-02-02 15:29:14 Finished: Program Cmd
│ run_id = UUID("ccb87820-0bb1-5d02-8488-3b167b421716")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123456.txt`
└ outputs = Dict{String, Any}()
┌ Info: 2026-02-02 15:29:14 Started: Program Cmd
│ run_id = UUID("f8c3a5f8-4fcc-5ae5-a0ad-18944229c09a")
│ 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-02-02 15:29:14 Finished: Program Cmd
│ run_id = UUID("f8c3a5f8-4fcc-5ae5-a0ad-18944229c09a")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo -J=123456.txt,123.txt`
└ outputs = Dict{String, Any}()
┌ Info: 2026-02-02 15:29:14 Started: Program Cmd
│ run_id = UUID("88682a3e-7c8e-508d-afe8-a43515a318a5")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123456.txt,123.txt`
└ outputs = Dict{String, Any}()
123456.txt,123.txt
┌ Info: 2026-02-02 15:29:14 Finished: Program Cmd
│ run_id = UUID("88682a3e-7c8e-508d-afe8-a43515a318a5")
│ inputs =
│ Dict{String, Any} with 1 entry:
│ "CMD" => `echo 123456.txt,123.txt`
└ outputs = Dict{String, Any}()
123456.txt,123.txt
stdout = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting)))
stderr = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting)))
redirect: Error During Test at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:23
Test threw exception
Expression: (run(p, touch_run_id_file = false, stdout = out_io, stderr = "err.txt", stdlog = "log.txt"))[1]
UndefVarError: `logstate` not defined
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/ScopedValues/z27HA/src/ScopedValues.jl:221 [inlined]
[2] redirect_stream(f::Function, outfile::IOStream, errfile::String, logfile::String; mode::String)
@ ScopedStreams ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:161
[3] redirect_stream
@ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:147 [inlined]
[4] run(p::CmdProgram; dir::String, retry::Int64, stdout::IOStream, stderr::String, stdlog::String, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{touch_run_id_file::Bool})
@ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298
[5] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:23 [inlined]
[6] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 [inlined]
[7] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:23 [inlined]
[8] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[9] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:6
redirect: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:27
Expression: read("out.txt", String) == "this is stdout 10.6 5\n"
Evaluated: "" == "this is stdout 10.6 5\n"
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:27 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:6
redirect: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:28
Expression: read("err.txt", String) == "[ Info: this is stderr\n"
Evaluated: "" == "[ Info: this is stderr\n"
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:28 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:6
redirect: Error During Test at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:44
Test threw exception
Expression: (run(p2, touch_run_id_file = false, stdout = stdout))[1]
UndefVarError: `logstate` not defined
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/ScopedValues/z27HA/src/ScopedValues.jl:221 [inlined]
[2] redirect_stream(f::Function, outfile::ScopedStream, errfile::Nothing, logfile::Nothing; mode::String)
@ ScopedStreams ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:161
[3] redirect_stream
@ ~/.julia/packages/ScopedStreams/MN2ka/src/ScopedStreams.jl:147 [inlined]
[4] run(p::CmdProgram; dir::String, retry::Int64, stdout::ScopedStream, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{touch_run_id_file::Bool})
@ Pipelines ~/.julia/packages/Pipelines/5Y6rI/src/Program.jl:298
[5] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:44 [inlined]
[6] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 [inlined]
[7] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:44 [inlined]
[8] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[9] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:6
redirect: Test Failed at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:45
Expression: isfile("out2.txt") && read("out2.txt", String) == "123\n"
Stacktrace:
[1] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:673 [inlined]
[2] macro expansion
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:45 [inlined]
[3] macro expansion
@ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1582 [inlined]
[4] top-level scope
@ ~/.julia/packages/Pipelines/5Y6rI/test/test_redirect.jl:6
stdout = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(12) open, 0 bytes waiting)))
stderr = ScopedStream(ScopedValues.ScopedValue{IO}(Base.PipeEndpoint(RawFD(14) open, 0 bytes waiting)))
Test Summary: | Pass Fail Error Total Time
test set | 158 7 5 170 52.6s
Arg | 21 21 3.5s
Arg forward | 4 4 1.8s
v0.8 | 7 7 4.4s
v0.9 rerun | 5 5 2.0s
v0.9 quote function dictreplace! | None 0.1s
v0.9.3 Possible files in Cmd also write to run_id_file | 10 10 3.3s
redirect | 3 3 2 8 1.6s
ERROR: LoadError: Some tests did not pass: 158 passed, 7 failed, 5 errored, 0 broken.
in expression starting at /home/pkgeval/.julia/packages/Pipelines/5Y6rI/test/runtests.jl:7
Testing failed after 57.68s
ERROR: LoadError: Package Pipelines errored during testing
Stacktrace:
[1] pkgerror(msg::String)
@ Pkg.Types /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Types.jl:70
[2] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)
@ Pkg.Operations /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2034
[3] test
@ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:1915 [inlined]
[4] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::Base.PipeEndpoint})
@ Pkg.API /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:444
[5] test(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.PipeEndpoint, kwargs::@Kwargs{julia_args::Cmd})
@ Pkg.API /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:159
[6] test
@ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:147 [inlined]
[7] #test#74
@ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:146 [inlined]
[8] top-level scope
@ /PkgEval.jl/scripts/evaluate.jl:223
in expression starting at /PkgEval.jl/scripts/evaluate.jl:214
PkgEval failed after 106.4s: package tests unexpectedly errored