summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/conftest54
1 files changed, 26 insertions, 28 deletions
diff --git a/test/conftest b/test/conftest
index e202e87..5b5a45c 100755
--- a/test/conftest
+++ b/test/conftest
@@ -3,35 +3,33 @@
3CONFIG_DIR=./configs 3CONFIG_DIR=./configs
4CONFIGS=`/usr/bin/find ${CONFIG_DIR} -type f -exec /usr/bin/grep -v -e ^\# -e ^$ {} \; -exec /bin/echo [] \; 2> /dev/null` 4CONFIGS=`/usr/bin/find ${CONFIG_DIR} -type f -exec /usr/bin/grep -v -e ^\# -e ^$ {} \; -exec /bin/echo [] \; 2> /dev/null`
5 5
6parse_lines() {
7 unset in_sect
8 while read line; do
9 case ${line## } in
10 \[*\]) v="${line#*[}"; v="${v%%]*}"
11 case $select in
12 ${v}) echo Starting our section "${select}" >&2
13 in_sect=true
14 ;;
15 *) [ "${in_sect}" ] && echo Ending our section "${select}" >&2
16 echo Start other section "${v}" >&2
17 unset in_sect
18 ;;
19 esac
20 ;;
21 env.*) echo "### ${line} ### ${in_sect} ###" >&2
22 [ "${in_sect}" ] || continue
23 echo Setting environment: ${line#*env.} >&2
24 _pref=${line#*env.}; _suf=${_pref#* }
25 printf "%s " ${_pref%% *}=\'${_suf}\'
26 ;;
27 *) echo Ignoring ${line} >&2
28 ;;
29 esac
30 done
31}
32
33select=blubber 6select=blubber
34_env=$( printf "%s\n" "${CONFIGS}" | parse_lines ) 7
8unset in_sect
9while read line; do
10 case ${line## } in
11 \[*\]) case [$select in
12 ${line%%]*}) echo Starting our section "${select}" >&2
13 in_sect=true
14 ;;
15 *) [ "${in_sect}" ] && echo Ending our section "${select}" >&2
16 echo Start other section "${line%%]*}" >&2
17 unset in_sect
18 ;;
19 esac
20 ;;
21 env.*) echo "### ${line} ### ${in_sect} ###" >&2
22 [ "${in_sect}" ] || continue
23 echo Setting environment: ${line#*env.} >&2
24 _pref=${line#*env.}; _suf=${_pref#* }
25 _env="${_env} ${_pref%% *}='${_suf}'"
26 ;;
27 *) echo Ignoring ${line} >&2
28 ;;
29 esac
30done <<EOF
31${CONFIGS}
32EOF
35 33
36printf "%s\n" "${_env}" 34printf "%s\n" "${_env}"
37eval env ${_env} printenv 35eval env ${_env} printenv