aboutsummaryrefslogtreecommitdiff
path: root/tests/test/script/runner/pipe.testscript
blob: cdd30a6bfdc329639ce004df871f4890077c76e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# file      : tests/test/script/runner/pipe.testscript
# 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
  :
  : Also verify that the command line is printed.
  :
  $c <'$* -o foo -s 1 | $* -i 1 -s 2 >foo' && $b --verbose 1 2>>/~%EOE% != 0
  %.
  %testscript:1:1: error: process .+ exited with code 1%
  %  info: command line: .+driver.* -o foo -s 1%
    info: test id: 1
  %.
  %testscript:1:1: error: process .+ exited with code 2%
  %  info: command line: .+driver.* -i 1 -s 2%
    info: stdout: test/1/stdout-c2
    info: test id: 1
  %.{2}
  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-c2
    info: expected stderr: test/1/stderr-c2.orig
    info: stderr diff: test/1/stderr-c2.diff
  %.{3}
  -baz
  +foo
    info: test id: 1
  EOE
}