1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
#!/bin/sh
# script to try combinations of workers and prefixes
grep ^kvmplutotest testing/pluto/TESTLIST \
| head -100 > testing/pluto/SHORTLIST
for workers in 1 2 3 4 5 ; do
p=""
for prefix in a. b. c. d. e. ; do
p="$p $prefix"
log="w=${workers}-p=$(echo $p | wc -w).log"
if test ! -r $log ; then
make 2>&1 kvm-install kvm-test \
KVM_WORKERS=${workers} \
"KVM_PREFIX=${p}" \
KVM_TESTS=testing/pluto/SHORTLIST \
| tee $log
fi
done
done
fields() {
failed=$(awk '/ failed: / { f=$4 } END { print f }' < $log)
start=$(awk '/run started at/ { print $NF }' < $log)
time=$(awk '/run finished at/ { print $NF }' < $log)
minutes=$(awk '/run finished at/ {
n = split($NF,t,":")
s = 0
for (i = 1; i < n; i++) {
s = s * 60 + t[i]
}
print s
}' < $log)
}
workers() {
ls *.log | sed -e 's/.*w=\([0-9]\).*/\1/' | sort -n -u
}
prefixes() {
ls *.log | sed -e 's/.*p=\([0-9]\).*/\1/' | sort -n -u
}
echo "Parallel Reboots vs Parallel Tests: Failures"
printf "Parallel Reboots"
for prefix in $(prefixes) ; do
printf ",$prefix Tests"
done
printf "\n"
for worker in $(workers) ; do
printf $worker
for log in *w=$worker*.log ; do
fields
printf ,$failed
done
printf '\n'
done
echo "Parallel Tests vs Parallel Reboots: Failures"
printf "Parallel Tests"
for worker in $(workers) ; do
printf ",$worker Reboots"
done
printf "\n"
for prefix in $(prefixes) ; do
printf $prefix
for log in *p=$prefix*.log ; do
fields
printf ,$failed
done
printf '\n'
done
echo "Parallel Reboots vs Parallel Tests: Time"
printf "Parallel Reboots"
for prefix in $(prefixes) ; do
printf ",$prefix Tests"
done
printf "\n"
for worker in $(workers) ; do
printf $worker
for log in *w=$worker*.log ; do
fields
printf ,$minutes
done
printf '\n'
done
echo "Parallel Tests vs Parallel Reboots: Time"
printf "Parallel Tests"
for worker in $(workers) ; do
printf ",$worker Reboots"
done
printf "\n"
for prefix in $(prefixes) ; do
printf $prefix
for log in *p=$prefix*.log ; do
fields
printf ,$minutes
done
printf '\n'
done
|