source: trunk/essentials/app-shells/bash/tests/errors.tests@ 3506

Last change on this file since 3506 was 3228, checked in by bird, 19 years ago

bash 3.1

File size: 5.2 KB
Line 
1# These should all be safe
2LC_ALL=C
3LC_CTYPE=C
4LC_COLLATE=C
5LC_MESSAGES=C
6
7# these tests should all generate errors
8
9# make sure we don't exit prematurely
10set +e
11set +o posix
12
13# various alias/unalias errors
14
15# at some point, this may mean to `export' an alias, like ksh, but
16# for now it is an error
17alias -x foo=barz
18unalias -x fooaha
19alias hoowah
20unalias hoowah
21
22# the iteration variable must be a valid identifier
23for 1 in a b c; do echo $1; done
24
25# try to rebind a read-only function
26func()
27{
28 echo func
29}
30readonly -f func
31# make sure `readonly' and `declare' play well together
32declare -Fr
33func()
34{
35 echo bar
36}
37
38# bad option
39unset -x func
40
41# cannot unset readonly functions or variables
42unset -f func
43# or make them not readonly
44declare -fr func
45declare -f +r func
46
47XPATH=$PATH
48declare -r XPATH
49unset -v XPATH
50
51# cannot unset invalid identifiers
52unset /bin/sh
53
54# cannot unset function and variable at the same time
55unset -f -v SHELL
56
57# bad option
58declare -z
59# cannot declare invalid identifiers
60declare -- -z
61declare /bin/sh
62
63# this is the syntax used to export functions in the environment, but
64# it cannot be used with `declare'
65declare -f func='() { echo "this is func"; }'
66
67# bad option to exec -- this should not exit the script
68exec -i /bin/sh
69
70# try to export -f something that is not a function -- this should be
71# an error, not create an `invisible function'
72export -f XPATH
73
74# this depends on the setting of BREAK_COMPLAINS in config.h.in
75break
76continue
77
78# this should not exit the shell; it did in versions before 2.01
79shift label