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}" | |