[CRIU] [PATCH 1/2] zdtm.sh: don't generate a test list if a test is specified

Andrew Vagin avagin at parallels.com
Fri Jan 23 03:39:27 PST 2015


These patches should be commited after "zdtm.sh: add ns/static/aio00,
ns/static/timerfd"

On Fri, Jan 23, 2015 at 02:20:19PM +0300, Andrey Vagin wrote:
> Signed-off-by: Andrey Vagin <avagin at openvz.org>
> ---
>  test/zdtm.sh | 569 ++++++++++++++++++++++++++++++-----------------------------
>  1 file changed, 287 insertions(+), 282 deletions(-)
> 
> diff --git a/test/zdtm.sh b/test/zdtm.sh
> index 709e227..71e0760 100755
> --- a/test/zdtm.sh
> +++ b/test/zdtm.sh
> @@ -18,291 +18,299 @@ ZP="zdtm/live"
>  
>  source $(readlink -f `dirname $0`/env.sh) || exit 1
>  
> -TEST_LIST="
> -static/pipe00
> -static/pipe01
> -static/pipe02
> -static/busyloop00
> -static/cwd00
> -static/cwd01
> -static/cwd02
> -static/env00
> -static/maps00
> -static/maps01
> -static/maps02
> -static/maps04
> -static/maps05
> -static/mlock_setuid
> -static/maps_file_prot
> -static/mprotect00
> -static/mtime_mmap
> -static/sleeping00
> -static/write_read00
> -static/write_read01
> -static/write_read02
> -static/write_read10
> -static/wait00
> -static/vdso00
> -static/sched_prio00
> -static/sched_policy00
> -static/file_shared
> -static/file_append
> -static/timers
> -static/posix_timers
> -static/futex
> -static/futex-rl
> -static/xids00
> -static/groups
> -static/pthread00
> -static/pthread01
> -static/umask00
> -streaming/pipe_loop00
> -streaming/pipe_shared00
> -transition/file_read
> -static/sockets00
> -static/sockets01
> -static/sockets02
> -static/sock_opts00
> -static/sock_opts01
> -static/sockets_spair
> -static/sockets_dgram
> -static/socket_queues
> -static/deleted_unix_sock
> -static/sk-unix-unconn
> -static/pid00
> -static/pstree
> -static/caps00
> -static/cmdlinenv00
> -static/socket_listen
> -static/socket_listen6
> -static/packet_sock
> -static/packet_sock_mmap
> -static/socket_udp
> -static/sock_filter
> -static/socket6_udp
> -static/socket_udplite
> -static/selfexe00
> -static/link10
> -static/unlink_fstat00
> -static/unlink_fstat01
> -static/unlink_fstat02
> -static/unlink_fstat03
> -static/unlink_mmap00
> -static/unlink_mmap01
> -static/unlink_mmap02
> -static/rmdir_open
> -static/eventfs00
> -static/signalfd00
> -static/inotify00
> -static/inotify_irmap
> -static/fanotify00
> -static/unbound_sock
> -static/fifo-rowo-pair
> -static/fifo-ghost
> -static/fifo
> -static/fifo_wronly
> -static/fifo_ro
> -static/unlink_fifo
> -static/unlink_fifo_wronly
> -static/zombie00
> -static/rlimits00
> -transition/fork
> -transition/fork2
> -transition/thread-bomb
> -static/pty00
> -static/pty01
> -static/pty04
> -static/tty02
> -static/tty03
> -static/console
> -static/vt
> -static/child_opened_proc
> -static/cow01
> -static/fpu00
> -static/fpu01
> -static/mmx00
> -static/sse00
> -static/sse20
> -static/pdeath_sig
> -static/fdt_shared
> -static/file_locks00
> -static/file_locks01
> -static/file_locks02
> -static/file_locks03
> -static/file_locks04
> -static/file_locks05
> -static/sigpending
> -static/sigaltstack
> -static/sk-netlink
> -static/proc-self
> -static/grow_map
> -static/grow_map02
> -static/grow_map03
> -static/stopped
> -static/chroot
> -static/chroot-file
> -static/rtc
> -transition/maps007
> -static/dumpable01
> -static/dumpable02
> -static/deleted_dev
> -"
> -
> -#
> -# Arch specific tests
> -if [ $ARCH = "x86_64" ]; then
> -	TEST_LIST_ARCH="
> -static/vdso01
> -"
> -fi
> -
> -TEST_LIST=$TEST_LIST$TEST_LIST_ARCH
> -
> -# Duplicate list with ns/ prefix
> -TEST_LIST=$TEST_LIST$(echo $TEST_LIST | tr ' ' '\n' | sed 's#^#ns/#')
> -
> -# These ones are not in ns
> -TEST_LIST="$TEST_LIST
> -static/file_fown
> -static/socket-ext
> -static/socket-tcp
> -static/socket-tcp6
> -streaming/socket-tcp
> -streaming/socket-tcp6
> -static/socket-tcpbuf
> -static/socket-tcpbuf-local
> -static/socket-tcpbuf6
> -static/pty03
> -static/mountpoints
> -ns/static/session00
> -ns/static/session01
> -ns/static/tempfs
> -ns/static/bind-mount
> -static/utsname
> -static/ipc_namespace
> -static/shm
> -static/msgque
> -static/sem
> -transition/ipc
> -static/netns-nf
> -static/netns
> -static/cgroup00
> -static/cgroup01
> -static/cgroup02
> -ns/static/clean_mntns
> -static/remap_dead_pid
> -"
> -
> -TEST_CR_KERNEL="
> -"
> -
> -TEST_MNTNS="
> -ns/static/mntns_open
> -ns/static/mntns_link_remap
> -ns/static/mntns_link_ghost
> -ns/static/mntns_shared_bind
> -ns/static/mntns_shared_bind02
> -ns/static/mntns_root_bind
> -"
> -
> -TEST_AIO="
> -static/aio00
> -ns/static/aio00
> -"
> -
> -TEST_TIMERFD="
> -static/timerfd
> -ns/static/timerfd
> -"
> +generate_test_list()
> +{
>  
> -TEST_TUN="
> -ns/static/tun
> -"
> +	check_mainstream || exit 1
> +
> +	TEST_LIST="
> +		static/pipe00
> +		static/pipe01
> +		static/pipe02
> +		static/busyloop00
> +		static/cwd00
> +		static/cwd01
> +		static/cwd02
> +		static/env00
> +		static/maps00
> +		static/maps01
> +		static/maps02
> +		static/maps04
> +		static/maps05
> +		static/mlock_setuid
> +		static/maps_file_prot
> +		static/mprotect00
> +		static/mtime_mmap
> +		static/sleeping00
> +		static/write_read00
> +		static/write_read01
> +		static/write_read02
> +		static/write_read10
> +		static/wait00
> +		static/vdso00
> +		static/sched_prio00
> +		static/sched_policy00
> +		static/file_shared
> +		static/file_append
> +		static/timers
> +		static/posix_timers
> +		static/futex
> +		static/futex-rl
> +		static/xids00
> +		static/groups
> +		static/pthread00
> +		static/pthread01
> +		static/umask00
> +		streaming/pipe_loop00
> +		streaming/pipe_shared00
> +		transition/file_read
> +		static/sockets00
> +		static/sockets01
> +		static/sockets02
> +		static/sock_opts00
> +		static/sock_opts01
> +		static/sockets_spair
> +		static/sockets_dgram
> +		static/socket_queues
> +		static/deleted_unix_sock
> +		static/sk-unix-unconn
> +		static/pid00
> +		static/pstree
> +		static/caps00
> +		static/cmdlinenv00
> +		static/socket_listen
> +		static/socket_listen6
> +		static/packet_sock
> +		static/packet_sock_mmap
> +		static/socket_udp
> +		static/sock_filter
> +		static/socket6_udp
> +		static/socket_udplite
> +		static/selfexe00
> +		static/link10
> +		static/unlink_fstat00
> +		static/unlink_fstat01
> +		static/unlink_fstat02
> +		static/unlink_fstat03
> +		static/unlink_mmap00
> +		static/unlink_mmap01
> +		static/unlink_mmap02
> +		static/rmdir_open
> +		static/eventfs00
> +		static/signalfd00
> +		static/inotify00
> +		static/inotify_irmap
> +		static/fanotify00
> +		static/unbound_sock
> +		static/fifo-rowo-pair
> +		static/fifo-ghost
> +		static/fifo
> +		static/fifo_wronly
> +		static/fifo_ro
> +		static/unlink_fifo
> +		static/unlink_fifo_wronly
> +		static/zombie00
> +		static/rlimits00
> +		transition/fork
> +		transition/fork2
> +		transition/thread-bomb
> +		static/pty00
> +		static/pty01
> +		static/pty04
> +		static/tty02
> +		static/tty03
> +		static/console
> +		static/vt
> +		static/child_opened_proc
> +		static/cow01
> +		static/fpu00
> +		static/fpu01
> +		static/mmx00
> +		static/sse00
> +		static/sse20
> +		static/pdeath_sig
> +		static/fdt_shared
> +		static/file_locks00
> +		static/file_locks01
> +		static/file_locks02
> +		static/file_locks03
> +		static/file_locks04
> +		static/file_locks05
> +		static/sigpending
> +		static/sigaltstack
> +		static/sk-netlink
> +		static/proc-self
> +		static/grow_map
> +		static/grow_map02
> +		static/grow_map03
> +		static/stopped
> +		static/chroot
> +		static/chroot-file
> +		static/rtc
> +		transition/maps007
> +		static/dumpable01
> +		static/dumpable02
> +		static/deleted_dev
> +	"
> +
> +	#
> +	# Arch specific tests
> +	if [ $ARCH = "x86_64" ]; then
> +		TEST_LIST_ARCH="
> +			static/vdso01
> +		"
> +	fi
>  
> -$CRIU check --feature "mnt_id"
> -if [ $? -eq 0 ]; then
> -	TEST_LIST="$TEST_LIST$TEST_MNTNS"
> -else
> -	export ZDTM_NOSUBNS=1
> -fi
> +	TEST_LIST=$TEST_LIST$TEST_LIST_ARCH
>  
> -$CRIU check --feature "aio_remap"
> -if [ $? -eq 0 ]; then
> -	TEST_LIST="$TEST_LIST$TEST_AIO"
> -fi
> +	# Duplicate list with ns/ prefix
> +	TEST_LIST=$TEST_LIST$(echo $TEST_LIST | tr ' ' '\n' | sed 's#^#ns/#')
>  
> -$CRIU check --feature "timerfd"
> -if [ $? -eq 0 ]; then
> -	TEST_LIST="$TEST_LIST$TEST_TIMERFD"
> -fi
> +	# These ones are not in ns
> +	TEST_LIST="$TEST_LIST
> +		static/file_fown
> +		static/socket-ext
> +		static/socket-tcp
> +		static/socket-tcp6
> +		streaming/socket-tcp
> +		streaming/socket-tcp6
> +		static/socket-tcpbuf
> +		static/socket-tcpbuf-local
> +		static/socket-tcpbuf6
> +		static/pty03
> +		static/mountpoints
> +		ns/static/session00
> +		ns/static/session01
> +		ns/static/tempfs
> +		ns/static/bind-mount
> +		static/utsname
> +		static/ipc_namespace
> +		static/shm
> +		static/msgque
> +		static/sem
> +		transition/ipc
> +		static/netns-nf
> +		static/netns
> +		static/cgroup00
> +		static/cgroup01
> +		static/cgroup02
> +		ns/static/clean_mntns
> +		static/remap_dead_pid
> +	"
> +
> +	TEST_CR_KERNEL="
> +	"
> +
> +	TEST_MNTNS="
> +		ns/static/mntns_open
> +		ns/static/mntns_link_remap
> +		ns/static/mntns_link_ghost
> +		ns/static/mntns_shared_bind
> +		ns/static/mntns_shared_bind02
> +		ns/static/mntns_root_bind
> +	"
> +
> +	TEST_AIO="
> +		static/aio00
> +		ns/static/aio00
> +	"
> +
> +	TEST_TIMERFD="
> +		static/timerfd
> +		ns/static/timerfd
> +	"
> +
> +	TEST_TUN="
> +		ns/static/tun
> +	"
> +
> +	$CRIU check --feature "mnt_id"
> +	if [ $? -eq 0 ]; then
> +		TEST_LIST="$TEST_LIST$TEST_MNTNS"
> +	else
> +		export ZDTM_NOSUBNS=1
> +	fi
>  
> -$CRIU check --feature "tun"
> -if [ $? -eq 0 ]; then
> -	TEST_LIST="$TEST_LIST$TEST_TUN"
> -fi
> +	$CRIU check --feature "aio_remap"
> +	if [ $? -eq 0 ]; then
> +		TEST_LIST="$TEST_LIST$TEST_AIO"
> +	fi
>  
> -BLACKLIST_FOR_USERNS="
> -ns/static/maps01
> -ns/static/mlock_setuid
> -ns/static/sched_prio00
> -ns/static/sched_policy00
> -ns/static/sockets00
> -ns/static/sockets01
> -ns/static/sockets02
> -ns/static/sock_opts00
> -ns/static/sock_opts01
> -ns/static/sockets_spair
> -ns/static/sockets_dgram
> -ns/static/socket_queues
> -ns/static/deleted_unix_sock
> -ns/static/sk-unix-unconn
> -ns/static/socket_listen
> -ns/static/socket_listen6
> -ns/static/packet_sock
> -ns/static/packet_sock_mmap
> -ns/static/socket_udp
> -ns/static/sock_filter
> -ns/static/socket6_udp
> -ns/static/socket_udplite
> -ns/static/inotify00
> -ns/static/inotify_irmap
> -ns/static/fanotify00
> -ns/static/unbound_sock
> -ns/static/fifo-ghost
> -ns/static/unlink_fifo
> -ns/static/unlink_fifo_wronly
> -ns/static/pty00
> -ns/static/pty01
> -ns/static/tty02
> -ns/static/tty03
> -ns/static/sk-netlink
> -ns/static/dumpable02
> -ns/static/deleted_dev
> -ns/static/tempfs
> -ns/static/clean_mntns
> -ns/static/mntns_link_remap
> -ns/static/mntns_link_ghost
> -ns/static/console
> -ns/static/vt
> -ns/static/rtc
> -ns/static/mntns_shared_bind
> -ns/static/mntns_shared_bind02
> -ns/static/mntns_root_bind
> -"
> +	$CRIU check --feature "timerfd"
> +	if [ $? -eq 0 ]; then
> +		TEST_LIST="$TEST_LIST$TEST_TIMERFD"
> +	fi
>  
> -# Add tests which can be executed in an user namespace
> -$CRIU check --feature "userns"
> -if [ $? -eq 0 ]; then
> -	blist=`mktemp /tmp/zdtm.black.XXXXXX`
> -	echo "$BLACKLIST_FOR_USERNS" | sort > $blist
> +	$CRIU check --feature "tun"
> +	if [ $? -eq 0 ]; then
> +		TEST_LIST="$TEST_LIST$TEST_TUN"
> +	fi
>  
> +	BLACKLIST_FOR_USERNS="
> +		ns/static/maps01
> +		ns/static/mlock_setuid
> +		ns/static/sched_prio00
> +		ns/static/sched_policy00
> +		ns/static/sockets00
> +		ns/static/sockets01
> +		ns/static/sockets02
> +		ns/static/sock_opts00
> +		ns/static/sock_opts01
> +		ns/static/sockets_spair
> +		ns/static/sockets_dgram
> +		ns/static/socket_queues
> +		ns/static/deleted_unix_sock
> +		ns/static/sk-unix-unconn
> +		ns/static/socket_listen
> +		ns/static/socket_listen6
> +		ns/static/packet_sock
> +		ns/static/packet_sock_mmap
> +		ns/static/socket_udp
> +		ns/static/sock_filter
> +		ns/static/socket6_udp
> +		ns/static/socket_udplite
> +		ns/static/inotify00
> +		ns/static/inotify_irmap
> +		ns/static/fanotify00
> +		ns/static/unbound_sock
> +		ns/static/fifo-ghost
> +		ns/static/unlink_fifo
> +		ns/static/unlink_fifo_wronly
> +		ns/static/pty00
> +		ns/static/pty01
> +		ns/static/tty02
> +		ns/static/tty03
> +		ns/static/sk-netlink
> +		ns/static/dumpable02
> +		ns/static/deleted_dev
> +		ns/static/tempfs
> +		ns/static/clean_mntns
> +		ns/static/mntns_link_remap
> +		ns/static/mntns_link_ghost
> +		ns/static/console
> +		ns/static/vt
> +		ns/static/rtc
> +		ns/static/mntns_shared_bind
> +		ns/static/mntns_shared_bind02
> +		ns/static/mntns_root_bind
> +	"
> +
> +	# Add tests which can be executed in an user namespace
> +	$CRIU check --feature "userns"
> +	if [ $? -eq 0 ]; then
> +		blist=`mktemp /tmp/zdtm.black.XXXXXX`
> +		echo "$BLACKLIST_FOR_USERNS" | tr -d "[:blank:]" | sort > $blist
> +
> +
> +		TEST_LIST="$TEST_LIST
> +		`echo "$TEST_LIST" | tr -d "[:blank:]" | grep "^ns/" | sort | \
> +		diff --changed-group-format="%<" --unchanged-group-format="" - $blist | \
> +		sed s#ns/#ns/user/#`"
> +		unlink $blist
> +	fi
>  
> -	TEST_LIST="$TEST_LIST
> -	`echo "$TEST_LIST" | grep "^ns/" | sort | \
> -	diff --changed-group-format="%<" --unchanged-group-format="" - $blist | \
> -	sed s#ns/#ns/user/#`"
> -	unlink $blist
> -fi
> +	TEST_LIST=$(echo $TEST_LIST | tr " " "\n")
> +}
>  
>  TEST_SUID_LIST="
>  pid00
> @@ -1037,7 +1045,8 @@ while :; do
>  		shift
>  		;;
>  	  -l)
> -		echo $TEST_LIST | tr ' ' '\n' >&3
> +		generate_test_list
> +		echo "$TEST_LIST" >&3
>  		exit 0
>  		;;
>  	  -v)
> @@ -1055,7 +1064,6 @@ while :; do
>  			# pidns is used to avoid conflicts
>  			# mntns is used to mount /proc
>  			# net is used to avoid conflicts of parasite sockets
> -			make zdtm_ct &&
>  			./zdtm_ct ./zdtm.sh "$@"
>  			exit
>  		}
> @@ -1088,16 +1096,13 @@ if [ $SPECIFIED_NAME_USED -eq 1 ]; then
>  	fi
>  	run_test $1 || case_error $1
>  else
> -	if [ $COMPILE_ONLY -eq 0 ]; then
> -		check_mainstream || exit 1
> -	fi
> -
>  	if [ $# -eq 0 ]; then
>  		pattern='.*'
>  	else
>  		pattern=$1
>  	fi
>  
> +	generate_test_list
>  	for t in $(echo "$TEST_LIST" | grep -x "$pattern"); do
>  		run_test $t || case_error $t
>  	done
> -- 
> 1.9.3
> 


More information about the CRIU mailing list