Package evaluation of Pipelines on Julia 1.13.0-DEV.888 (0e1aa6c7eb*) started at 2025-07-22T12:41:25.569 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.4s ################################################################################ # Installation # Installing Pipelines... Resolving package versions... Updating `~/.julia/environments/v1.13/Project.toml` [ef544631] + Pipelines v0.11.1 Updating `~/.julia/environments/v1.13/Manifest.toml` [34da2185] + Compat v4.17.0 [48062228] + FilePathsBase v0.9.24 [bac558e1] + OrderedCollections v1.8.1 [ef544631] + Pipelines v0.11.1 [189a3867] + Reexport v1.2.2 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.12.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 [f489334b] + StyledStrings v1.11.0 [fa267f1f] + TOML v1.0.3 [8dfed614] + Test v1.11.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 Installation completed after 1.11s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 18.1s ################################################################################ # Testing # Testing Pipelines Status `/tmp/jl_5fssfp/Project.toml` [48062228] FilePathsBase v0.9.24 [bac558e1] OrderedCollections v1.8.1 [ef544631] Pipelines v0.11.1 [189a3867] Reexport v1.2.2 [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_5fssfp/Manifest.toml` [34da2185] Compat v4.17.0 [48062228] FilePathsBase v0.9.24 [bac558e1] OrderedCollections v1.8.1 [ef544631] Pipelines v0.11.1 [189a3867] Reexport v1.2.2 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.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 [f489334b] StyledStrings 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... 0-element Vector{Arg}. 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 → #12 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: 2025-07-22 12:42:33 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-07-22 12:42:38 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: … in1 2 5 0.5 out ┌ Warning: A stack trace will show: └ @ Main ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:96 ArgumentError: Program requires 'optional_arg', but it is not provided. Stacktrace: [1] arg_completion(args::Vector{Arg}, xxputs::Dict{String, Any}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:147 [2] xxputs_completion_and_check(p::CmdProgram, inputs::Dict{String, Any}, outputs::Dict{String, Any}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:223 [3] _run(p::CmdProgram; inputs::Dict{String, Any}, outputs::Dict{String, Any}, skip_when_done::Bool, check_dependencies::Bool, verbose::Bool, touch_run_id_file::Bool, dry_run::Bool, dir::String, _do_xxputs_completion_and_check::Bool) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/CmdProgram.jl:189 [4] (::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{inputs::Dict{String, Any}, skip_when_done::Bool, verbose::Bool, touch_run_id_file::Bool}, CmdProgram})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:0 [5] try_function(f::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{inputs::Dict{String, Any}, skip_when_done::Bool, verbose::Bool, touch_run_id_file::Bool}, CmdProgram}, ::Nothing) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:151 [6] #redirect_to_files#6 @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:223 [inlined] [7] redirect_to_files @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:200 [inlined] [8] run(p::CmdProgram; dir::String, retry::Int64, stdout::Nothing, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{inputs::Dict{String, Any}, skip_when_done::Bool, verbose::Bool, touch_run_id_file::Bool}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:297 [9] run @ ~/.julia/packages/Pipelines/CkayS/src/Program.jl:272 [inlined] [10] #run#33 @ ~/.julia/packages/Pipelines/CkayS/src/Program.jl:252 [inlined] [11] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [12] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [13] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:97 [inlined] [14] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:738 [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:286 [19] _start() @ Base ./client.jl:553 ┌ Info: 2025-07-22 12:42:47 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: 2025-07-22 12:42:48 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: 2025-07-22 12:42:48 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: 2025-07-22 12:42:48 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: 2025-07-22 12:42:49 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: 2025-07-22 12:42:49 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: 2025-07-22 12:42:50 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: 2025-07-22 12:42:50 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: 2025-07-22 12:42:50 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: 2025-07-22 12:42:50 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: 2025-07-22 12:42:51 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: 2025-07-22 12:42:51 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 IOError: could not spawn `julia -e '@info "this is stderr"'`: no such file or directory (ENOENT) Stacktrace: [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Memory{Union{RawFD, Base.SyncCloseFD, IO}}) @ Base ./process.jl:140 [2] _spawn(cmd::Cmd, stdios::Memory{Union{RawFD, Base.SyncCloseFD, IO}}, chain::Base.ProcessChain) @ Base ./process.jl:221 [3] _spawn(cmds::Base.AndCmds, stdios::Memory{Union{RawFD, Base.SyncCloseFD, IO}}, chain::Base.ProcessChain) @ Base ./process.jl:215 [4] _spawn @ ./process.jl:162 [inlined] [5] #_spawn##0 @ ./process.jl:149 [inlined] [6] setup_stdios(f::Base.var"#_spawn##0#_spawn##1"{Base.AndCmds}, stdios::Vector{Union{RawFD, Base.FileRedirect, IO}}) @ Base ./process.jl:236 [7] _spawn @ ./process.jl:148 [inlined] [8] run(::Base.AndCmds; wait::Bool) @ Base ./process.jl:516 [9] run(::Base.AndCmds) @ Base ./process.jl:514 [10] _run(p::CmdProgram; inputs::Dict{String, Any}, outputs::Dict{String, Any}, skip_when_done::Bool, check_dependencies::Bool, verbose::Bool, touch_run_id_file::Bool, dry_run::Bool, dir::String, _do_xxputs_completion_and_check::Bool) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/CmdProgram.jl:264 [11] (::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{touch_run_id_file::Bool}, CmdProgram})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:0 [12] (::Main.Pipelines.var"#try_function##0#try_function##1"{Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{touch_run_id_file::Bool}, CmdProgram}, IOStream})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:141 [13] with_logstate(f::Main.Pipelines.var"#try_function##0#try_function##1"{Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{touch_run_id_file::Bool}, CmdProgram}, IOStream}, logstate::Base.CoreLogging.LogState) @ Base.CoreLogging ./logging/logging.jl:540 [14] with_logger(f::Function, logger::Base.CoreLogging.SimpleLogger) @ Base.CoreLogging ./logging/logging.jl:651 [15] try_function @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:139 [inlined] [16] redirect_to_files(f::Function, outfile::IOStream, errfile::String, logfile::String; mode::String) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:223 [17] redirect_to_files @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:200 [inlined] [18] 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}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:297 [19] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [21] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:288 [inlined] [22] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:738 [inlined] [23] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:288 [inlined] [24] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [25] top-level scope @ none:6 [26] eval(m::Module, e::Any) @ Core ./boot.jl:489 [27] exec_options(opts::Base.JLOptions) @ Base ./client.jl:286 [28] _start() @ Base ./client.jl:553 test set: Error During Test at /home/pkgeval/.julia/packages/Pipelines/CkayS/test/runtests.jl:288 Test threw exception Expression: (run(p, touch_run_id_file = false, stdout = out_io, stderr = "err.txt", stdlog = "log.txt"))[1] MethodError: no method matching getindex(::Main.Pipelines.StackTraceVector, ::Int64) The function `getindex` exists, but no method is defined for this combination of argument types. Stacktrace: [1] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [2] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [3] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:288 [inlined] [4] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:738 [inlined] [5] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:288 [inlined] test set: Test Failed at /home/pkgeval/.julia/packages/Pipelines/CkayS/test/runtests.jl:293 Expression: read("err.txt", String) == "[ Info: this is stderr\n" Evaluated: "" == "[ Info: this is stderr\n" Stacktrace: [1] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [2] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [3] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:293 [inlined] [4] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:741 [inlined] ┌ Warning: A ProgramRunningError should show below └ @ Main ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:304 [ Info: 2025-07-22 12:43:07 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788] ┌ Error: 2025-07-22 12:43:07 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}() IOError: could not spawn `julia --abcdefg`: no such file or directory (ENOENT) Stacktrace: [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Memory{Union{RawFD, Base.SyncCloseFD, IO}}) @ Base ./process.jl:140 [2] _spawn @ ./process.jl:157 [inlined] [3] #_spawn##0 @ ./process.jl:149 [inlined] [4] setup_stdios(f::Base.var"#_spawn##0#_spawn##1"{Cmd}, stdios::Vector{Union{RawFD, Base.FileRedirect, IO}}) @ Base ./process.jl:236 [5] _spawn @ ./process.jl:148 [inlined] [6] run(::Cmd; wait::Bool) @ Base ./process.jl:516 [7] run(::Cmd) @ Base ./process.jl:514 [8] _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) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/CmdProgram.jl:264 [9] (::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:0 [10] try_function(f::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram}, ::Nothing) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:151 [11] #redirect_to_files#6 @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:223 [inlined] [12] redirect_to_files @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:200 [inlined] [13] run(p::CmdProgram; dir::String, retry::Int64, stdout::Nothing, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{verbose::Symbol}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:297 [14] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [15] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [16] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:305 [inlined] [17] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [18] top-level scope @ none:6 [19] eval(m::Module, e::Any) @ Core ./boot.jl:489 [20] exec_options(opts::Base.JLOptions) @ Base ./client.jl:286 [21] _start() @ Base ./client.jl:553 ┌ Warning: Retry Command Program (1/1) └ @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:299 [ Info: 2025-07-22 12:43:07 Started: Command Program [bbab1609-5816-437c-b33a-f653328b4788] ┌ Error: 2025-07-22 12:43:07 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}() IOError: could not spawn `julia --abcdefg`: no such file or directory (ENOENT) Stacktrace: [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Memory{Union{RawFD, Base.SyncCloseFD, IO}}) @ Base ./process.jl:140 [2] _spawn @ ./process.jl:157 [inlined] [3] #_spawn##0 @ ./process.jl:149 [inlined] [4] setup_stdios(f::Base.var"#_spawn##0#_spawn##1"{Cmd}, stdios::Vector{Union{RawFD, Base.FileRedirect, IO}}) @ Base ./process.jl:236 [5] _spawn @ ./process.jl:148 [inlined] [6] run(::Cmd; wait::Bool) @ Base ./process.jl:516 [7] run(::Cmd) @ Base ./process.jl:514 [8] _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) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/CmdProgram.jl:264 [9] (::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:0 [10] try_function(f::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, CmdProgram}, ::Nothing) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:151 [11] #redirect_to_files#6 @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:223 [inlined] [12] redirect_to_files @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:200 [inlined] [13] run(p::CmdProgram; dir::String, retry::Int64, stdout::Nothing, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{verbose::Symbol}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:297 [14] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [15] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [16] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:305 [inlined] [17] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [18] top-level scope @ none:6 [19] eval(m::Module, e::Any) @ Core ./boot.jl:489 [20] exec_options(opts::Base.JLOptions) @ Base ./client.jl:286 [21] _start() @ Base ./client.jl:553 ┌ Warning: A ProgramRunningError should show below └ @ Main ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:308 [ Info: 2025-07-22 12:43:08 Started: Julia Program [bbab1609-5816-437c-b33a-f653328b4788] ┌ Error: 2025-07-22 12:43:08 ProgramRunningError: Julia Program: fail to run the main function. │ run_id = Base.UUID("bbab1609-5816-437c-b33a-f653328b4788") │ inputs = Dict{String, Any}() └ outputs = Dict{String, Any}() x not exist, so created Stacktrace: [1] error(s::String) @ Base ./error.jl:44 [2] (::var"#32#33")(x::Dict{String, Any}, y::Dict{String, Any}) @ Main ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:314 [3] _run(p::JuliaProgram; 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) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/JuliaProgram.jl:264 [4] (::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, JuliaProgram})() @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:0 [5] try_function(f::Main.Pipelines.var"#36#37"{Int64, Bool, @Kwargs{verbose::Symbol}, JuliaProgram}, ::Nothing) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:151 [6] #redirect_to_files#6 @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:223 [inlined] [7] redirect_to_files @ ~/.julia/packages/Pipelines/CkayS/src/redirection.jl:200 [inlined] [8] run(p::JuliaProgram; dir::String, retry::Int64, stdout::Nothing, stderr::Nothing, stdlog::Nothing, append::Bool, _do_parse_program_args::Bool, kwarg::@Kwargs{verbose::Symbol}) @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:297 [9] top-level scope @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:9 [10] macro expansion @ /opt/julia/share/julia/stdlib/v1.13/Test/src/Test.jl:1858 [inlined] [11] macro expansion @ ~/.julia/packages/Pipelines/CkayS/test/runtests.jl:320 [inlined] [12] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [13] top-level scope @ none:6 [14] eval(m::Module, e::Any) @ Core ./boot.jl:489 [15] exec_options(opts::Base.JLOptions) @ Base ./client.jl:286 [16] _start() @ Base ./client.jl:553 ┌ Warning: Retry Julia Program (1/1) └ @ Main.Pipelines ~/.julia/packages/Pipelines/CkayS/src/Program.jl:299 [ Info: 2025-07-22 12:43:08 Started: Julia Program [bbab1609-5816-437c-b33a-f653328b4788] [ Info: 2025-07-22 12:43:09 Finished: Julia Program [bbab1609-5816-437c-b33a-f653328b4788] [ Info: 2025-07-22 12:43:11 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] x = Dict{String, Any}("optional_arg2" => 0.5, "input1" => :xxx, "input2" => 33, "optional_arg" => 5) y = Dict{String, Any}("output" => "iout") [ Info: 2025-07-22 12:43:11 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] [ Info: 2025-07-22 12:43:11 Started: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] x = Dict{String, Any}("optional_arg2" => 0.5, "input1" => :xxx, "input2" => 33, "optional_arg" => 5) y = Dict{String, Any}("output" => "iout") [ Info: 2025-07-22 12:43:11 Finished: Echo [3d8bb310-e46a-5e8f-a0b1-414bd3e957dd] ┌ Info: 2025-07-22 12:43:13 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-07-22 12:43:13 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-07-22 12:43:14 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: 2025-07-22 12:43:14 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: 2025-07-22 12:43:15 Started: Julia Program │ run_id = Base.UUID("9b612675-2bd1-530d-be7c-dcaba2011dea") │ inputs = │ Dict{String, Any} with 2 entries: │ "A" => 3 │ "B" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "OUT" => 8 inputs["A"] = 3 inputs = Dict{String, Any}("A" => 3, "B" => 5) inputs["A"] = 3 inputs["B"] = 5 inputs["OUT"] = 8 ┌ Info: 2025-07-22 12:43:15 Finished: Julia Program │ run_id = Base.UUID("9b612675-2bd1-530d-be7c-dcaba2011dea") │ inputs = │ Dict{String, Any} with 2 entries: │ "A" => 3 │ "B" => 5 │ outputs = │ Dict{String, Any} with 1 entry: └ "OUT" => 8 ┌ Info: 2025-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:16 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-07-22 12:43:18 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-07-22 12:43:18 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-07-22 12:43:19 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-07-22 12:43:19 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-07-22 12:43:20 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-07-22 12:43:20 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-07-22 12:43:20 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-07-22 12:43:20 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-07-22 12:43:20 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-07-22 12:43:20 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 Test Summary: | Pass Fail Error Total Time test set | 73 1 1 75 1m14.1s Arg | 20 20 4.7s Arg forward | 4 4 4.1s v0.8 | 7 7 5.8s v0.9 rerun | 5 5 1.1s v0.9 quote function dictreplace! | 0 0.1s v0.9.3 Possible files in Cmd also write to run_id_file | 10 10 3.6s RNG of the outermost testset: Random.Xoshiro(0x54679b25b8be30eb, 0x7d1c4f497f970d18, 0xb9b46a82e5658176, 0xc9f520d56254f575, 0xf1f6836662d195b4) ERROR: LoadError: Some tests did not pass: 73 passed, 1 failed, 1 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/Pipelines/CkayS/test/runtests.jl:7 Testing failed after 85.68s ERROR: LoadError: Package Pipelines errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.13/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{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.13/Pkg/src/Operations.jl:2661 [3] test @ /opt/julia/share/julia/stdlib/v1.13/Pkg/src/Operations.jl:2510 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{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::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.13/Pkg/src/API.jl:538 [5] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.13/Pkg/src/API.jl:168 [6] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.13/Pkg/src/API.jl:156 [7] test @ /opt/julia/share/julia/stdlib/v1.13/Pkg/src/API.jl:156 [inlined] [8] #test#81 @ /opt/julia/share/julia/stdlib/v1.13/Pkg/src/API.jl:155 [inlined] [9] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:219 [10] include(mod::Module, _path::String) @ Base ./Base.jl:309 [11] exec_options(opts::Base.JLOptions) @ Base ./client.jl:320 [12] _start() @ Base ./client.jl:553 in expression starting at /PkgEval.jl/scripts/evaluate.jl:210 PkgEval failed after 129.06s: package tests unexpectedly errored