537532931d
This makes a bunch of variable cleanups that will let -o nounset function, for the time being we hide nounset behind another setting variable so that it's not on by default. Because this is bash, and things are only executed on demand, this probably only works in the config it was run in. Expect cleaning up all the paths to be something that takes quite a while. This also includes a new set of unit tests around the trueorfalse function, because my change in how it worked, didn't. Tests are good m'kay. Change-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d
40 lines
1.1 KiB
Bash
40 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# we always start with no errors
|
|
ERROR=0
|
|
FAILED_FUNCS=""
|
|
|
|
function assert_equal {
|
|
local lineno=`caller 0 | awk '{print $1}'`
|
|
local function=`caller 0 | awk '{print $2}'`
|
|
local msg=$3
|
|
if [[ "$1" != "$2" ]]; then
|
|
FAILED_FUNCS+="$function:L$lineno\n"
|
|
echo "ERROR: $1 != $2 in $function:L$lineno!"
|
|
echo " $msg"
|
|
ERROR=1
|
|
else
|
|
echo "$function:L$lineno - ok"
|
|
fi
|
|
}
|
|
|
|
function report_results {
|
|
if [[ $ERROR -eq 1 ]]; then
|
|
echo "Tests FAILED"
|
|
echo $FAILED_FUNCS
|
|
exit 1
|
|
fi
|
|
}
|