mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-02-06 11:09:13 +00:00
Detect Solaris and use GNU versions of awk, sed and grep.
Don't use %N as a date format unless we're on Linux. Avoid using GNUisms with cmp & sort.
This commit is contained in:
parent
bc6681f4d7
commit
9f22073ab6
@ -379,7 +379,7 @@ get_servald_pids() {
|
|||||||
fi
|
fi
|
||||||
local mypid=$$
|
local mypid=$$
|
||||||
# XXX The following line will not find any PIDs if there are spaces in "$servald".
|
# XXX The following line will not find any PIDs if there are spaces in "$servald".
|
||||||
local pids=$(ps -u$UID -o pid,args | awk -v mypid="$mypid" -v servald="$servald" '$1 != mypid && $2 == servald {print $1}')
|
local pids=$(ps -u$UID -o pid,args | $AWK -v mypid="$mypid" -v servald="$servald" '$1 != mypid && $2 == servald {print $1}')
|
||||||
[ -n "$var" ] && eval "$var=($pids)"
|
[ -n "$var" ] && eval "$var=($pids)"
|
||||||
[ -n "$pids" ]
|
[ -n "$pids" ]
|
||||||
}
|
}
|
||||||
@ -427,7 +427,7 @@ create_identity() {
|
|||||||
executeOk_servald keyring add
|
executeOk_servald keyring add
|
||||||
assert [ -e "$SERVALINSTANCE_PATH/serval.keyring" ]
|
assert [ -e "$SERVALINSTANCE_PATH/serval.keyring" ]
|
||||||
executeOk_servald keyring list
|
executeOk_servald keyring list
|
||||||
SID=$(replayStdout | sed -ne "1s/^\($rexp_sid\):.*\$/\1/p")
|
SID=$(replayStdout | $SED -ne "1s/^\($rexp_sid\):.*\$/\1/p")
|
||||||
assert --message='main identity known' [ -n "$SID" ]
|
assert --message='main identity known' [ -n "$SID" ]
|
||||||
DID="${1-$((5550000 + $instance_number))}"
|
DID="${1-$((5550000 + $instance_number))}"
|
||||||
NAME="${2-Agent $instance_name Smith}"
|
NAME="${2-Agent $instance_name Smith}"
|
||||||
|
@ -54,10 +54,23 @@
|
|||||||
# }
|
# }
|
||||||
# runTests "$@"
|
# runTests "$@"
|
||||||
|
|
||||||
# abspath isn't available on Solaris
|
AWK=awk
|
||||||
type abspath 2>/dev/null
|
SED=sed
|
||||||
if [ $? -ne 0 ]; then
|
GREP=grep
|
||||||
|
TSFMT='+%Y-%m-%d %H:%M:%S'
|
||||||
|
|
||||||
|
SYSTYPE=`uname -s`
|
||||||
|
if [ $SYSTYPE = "SunOS" ]; then
|
||||||
abspath () { case "$1" in /*)printf "%s\n" "$1";; *)printf "%s\n" "$PWD/$1";; esac; }
|
abspath () { case "$1" in /*)printf "%s\n" "$1";; *)printf "%s\n" "$PWD/$1";; esac; }
|
||||||
|
|
||||||
|
AWK=gawk
|
||||||
|
SED=gsed
|
||||||
|
GREP=ggrep
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $SYSTYPE = "Linux" ]; then
|
||||||
|
# Get nanosecond resolution
|
||||||
|
TSFMT='+%Y-%m-%d %H:%M:%S.%N'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
@ -262,7 +275,7 @@ runTests() {
|
|||||||
} >"$_tfw_logdir/$testNumber.$testName.$result"
|
} >"$_tfw_logdir/$testNumber.$testName.$result"
|
||||||
exit 0
|
exit 0
|
||||||
) </dev/null &
|
) </dev/null &
|
||||||
local job=$(jobs %% | sed -n -e '1s/^\[\([0-9]\{1,\}\)\].*/\1/p')
|
local job=$(jobs %% | $SED -n -e '1s/^\[\([0-9]\{1,\}\)\].*/\1/p')
|
||||||
_tfw_running_jobs+=($job)
|
_tfw_running_jobs+=($job)
|
||||||
_tfw_job_pgids[$job]=$(jobs -p %%)
|
_tfw_job_pgids[$job]=$(jobs -p %%)
|
||||||
ln -f -s "$_tfw_results_dir/$testName" "$_tfw_results_dir/job-$job"
|
ln -f -s "$_tfw_results_dir/$testName" "$_tfw_results_dir/job-$job"
|
||||||
@ -730,7 +743,7 @@ _tfw_abspath() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_tfw_timestamp() {
|
_tfw_timestamp() {
|
||||||
local ts=$(date '+%Y-%m-%d %H:%M:%S.%N')
|
local ts=$(date "$TSFMT")
|
||||||
echo "${ts%[0-9][0-9][0-9][0-9][0-9][0-9]}"
|
echo "${ts%[0-9][0-9][0-9][0-9][0-9][0-9]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -829,7 +842,7 @@ _tfw_execute() {
|
|||||||
_tfw_parse_times_to_milliseconds() {
|
_tfw_parse_times_to_milliseconds() {
|
||||||
local label="$1"
|
local label="$1"
|
||||||
local var="$2"
|
local var="$2"
|
||||||
local milliseconds=$(awk '$1 == "'"$label"'" {
|
local milliseconds=$($AWK '$1 == "'"$label"'" {
|
||||||
value = $2
|
value = $2
|
||||||
minutes = 0
|
minutes = 0
|
||||||
if (match(value, "[0-9]+m")) {
|
if (match(value, "[0-9]+m")) {
|
||||||
@ -941,7 +954,7 @@ _tfw_matches_rexp() {
|
|||||||
local rexp="$1"
|
local rexp="$1"
|
||||||
shift
|
shift
|
||||||
for arg; do
|
for arg; do
|
||||||
if ! echo "$arg" | grep -q -e "$rexp"; then
|
if ! echo "$arg" | $GREP -q -e "$rexp"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -1000,11 +1013,11 @@ _tfw_assert_stdxxx_is() {
|
|||||||
fi
|
fi
|
||||||
case "$_tfw_opt_line" in
|
case "$_tfw_opt_line" in
|
||||||
'') ln -f "$_tfw_tmp/$qual" "$_tfw_tmp/content";;
|
'') ln -f "$_tfw_tmp/$qual" "$_tfw_tmp/content";;
|
||||||
*) sed -n -e "${_tfw_opt_line}p" "$_tfw_tmp/$qual" >"$_tfw_tmp/content";;
|
*) $SED -n -e "${_tfw_opt_line}p" "$_tfw_tmp/$qual" >"$_tfw_tmp/content";;
|
||||||
esac
|
esac
|
||||||
local message="${_tfw_message:-${_tfw_opt_line:+line $_tfw_opt_line of }$qual of ($executed) is $(shellarg "$@")}"
|
local message="${_tfw_message:-${_tfw_opt_line:+line $_tfw_opt_line of }$qual of ($executed) is $(shellarg "$@")}"
|
||||||
echo -n "$@" >$_tfw_tmp/stdxxx_is.tmp
|
echo -n "$@" >$_tfw_tmp/stdxxx_is.tmp
|
||||||
if ! cmp --quiet $_tfw_tmp/stdxxx_is.tmp "$_tfw_tmp/content"; then
|
if ! cmp -s $_tfw_tmp/stdxxx_is.tmp "$_tfw_tmp/content"; then
|
||||||
_tfw_failmsg "assertion failed: $message"
|
_tfw_failmsg "assertion failed: $message"
|
||||||
_tfw_backtrace
|
_tfw_backtrace
|
||||||
return 1
|
return 1
|
||||||
@ -1056,7 +1069,7 @@ _tfw_assert_grep() {
|
|||||||
_tfw_error "$file is not readable"
|
_tfw_error "$file is not readable"
|
||||||
ret=$?
|
ret=$?
|
||||||
else
|
else
|
||||||
local matches=$(( $(grep --regexp="$pattern" "$file" | wc -l) + 0 ))
|
local matches=$(( $($GREP --regexp="$pattern" "$file" | wc -l) + 0 ))
|
||||||
local done=false
|
local done=false
|
||||||
local ret=0
|
local ret=0
|
||||||
local info="$matches match"$([ $matches -ne 1 ] && echo "es")
|
local info="$matches match"$([ $matches -ne 1 ] && echo "es")
|
||||||
@ -1167,10 +1180,10 @@ _tfw_find_tests() {
|
|||||||
_tfw_shopt oo -s extdebug
|
_tfw_shopt oo -s extdebug
|
||||||
local name
|
local name
|
||||||
for name in $(builtin declare -F |
|
for name in $(builtin declare -F |
|
||||||
sed -n -e '/^declare -f test_[A-Za-z]/s/^declare -f test_//p' |
|
$SED -n -e '/^declare -f test_[A-Za-z]/s/^declare -f test_//p' |
|
||||||
while read name; do builtin declare -F "test_$name"; done |
|
while read name; do builtin declare -F "test_$name"; done |
|
||||||
sort --key 2,2n --key 3,3 |
|
sort -k 2,2n -k 3,3 |
|
||||||
sed -e 's/^test_//' -e 's/[ ].*//')
|
$SED -e 's/^test_//' -e 's/[ ].*//')
|
||||||
do
|
do
|
||||||
local number=$((${#_tfw_tests[*]} + 1))
|
local number=$((${#_tfw_tests[*]} + 1))
|
||||||
local testName=
|
local testName=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user