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
|
#!/bin/bash
topdir="${CURTIN_VMTEST_TOPDIR:-${WORKSPACE:-$PWD}/output}"
pkeep=${CURTIN_VMTEST_KEEP_DATA_PASS:-logs,collect}
fkeep=${CURTIN_VMTEST_KEEP_DATA_FAIL:-logs,collect}
export CURTIN_VMTEST_KEEP_DATA_PASS=$pkeep
export CURTIN_VMTEST_KEEP_DATA_FAIL=$fkeep
export CURTIN_VMTEST_TOPDIR="$topdir"
export CURTIN_VMTEST_LOG="${CURTIN_VMTEST_LOG:-$topdir/debug.log}"
export CURTIN_VMTEST_PARALLEL=${CURTIN_VMTEST_PARALLEL:-0}
export IMAGE_DIR=${IMAGE_DIR:-/srv/images}
fail() { echo "$@" 1>&2; exit 1; }
if [ -d "$topdir" ]; then
fail "topdir '$topdir' existed."
fi
mkdir -p "$topdir" || fail "failed mkdir $topdir"
start_s=$(date +%s)
parallel=${CURTIN_VMTEST_PARALLEL}
ntargs=( )
while [ $# -ne 0 ]; do
case "$1" in
-p|--parallel) parallel="$2"; shift;;
--parallel=*) parallel=${1#*=};;
-p[0-9]|-p-1|-p[0-9][0-9]) parallel=${1#-p};;
--)
shift
break
;;
*) ntargs[${#ntargs[@]}]="$1";;
esac
shift;
done
CURTIN_VMTEST_PARALLEL=$parallel
if [ ${#ntargs[@]} -eq 0 ]; then
set -- -vv --nologcapture tests/vmtests/
fi
# dump CURTIN* variables just for info
for v in ${!CURTIN_*}; do
echo "$v=${!v}"
done
ntargs=( "${ntargs[@]}" "$@" )
pargs=( )
if [ -n "$parallel" -a "$parallel" != "0" -a "$parallel" != "1" ]; then
pargs=( --process-timeout=86400 "--processes=$parallel" )
fi
# avoid LOG info by running python3 tests/vmtests/image_sync.py
# rather than python3 -m tests.vmtests.image_sync (LP: #1594465)
echo "Working with images in $IMAGE_DIR"
fmt=" %(release)-7s %(arch)s/%(subarch)s %(version_name)-10s"
PYTHONPATH="$PWD" python3 tests/vmtests/image_sync.py query \
--output-format="$fmt" "$IMAGE_DIR" ftype=root-image.gz ||
{ echo "WARNING: error querying images in $IMAGE_DIR" 1>&2; }
echo "$(date -R): vmtest start: nosetests3 ${pargs[*]} ${ntargs[*]}"
nosetests3 "${pargs[@]}" "${ntargs[@]}"
ret=$?
end_s=$(date +%s)
echo "$(date -R): vmtest end [$ret] in $(($end_s-$start_s))s"
exit $ret
# vi: ts=4 expandtab syntax=sh
|