# file      : tests/test/script/runner/pipe.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

.include ../common.testscript

$c <'cat <foo | $* -i 1 >foo' && $b  : builtin-to-process
$c <'$* -o foo | cat >foo' && $b     : process-to-builtin


: failure
:
: Note that while both commands for the pipe are faulty the diagnostics for
: only the last one is printed.
:
{
  : exit-code
  :
  $c <'$* -o foo -s 1 | $* -i 1 >foo -s 2' && $b 2>>/~%EOE% != 0
  %testscript:1:1: error: .+ exit code 2 != 0%
    info: stdout: test/1/stdout-2
    info: test id: 1
  EOE

  : stderr
  :
  $c <'$* -o foo -e foo 2>bar | $* -i 2 2>baz' && $b 2>>/~%EOE% != 0
  %testscript:1:1: error: .+ stderr doesn't match expected%
    info: stderr: test/1/stderr-2
    info: expected stderr: test/1/stderr-2.orig
    info: stderr diff: test/1/stderr-2.diff
  %.{3}
  -baz
  +foo
    info: test id: 1
  EOE
}