[CRIU] [PATCH 3/3] zdtm: execute tests on non C/R kernel
Pavel Emelyanov
xemul at parallels.com
Thu Nov 29 07:57:11 EST 2012
On 11/29/2012 04:43 PM, Andrey Vagin wrote:
> * add exclude list. Tests from this list are executed only on C/R kernels
> * check that a version of a kernel is greater than 3.7
>
> Signed-off-by: Andrey Vagin <avagin at openvz.org>
> ---
> test/zdtm.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
>
> diff --git a/test/zdtm.sh b/test/zdtm.sh
> index d1fcfb8..496a2a5 100644
> --- a/test/zdtm.sh
> +++ b/test/zdtm.sh
> @@ -2,6 +2,27 @@
>
> ZP="zdtm/live"
>
> +TEST_CR_KERNEL="
> +static/sockets00
> +static/sockets01
> +static/sock_opts01
> +static/sockets_spair
> +static/sockets_dgram
> +static/socket_queues
> +static/sk-unix-unconn
> +static/cmdlinenv00
> +static/socket_listen
> +static/socket_listen6
> +static/packet_sock
> +static/socket_udp
> +static/sock_filter
> +static/socket6_udp
> +static/socket_udplite
Why all sockets tests are not "included"?
> +static/eventfs00
> +static/signalfd00
> +static/inotify00
> +"
> +
> TEST_LIST="
> static/pipe00
> static/pipe01
> @@ -110,6 +131,19 @@ static/sem
> transition/ipc
> "
>
> +TEST_CR_KERNEL="
> +static/sock_opts01 # getsockopt(SO_BINDTODEVICE)
> +static/sockets01 # shutdown
> +static/sock_filter # getsockopt(SO_GET_FILTER)
> +static/socket-tcp6
> +streaming/socket-tcp6
> +static/socket-tcpbuf6
> +static/eventfs00
> +static/signalfd00
> +static/inotify00
> +$IPC_TEST_LIST
> +"
> +
> CRTOOLS=`pwd`/`dirname $0`/../crtools
> TINIT=`pwd`/`dirname $0`/zdtm/lib/test_init
> test -x $CRTOOLS || exit 1
> @@ -121,6 +155,32 @@ PIDNS=""
>
> ITERATIONS=1
>
> +check_mainstream()
> +{
> + local -a ver_arr
> + local ver_str=`uname -r`
> +
> + $CRTOOLS check && return 0
> + MAINSTREAM_KERNEL=1
> +
> + cat >&2 <<EOF
> +============================= WARNING =============================
> +Not all C/R features are commited in the meainstream kernel.
> +Linux C/R can be cloned from:
> +git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git
> +===================================================================
> +EOF
> +
> + ver_arr=(`echo ${ver_str//./ }`)
> +
> + [ "${ver_arr[0]}" -gt 3 ] && return 0
> + [[ "${ver_arr[0]}" -eq 3 && "${ver_arr[1]}" -ge 7 ]] && return 0
> +
> + echo "A version of kernel should be greater or equal to 3.7"
> +
> + return 0;
> +}
> +
> umount_zdtm_root()
> {
> [ -z "$ZDTM_ROOT" ] && return;
> @@ -214,6 +274,11 @@ run_test()
> {
> local test=$1
>
> + [ -n "$MAINSTREAM_KERNEL" ] && echo $TEST_CR_KERNEL | grep -q ${test#ns/} && {
> + echo "Skip $test"
> + return 0
> + }
> +
> expr "$test" : 'ns/' > /dev/null && PIDNS=1 || PIDNS=""
> test=${ZP}/${test#ns/}
>
> @@ -345,6 +410,9 @@ while :; do
> done
>
> if [ $# -eq 0 ]; then
> +
> + check_mainstream || exit 1
> +
> for t in $TEST_LIST; do
> run_test $t || case_error $t
> done
>
More information about the CRIU
mailing list