* testsuite/config-sub.sh (run_one_config_sub): New.

(run_one_config_sub_idempotent): Likewise.
	(run_config_sub): Parallelise test cases.
	(run_config_sub_idempotent): Likewise.
This commit is contained in:
Ben Elliston 2019-03-23 16:59:09 +11:00
parent fe616913d7
commit 8999a781ce
2 changed files with 63 additions and 16 deletions

View File

@ -1,3 +1,10 @@
2019-03-23 Ben Elliston <bje@gnu.org>
* testsuite/config-sub.sh (run_one_config_sub): New.
(run_one_config_sub_idempotent): Likewise.
(run_config_sub): Parallelise test cases.
(run_config_sub_idempotent): Likewise.
2019-03-08 YunQiang Su <ysu@wavecomp.com> 2019-03-08 YunQiang Su <ysu@wavecomp.com>
* config.guess (mips:Linux:*:*): Detect ISA R6. * config.guess (mips:Linux:*:*): Detect ISA R6.

View File

@ -11,39 +11,79 @@
set -eu set -eu
shopt -s lastpipe shopt -s lastpipe
verbose=false verbose=false
maxprocs=16
# Run a single config.sub invocation.
run_one_config_sub()
{
alias=$1
canonical=$2
output=$(sh -eu ../config.sub "$alias")
if test "$output" != "$canonical" ; then
echo "FAIL: $alias -> $output, but expected $canonical"
return 1
else
$verbose && echo "PASS: $alias -> $canonical"
fi
return 0
}
run_config_sub() run_config_sub()
{ {
local -i rc=0 local -i rc=0 jobs=0
numtests=0 numtests=0
name="checks" name="checks"
while read -r alias canonical ; do while read -r alias canonical ; do
output=$(sh -eu ../config.sub "$alias") run_one_config_sub "$alias" "$canonical" &
if test "$output" != "$canonical" ; then numtests+=1 jobs+=1
echo "FAIL: $alias -> $output, but expected $canonical" if [ $jobs -eq $maxprocs ] ; then
rc=1 for pid in $(jobs -p) ; do
else wait "$pid"
$verbose && echo "PASS: $alias -> $canonical" rc=$((rc || $?))
done
jobs=0
fi fi
numtests+=1
done < config-sub.data done < config-sub.data
for pid in $(jobs -p) ; do
wait "$pid"
rc=$((rc || $?))
done
return $rc return $rc
} }
# Run a single config.sub invocation for idempotency checks.
run_one_config_sub_idempotent()
{
canonical=$1
output=$(sh -eu ../config.sub "$canonical")
if test "$output" != "$canonical" ; then
echo "FAIL: $canonical -> $output, but $canonical should map to itself"
return 1
else
$verbose && echo "PASS: $canonical -> $canonical"
fi
return 0
}
run_config_sub_idempotent() run_config_sub_idempotent()
{ {
local -i rc=0 local -i rc=0 jobs=0
numtests=0 numtests=0
name="idempotency checks" name="idempotency checks"
sed -r 's/\t+/\t/g' < config-sub.data | cut -f 2 | uniq | while read -r canonical ; do sed -r 's/\t+/\t/g' < config-sub.data | cut -f 2 | uniq | while read -r canonical ; do
output=$(sh -eu ../config.sub "$canonical") run_one_config_sub_idempotent "$canonical" &
if test "$output" != "$canonical" ; then numtests+=1 jobs+=1
echo "FAIL: $canonical -> $output, but $canonical should map to itself" if [ $jobs -eq $maxprocs ] ; then
rc=1 for pid in $(jobs -p) ; do
else wait "$pid"
$verbose && echo "PASS: $canonical -> $canonical" rc=$((rc || $?))
done
jobs=0
fi fi
numtests+=1 done
for pid in $(jobs -p) ; do
wait "$pid"
rc=$((rc || $?))
done done
return $rc return $rc
} }