envtest.t (9199c09a159c4e3e98c212d4eec1edc5252d9e33) envtest.t (2966d28c322dcfa4b9db2558da0b91839e7798b9)
1#!/bin/sh
2#
1#!/bin/sh
2#
3# Copyright (c) 2007-2008 Sean C. Farley <scf@FreeBSD.org>
3# Copyright (c) 2007 Sean C. Farley <scf@FreeBSD.org>
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer,
11# without modification, immediately at the beginning of the file.

--- 51 unchanged lines hidden (view full) ---

63 return
64}
65
66
67#
68# Regression tests
69#
70
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer,
11# without modification, immediately at the beginning of the file.

--- 51 unchanged lines hidden (view full) ---

63 return
64}
65
66
67#
68# Regression tests
69#
70
71# How NULL will be returned by program.
72readonly NULL="\*NULL\*"
73
74# Setup environment for tests.
75readonly BAR="bar"
76readonly NEWBAR="newbar"
77export FOO=${BAR}
78
79
80# Gets from environ.
81run_test -g FOO
82check_result "${FOO}"
83
71# Setup environment for tests.
72readonly BAR="bar"
73readonly NEWBAR="newbar"
74export FOO=${BAR}
75
76
77# Gets from environ.
78run_test -g FOO
79check_result "${FOO}"
80
84run_test -c 3 -g FOO
85check_result "${NULL}"
81run_test -c -g FOO
82check_result ""
86
87run_test -g FOOBAR
83
84run_test -g FOOBAR
88check_result "${NULL}"
85check_result ""
89
86
90run_test -c 3 -g FOOBAR
91check_result "${NULL}"
87run_test -c -g FOOBAR
88check_result ""
92
93run_test -G
89
90run_test -G
94check_result "${NULL}"
91check_result ""
95
96
92
93
97# Clear environ.
98run_test -c 1 -g FOO
99check_result "${NULL}"
100
101run_test -c 2 -g FOO
102check_result "${NULL}"
103
104run_test -c 3 -g FOO
105check_result "${NULL}"
106
107run_test -c 4 -g FOO
108check_result "${NULL}"
109
110
111# Clear environ and verify values do not return after a set.
112run_test -c 1 -g FOO -s FOO2 ${NEWBAR} 1 -g FOO -g FOO2
113check_result "${NULL} 0 0 ${NULL} ${NEWBAR}"
114
115run_test -c 2 -g FOO -s FOO2 ${NEWBAR} 1 -g FOO -g FOO2
116check_result "${NULL} 0 0 ${NULL} ${NEWBAR}"
117
118run_test -c 3 -g FOO -s FOO2 ${NEWBAR} 1 -g FOO -g FOO2
119check_result "${NULL} 0 0 ${NULL} ${NEWBAR}"
120
121run_test -c 4 -g FOO -s FOO2 ${NEWBAR} 1 -g FOO -g FOO2
122check_result "${NULL} 0 0 ${NULL} ${NEWBAR}"
123
124
125# Sets.
126run_test -s FOO ${NEWBAR} 0 -g FOO
127check_result "0 0 ${BAR}"
128
129run_test -s FOO ${NEWBAR} 1 -g FOO
130check_result "0 0 ${NEWBAR}"
131
94# Sets.
95run_test -s FOO ${NEWBAR} 0 -g FOO
96check_result "0 0 ${BAR}"
97
98run_test -s FOO ${NEWBAR} 1 -g FOO
99check_result "0 0 ${NEWBAR}"
100
132run_test -c 3 -s FOO ${NEWBAR} 0 -g FOO
101run_test -c -s FOO ${NEWBAR} 0 -g FOO
133check_result "0 0 ${NEWBAR}"
134
102check_result "0 0 ${NEWBAR}"
103
135run_test -c 3 -s FOO ${NEWBAR} 1 -g FOO
104run_test -c -s FOO ${NEWBAR} 1 -g FOO
136check_result "0 0 ${NEWBAR}"
137
138run_test -s "FOO=" ${NEWBAR} 1 -g FOO
139check_result "-1 22 ${BAR}"
140
141run_test -s "=FOO" ${NEWBAR} 1
142check_result "-1 22"
143

--- 4 unchanged lines hidden (view full) ---

148check_result "-1 22"
149
150run_test -S ${NEWBAR} 1
151check_result "-1 22"
152
153run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -g FOO
154check_result "0 0 0 0 ${BAR}"
155
105check_result "0 0 ${NEWBAR}"
106
107run_test -s "FOO=" ${NEWBAR} 1 -g FOO
108check_result "-1 22 ${BAR}"
109
110run_test -s "=FOO" ${NEWBAR} 1
111check_result "-1 22"
112

--- 4 unchanged lines hidden (view full) ---

117check_result "-1 22"
118
119run_test -S ${NEWBAR} 1
120check_result "-1 22"
121
122run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -g FOO
123check_result "0 0 0 0 ${BAR}"
124
156run_test -c 3 -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -g FOO
125run_test -c -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -g FOO
157check_result "0 0 0 0 ${BAR}"
158
159run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -s FOO ${NEWBAR} 1 -g FOO
160check_result "0 0 0 0 0 0 ${NEWBAR}"
161
162run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1\
163 -g FOO
164check_result "0 0 0 0 0 0 0 0 ${BAR}"
165
126check_result "0 0 0 0 ${BAR}"
127
128run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -s FOO ${NEWBAR} 1 -g FOO
129check_result "0 0 0 0 0 0 ${NEWBAR}"
130
131run_test -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1 -s FOO ${NEWBAR} 1 -s FOO ${BAR} 1\
132 -g FOO
133check_result "0 0 0 0 0 0 0 0 ${BAR}"
134
166run_test -c 3 -s FOO ${BAR} 1 -g FOO -c 3 -s FOO ${NEWBAR} 1 -g FOO
167check_result "0 0 ${BAR} 0 0 ${NEWBAR}"
168
135
169
170# Unsets.
171run_test -u FOO -g FOO
136# Unsets.
137run_test -u FOO -g FOO
172check_result "0 0 ${NULL}"
138check_result "0 0"
173
139
174run_test -c 3 -u FOO -g FOO
175check_result "0 0 ${NULL}"
140run_test -c -u FOO -g FOO
141check_result "0 0"
176
177run_test -U
178check_result "-1 22"
179
180run_test -u ""
181check_result "-1 22"
182
183run_test -u "=${BAR}"
184check_result "-1 22"
185
142
143run_test -U
144check_result "-1 22"
145
146run_test -u ""
147check_result "-1 22"
148
149run_test -u "=${BAR}"
150check_result "-1 22"
151
186run_test -c 3 -s FOO ${NEWBAR} 1 -g FOO -u FOO -g FOO
187check_result "0 0 ${NEWBAR} 0 0 ${NULL}"
152run_test -c -s FOO ${NEWBAR} 1 -g FOO -u FOO -g FOO
153check_result "0 0 ${NEWBAR} 0 0"
188
154
189run_test -c 3 -u FOO -s FOO ${BAR} 1 -g FOO -u FOO -g FOO -c 3 -u FOO\
190 -s FOO ${NEWBAR} 1 -g FOO
191check_result "0 0 0 0 ${BAR} 0 0 ${NULL} 0 0 0 0 ${NEWBAR}"
192
155
193
194# Puts.
195run_test -p FOO=${NEWBAR} -g FOO
196check_result "0 0 ${NEWBAR}"
197
156# Puts.
157run_test -p FOO=${NEWBAR} -g FOO
158check_result "0 0 ${NEWBAR}"
159
198run_test -c 3 -p FOO=${NEWBAR} -g FOO
160run_test -c -p FOO=${NEWBAR} -g FOO
199check_result "0 0 ${NEWBAR}"
200
201run_test -p FOO -g FOO
202check_result "-1 22 ${BAR}"
203
204run_test -p FOO=${BAR} -p FOO=${NEWBAR} -g FOO
205check_result "0 0 0 0 ${NEWBAR}"
206

--- 6 unchanged lines hidden (view full) ---

213run_test -p FOO=${BAR} -u FOO
214check_result "0 0 0 0"
215
216run_test -p FOO=${BAR} -s FOO ${NEWBAR} 1 -u FOO
217check_result "0 0 0 0 0 0"
218
219run_test -s FOO ${NEWBAR} 1 -p FOO=${BAR} -u FOO
220check_result "0 0 0 0 0 0"
161check_result "0 0 ${NEWBAR}"
162
163run_test -p FOO -g FOO
164check_result "-1 22 ${BAR}"
165
166run_test -p FOO=${BAR} -p FOO=${NEWBAR} -g FOO
167check_result "0 0 0 0 ${NEWBAR}"
168

--- 6 unchanged lines hidden (view full) ---

175run_test -p FOO=${BAR} -u FOO
176check_result "0 0 0 0"
177
178run_test -p FOO=${BAR} -s FOO ${NEWBAR} 1 -u FOO
179check_result "0 0 0 0 0 0"
180
181run_test -s FOO ${NEWBAR} 1 -p FOO=${BAR} -u FOO
182check_result "0 0 0 0 0 0"
221
222run_test -s FOO ${NEWBAR} 1 -p FOO=${BAR} -c 3 -g FOO -p FOO=${NEWBAR} -g FOO
223check_result "0 0 0 0 ${NULL} 0 0 ${NEWBAR}"
224
225run_test -c 3 -p FOO=${BAR} -g FOO -c 3 -p FOO=${NEWBAR} -g FOO
226check_result "0 0 ${BAR} 0 0 ${NEWBAR}"
227
228
229# environ replacements.
230run_test -r -g FOO -s FOO ${BAR} 1 -g FOO -u FOO -g FOO
231check_result "${BAR} 0 0 ${BAR} 0 0 ${NULL}"
232
233run_test -r -g FOO -u FOO -g FOO -s FOO ${BAR} 1 -g FOO
234check_result "${BAR} 0 0 ${NULL} 0 0 ${BAR}"
235
236
237# corruption (blanking) of environ members.
238export BLANK_ME=
239export AFTER_BLANK=blanked
240run_test -b BLANK_ME -p MORE=vars -g FOO -g BLANK_ME -g AFTER_BLANK
241check_result "0 0 ${FOO} ${NULL} ${AFTER_BLANK}"
242
243run_test -b BLANK_ME -u FOO -g FOO -g AFTER_BLANK
244check_result "0 0 ${NULL} ${AFTER_BLANK}"
245
246export BLANK_ME2=
247export AFTER_BLANKS=blankD
248run_test -b BLANK_ME -b AFTER_BLANK -b BLANK_ME2 -g FOO -g AFTER_BLANKS
249check_result "${FOO} ${AFTER_BLANKS}"