about summary refs log tree commit diff
path: root/Test/V08zpty.ztst
blob: b0cbfa050d6971fd1a934097289a29781a6ee3ba (plain) (blame)
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
# zpty is required by tests of interactive modes of the shell itself.
# This tests some extra things.

%prep

  if ! zmodload zsh/zpty 2>/dev/null
  then
    ZTST_unimplemented="the zsh/zpty module is not available"
  elif [[ $OSTYPE = cygwin ]]; then
    ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
  fi

%test

  zpty cat cat
  zpty -w cat a line of text
  var=
  zpty -r cat var && print -r -- ${var%%$'\r\n'}
  zpty -d cat
0:zpty with a process that does not set up the terminal: internal write
>a line of text

  zpty cat cat
  print a line of text | zpty -w cat
  var=
  zpty -r cat var && print -r -- ${var%%$'\r\n'}
  zpty -d cat
0:zpty with a process that does not set up the terminal: write via stdin
>a line of text