File: example.return2

package info (click to toggle)
shellia 5.10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 792 kB
  • sloc: sh: 7,840; makefile: 34
file content (145 lines) | stat: -rwxr-xr-x 3,399 bytes parent folder | download | duplicates (4)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/sh
# vim: set filetype=sh :
#        file: example.chk_errors
#   copyright: Bernd Schumacher <bernd.schumacher@hpe.com> (2007-2020)
#     license: GNU General Public License, version 3
# description: test handling of error output
#    see also: test.chk_errors

#set -e # this line can not be used, because we really want to test errors
set -u

. ./ia

# fun1 without shellia
fun_no_ia()
{
  echo "msg1 on stdout"
  echo "msg2 on stderr" >&2
  return $1
  echo "msg3 never shown"
  echo "msg4 never shown" >&2
}

fun_ia_c()
{
  eval "$ia_init"
  ia_stdout "^"
  ia_add "echo \"msg1 on stdout\""
  ia_stdout "^"
  ia_add "echo \"msg2 on stderr\" >&2"
  ia_stdout "^"
  ia_add "return $1"
  ia_stdout "^"
  ia_add "echo \"msg3 never shown\""
  ia_stdout "^"
  ia_add "echo \"msg4 never shown\" >&2"
  ia -c
}

fun_ia_c_nocheck()
{
  eval "$ia_init"
  ia_nocheck
  ia_add "echo \"msg1 on stdout\""
  ia_nocheck
  ia_add "echo \"msg2 on stderr\" >&2"
  ia_nocheck -f
  ia_add "return $1"
  ia_nocheck
  ia_add "echo \"msg3 never shown\""
  ia_nocheck
  ia_add "echo \"msg4 never shown\" >&2"
  ia -c
}

fun_ia_C()
{
  eval "$ia_init"
  ia_add "echo \"msg1 on stdout\""
  ia_ignore "^"
  ia_add "echo \"msg2 on stderr\" >&2"
  ia_ignore "^"
  ia_add "return $1"
  ia_add "echo \"msg3 never shown\""
  ia_ignore "^"
  ia_add "echo \"msg4 never shown\" >&2"
  ia -C
}

fun_ia_C_nocheck()
{
  eval "$ia_init"
  ia_nocheck
  ia_add "echo \"msg1 on stdout\""
  ia_nocheck
  ia_add "echo \"msg2 on stderr\" >&2"
  ia_nocheck -f
  ia_add "return $1"
  ia_nocheck
  ia_add "echo \"msg3 never shown\""
  ia_nocheck
  ia_add "echo \"msg4 never shown\" >&2"
  ia -C
}

# save beginning args, to run tests multiple time from beginning
args=""
for i in "$@"; do
  args="$args \"$i\""
done


eval "set -- $args"; unset ia_head ia_array ia_todo # restore_beginning
echo "=== no_ia ==="
fun_no_ia 42       ; echo "?=$?"
fun_ia_c 43        ; echo "?=$?"
fun_ia_c_nocheck 44; echo "?=$?"


eval "set -- $args"; unset ia_head ia_array ia_todo # restore_beginning
echo "=== ia_stdout ia -c ==="
eval "$ia_init"
ia_stdout "^"; ia_add "fun_no_ia 42"
ia_stdout "^"; ia_add "fun_ia_c <-i> 43"
ia_stdout "^"; ia_add "fun_ia_c_nocheck <-i> 44"
ia_stdout "^"; ia_add "fun_ia_C <-i> 45"
ia_stdout "^"; ia_add "fun_ia_C_nocheck <-i> 46"
ia -c
echo "?=$?"


eval "set -- $args"; unset ia_head ia_array ia_todo # restore_beginning
echo "=== ia_nocheck ia -c ==="
eval "$ia_init"
ia_nocheck -f; ia_add "fun_no_ia 42"
ia_nocheck -f; ia_add "fun_ia_c <-i> 43"
ia_nocheck -f; ia_add "fun_ia_c_nocheck <-i> 44"
ia_nocheck -f; ia_add "fun_ia_C <-i> 45"
ia_nocheck -f; ia_add "fun_ia_C_nocheck <-i> 46"
ia -c
echo "?=$?"


eval "set -- $args"; unset ia_head ia_array ia_todo # restore_beginning
echo "=== ia_ignore ia -C ==="
eval "$ia_init"
ia_ignore "^"; ia_add "fun_no_ia 42"
ia_ignore "^"; ia_add "fun_ia_c <-i> 43"
ia_ignore "^"; ia_add "fun_ia_c_nocheck <-i> 44"
ia_ignore "^"; ia_add "fun_ia_C <-i> 45"
ia_ignore "^"; ia_add "fun_ia_C_nocheck <-i> 46"
ia -C
echo "?=$?"


eval "set -- $args"; unset ia_head ia_array ia_todo # restore_beginning
echo "=== ia_nocheck ia -C ==="
eval "$ia_init"
ia_nocheck -f; ia_add "fun_no_ia 42"
ia_nocheck -f; ia_add "fun_ia_c <-i> 43"
ia_nocheck -f; ia_add "fun_ia_c_nocheck <-i> 44"
ia_nocheck -f; ia_add "fun_ia_C <-i> 45"
ia_nocheck -f; ia_add "fun_ia_C_nocheck <-i> 46"
ia -C
echo "?=$?"