aboutsummaryrefslogtreecommitdiff
path: root/tests/envop.at
diff options
context:
space:
mode:
Diffstat (limited to 'tests/envop.at')
-rw-r--r--tests/envop.at101
1 files changed, 101 insertions, 0 deletions
diff --git a/tests/envop.at b/tests/envop.at
new file mode 100644
index 0000000..6f634fb
--- /dev/null
+++ b/tests/envop.at
@@ -0,0 +1,101 @@
1# ENVTEST(name,kw,args,output)
2m4_pushdef([ENVTEST],
3[AT_SETUP([$1])
4AT_KEYWORDS([envop $2])
5AT_CHECK([envtest $3],
6[0],
7[$4])
8AT_CLEANUP
9])
10dnl #############################
11dnl Start tests
12dnl #############################
13
14AT_BANNER([Environment modification framework])
15
16ENVTEST([default environment],[defenv],[],
17[HOME="/home/user"
18LC_ALL="C"
19LC_CTYPE="C"
20LC_MESSAGES="C"
21LC_NUMERIC="C"
22LOGIN="user"
23PATH="/usr/local/bin:/usr/bin:/bin"
24PWD="/home"
25USER="user"
26])
27
28ENVTEST([clear],[clear],[-clear])
29
30ENVTEST([keep name],[keep],[-clear -keep HOME USER],
31[HOME="/home/user"
32USER="user"
33])
34
35ENVTEST([keep name=value],[keep],[-clear -keep USER=user],
36[USER="user"
37])
38
39ENVTEST([keep name=value (mismatch)],[keep],[-clear -keep USER=gray])
40
41ENVTEST([keep wildcard],[keep],[-clear -keep 'LC_*'],
42[LC_ALL="C"
43LC_CTYPE="C"
44LC_MESSAGES="C"
45LC_NUMERIC="C"
46])
47
48ENVTEST([keep wildcard (2)],[keep],[-clear -keep 'LC_*A*'],
49[LC_ALL="C"
50LC_MESSAGES="C"
51])
52
53ENVTEST([keep wildcard (mismatch)],[keep],[-clear -keep 'LC_*A*R'])
54
55ENVTEST([set],[set],[-set FOO=bar BAR=bar],
56[BAR="bar"
57FOO="bar"
58HOME="/home/user"
59LC_ALL="C"
60LC_CTYPE="C"
61LC_MESSAGES="C"
62LC_NUMERIC="C"
63LOGIN="user"
64PATH="/usr/local/bin:/usr/bin:/bin"
65PWD="/home"
66USER="user"
67])
68
69ENVTEST([set (variable expansion)],[set],[-set 'PATH=${PATH}${PATH:+:}$HOME'],
70[HOME="/home/user"
71LC_ALL="C"
72LC_CTYPE="C"
73LC_MESSAGES="C"
74LC_NUMERIC="C"
75LOGIN="user"
76PATH="/usr/local/bin:/usr/bin:/bin:/home/user"
77PWD="/home"
78USER="user"
79])
80
81ENVTEST([unset name],[unset],[-unset HOME],
82[LC_ALL="C"
83LC_CTYPE="C"
84LC_MESSAGES="C"
85LC_NUMERIC="C"
86LOGIN="user"
87PATH="/usr/local/bin:/usr/bin:/bin"
88PWD="/home"
89USER="user"
90])
91
92ENVTEST([unset wildcard],[unset],[-unset 'LC_*'],
93[HOME="/home/user"
94LOGIN="user"
95PATH="/usr/local/bin:/usr/bin:/bin"
96PWD="/home"
97USER="user"
98])
99
100m4_popdef([ENVTEST])
101

Return to:

Send suggestions and report system problems to the System administrator.