[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