setup-env.sh: make setup scripts work with set -u
- Add set -u to the setup-env.sh test script - Refactor lines in setup-env.sh that tested potentially undefined variables to use the `[ -z ${var+x} ]` construct
This commit is contained in:
parent
47e9f7aac9
commit
5686c2a544
@ -163,6 +163,9 @@ unuse() {
|
|||||||
# Make sure no environment is active
|
# Make sure no environment is active
|
||||||
unset SPACK_ENV
|
unset SPACK_ENV
|
||||||
|
|
||||||
|
# fail with undefined variables
|
||||||
|
set -u
|
||||||
|
|
||||||
# Source setup-env.sh before tests
|
# Source setup-env.sh before tests
|
||||||
. share/spack/setup-env.sh
|
. share/spack/setup-env.sh
|
||||||
|
|
||||||
|
@ -46,9 +46,12 @@ spack() {
|
|||||||
emulate -L sh
|
emulate -L sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# accumulate initial flags for main spack command
|
# accumulate flags meant for the main spack command
|
||||||
|
# the loop condition is unreadable, but it means:
|
||||||
|
# while $1 is set (while there are arguments)
|
||||||
|
# and $1 starts with '-' (and the arguments are flags)
|
||||||
_sp_flags=""
|
_sp_flags=""
|
||||||
while [ "${1#-}" != "${1}" ]; do
|
while [ ! -z ${1+x} ] && [ "${1#-}" != "${1}" ]; do
|
||||||
_sp_flags="$_sp_flags $1"
|
_sp_flags="$_sp_flags $1"
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
@ -62,8 +65,9 @@ spack() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set the subcommand if there is one (if $1 is set)
|
||||||
_sp_subcommand=""
|
_sp_subcommand=""
|
||||||
if [ -n "$1" ]; then
|
if [ ! -z ${1+x} ]; then
|
||||||
_sp_subcommand="$1"
|
_sp_subcommand="$1"
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
@ -102,7 +106,7 @@ spack() {
|
|||||||
case $_sp_arg in
|
case $_sp_arg in
|
||||||
activate)
|
activate)
|
||||||
_a="$@"
|
_a="$@"
|
||||||
if [ -z "$1" ] || \
|
if [ -z ${1+x} ] || \
|
||||||
[ "${_a#*--sh}" != "$_a" ] || \
|
[ "${_a#*--sh}" != "$_a" ] || \
|
||||||
[ "${_a#*--csh}" != "$_a" ] || \
|
[ "${_a#*--csh}" != "$_a" ] || \
|
||||||
[ "${_a#*-h}" != "$_a" ];
|
[ "${_a#*-h}" != "$_a" ];
|
||||||
|
Loading…
Reference in New Issue
Block a user